Multi-Brain HyperNEAT Experiments in the Two Rooms 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
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
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.