Return to Dr. Jacob Schrum's Homepage

Multi-Brain HyperNEAT Experiments in the Two Rooms 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. Like the dual task domain, the two rooms domain requires hallway navigation and foraging. However, these tasks are no longer isolated. Instead, two large foraging rooms are separated from each other by a convoluted hallway requiring navigation. Each room is filled with waypoints that the robot must visit in order, while the hallway contains invisible breadcrumbs that cannot be sensed, but reward progressing through the hallway. The robot's sensors and substrate are the same as in the dual task. The pie-slice sensors allow the robot to forage in the rooms, and the rangefinders are crucical for navigating the hallway. The videos on this page can be viewed in a playlist here.

Two Rooms: One Module (1M) - Failure

This robot with one module does not successfully complete the two rooms task because it hits a wall in the hallway, which causes evaluation to end in this domain. Failure to succeed in this domain is common for one module champions because of the complexity of the task.

Two Rooms: One Module (1M) - Success

Although most one module champions fail in the two rooms domain, this robot demonstrates that it is possible for a champion with just one controller to succeed, though this outcome is not the norm.

Two Rooms: Situational Policy Geometry (SPG)

Although there is no clear distinction between tasks, it is possible to dictate that the robot have one controller for when it is in the hallway and another controller for when it is in one of the rooms. Situational policy geometry requires these networks to be produced using situation inputs into the CPPN, so values of 0 and 1 are arbitrarily used for the hallway and room tasks. The result is a champion that is able to reach the second room, but its foraging behavior is so inefficient (constantly spiraling toward each way point) that it runs out of time before visiting all way points. Being constrained to have a geometric relation between each controller has a negative impact on behavior in this domain.

Two Rooms: Two Modules with preference neurons (2M)

This two module CPPN produces a robot that completes the task, despite its inefficient spiraling behavior while collecting food in each room. The robot has two controllers that it switches between based on preference neuron activation. The red controller is used to collect food in each room, but when in the hallway the robot thrashes back and forth between red and green to help navigate.

Two Rooms: Three Modules with preference neurons (3M)

This three module CPPN uses two of its controllers, but performs very poorly. In the first room it uses the red controller to go forward and the blue controller to adjust course. However, when trying to re-enter the hallway it gets sidetracked and follows the left wall for a while, wasting time. Once it finally gets in the hallway, it ends up colliding with a wall, which ends evlauation early.

Two Rooms: Module Mutation Duplicate (MM(D))

This champion visits all but the last way point. It runs out of time because of a massive detour it takes in the first room: after visiting each way point, it circles the perimeter of the room in order to find and enter the hallway. From that point onward, its behavior is good. Most of its behavior is produced by the red controller, though the robot makes thrashing use of a green and blue controller as well. There are also several unused controllers, though this kind of waste is common when using module mutation duplicate (and other forms of module mutation).

Two Rooms: Module Mutation Previous (MM(P))

Despite producing many unused controllers, module mutation previous is consistently successful in this domain. This particular champion only uses two of its many controllers, but these controllers are used intelligently: the red controller is primarily concerned with food collection in each of the two rooms. The green controller thrashes back and forth with red to help the robot navigate the hallway. These are the only controllers used, but the robot gets a perfect score with time to spare.

Two Rooms: Module Mutation Random (MM(R))

This champion progresses steadly toward each way point, but with a slow stuttering motion that ultimately prevents it from reaching the final way point within the time limit. Although module mutation random provides this robot with seven controllers, it uses only one (blue) to earn its almost perfect score.

Two Rooms: Multitask (MT)

Although this domain is not divided into separate tasks, it can be broken up into food collection within each room, and hallway navigation. The multitask CPPN has one output module that creates a network used in the hallway, and another output module that creates a network for collecting food in each of the two rooms. The result is a robot that quickly visits all way points to get a perfect fitness score.

Last Updated: 3/26/2016