The subsumption architecture originally developed by Brooks in 1986 provided a method for structuring reactive systems from the bottom up using layered sets of rules. (Brooks 1986) Bottom-layer behaviors such as avoid-collision should be the most basic and should have the highest priority. Top-layer behaviors such as “go to goal” encapsulate high-level-intention and may be built from lower behaviors or may function only when lower behaviors such as “avoid collision” are satisfied. To reduce complexity, there should be minimal interaction between behaviors. The idea is that each should function simultaneously but asynchronously with no dependence on the others. This independence should reduce interference between behaviors and prevent overcomplexity.
Successes using subsumption architectures include six-legged walking robots, vacuuming agents and robots that collect cans. The layered approach promotes the fault tolerance and robustness necessary for such agents. For instance, although a robot designer cannot accurately predict component failure, a well-designed subsumption architecture will allow behaviors to sequence and re-sequence according to unforeseen problems. Subsumption architectures do not require an explicit plan of action.
Clearly, one of the biggest challenges in designing a subsumption architecture is giving the system the ability to automatically select among behaviors (arbitration). While the ability to assign priorities to behaviors already affords some organization, it is necessary to have a program that can smoothly transition between states. For instance, a robot that has finished vacuuming a room must end some behaviors and begin some others before it can exit and dump its trash. The situated automata strategy developed by Rosenschein and Kaelbling in 1990 produced a reactive system where finite state automata are used to identify and react to discrete events. Other possibilities include a winner-take-all approach where spreading activation converges to a specific behavior or a voting architecture such as DAMN, where each behavior has some voice in deciding a single output.