Building an intelligent robot controller
Let's see how to build a robot controller using a GA. We are given a map with targets sprinkled all over it.
The map looks like this. The hashes represent the targets that the robot needs to hit:
Figure 11: A map with targets that an AI robot needs to hit, with targets represented by hashes
There are 124 targets in the preceding map. The goal of the robot controller is to automatically traverse the map and consume all those targets. This program is a variant of the artificial ant program given in the deap
library.
Create a new Python file and import the following:
import copy
import random
from functools import partial
import numpy as np
from deap import algorithms, base, creator, tools, gp
Create the class to control the robot:
class RobotController(object):
def __init__(self, max_moves):
self.max_moves = max_moves
self.moves = 0
self.consumed = 0
...