Return to Dr. Jacob Schrum's Homepage

Multi-Brain HyperNEAT Experiments in the Dual Task domain

Multi-Brain HyperNEAT is a software framework that extends HyperNEAT to evolve agents that possess multiple brains. Different brains can be used in different situations, making it easy to evolve multimodal behavior. The dual task domain consists of two isolated tasks, hallway navigation and foraging, where performance and ideal behaviors in each task are unrelated. 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 point.

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.

Last Updated: 3/26/2016