Multi-Brain HyperNEAT Experiments in the Dual Task domain
is a software framework that extends
to evolve agents that possess multiple brains. Different brains can
be used in different situations, making it easy to evolve multimodal
The dual task domain
consists of two isolated tasks,
hallway navigation and foraging, where
performance and ideal behaviors in each task
In the navigation task,
the robot must navigate from its starting position to the
end of a hallway using rangefinder sensors.
In the foraging task the robot must
visit a sequence of waypoints in order in
a rectangular room.
Four pie-slice sensors act as a compass towards
each next waypoint.
The videos on this page can be viewed in a playlist here.
Dual Task: One Module (1M)
The one module network is able to get a perfect score in the two tasks because
fitness is measured solely based on whether the way points are reached.
The time taken to reach the way points is not taken into account, so slight
inefficiencies in the hallway navigation task are forgiven. However, it took
many more generations of evolution to reach this perfect behavior than it takes
with modular approaches.
Dual Task: Situational Policy Geometry (SPG)
Situational policy geometry applies a different network to solve each task,
although the two tasks are not related in any kind of geometric sense. The CPPN
takes a different situation input to create each controller network, and in this
case the situation inputs are arbitrarily set to 0 for hallway navigation and 1 for
foraging. Although there is no clear sense behind this geometry, the networks are
able to solve their respective tasks.
Dual Task: Two Modules with preference neurons (2M)
This robot has two modules that it can switch between according to
its preference neurons. The exact same modules are available in each
task, but are used differently in each. Hallway navigation mostly uses
the green controller, but sometimes used the red as well. In the foraging task,
the robot behaves in the opposite manner, using the red controller a majority of
the time, but still using the green one sometimes as well.
Dual Task: Three Modules with preference neurons (3M)
This robot has three network controllers that it can use in the two tasks.
In the hallway navigation task the robot uses all three controllers, but primarily
the green controller. The robot also thrashes back and forth between red and blue,
mostly to turn around corners. In the foraging task, the green controller is used
until a way point is reached, and then the red controller takes over to orient the
robot toward the next way point. The blue controller is not used in the foraging task.
Dual Task: Module Mutation Duplicate (MM(D))
Despite producing 18 network controllers via module mutation duplicate,
this robot solves both tasks using a single controller (represented by the color blue).
This champion is a stark example of how module mutation can get out of control making
completely unused modules.
Dual Task: Module Mutation Previous (MM(P))
Though module mutation previous produced nine controllers for this champion,
only two are used: red and green. In the hallway task, red is used the most,
but the robot gets stuck in several places and uses the green controller to
wiggle free until it reaches the end of the hall. The red controller is also
most used in the foraging task, but the green task helps the robot adjust
course to focus on the next way point.
Dual Task: Module Mutation Random (MM(R))
This champion is another example of module mutation producing several modules
but using only two. The hallway is navigated by simply switching back and forth
between red and green controllers. In the foraging task, the red controller turns
the robot to each way point, and the green controller moves it forward to each way
Dual Task: Multitask (MT)
Multitask CPPNs create a separate controller dedicated to each task,
allowing it to solve the task faster and more reliably than any other method.
Multitask does even better than situational policy geometry, because it does not
impose a geometric relation between the controllers. The spiraling behaving used
in the hallway task is inelegant but effective, because the fitness function only
rewards reaching the goal with no regard for the efficiency of the route.