Page 110 - Introduction to AI Robotics
P. 110
93
3.5 Schema Theory
A behavior can be represented as a schema, which is essentially an object-
oriented programming construct.
A behavior is activated by releasers.
The transformation of sensory inputs into motor action outputs can be
divided into two sub-processes: a perceptual schema and a motor schema.
In OOP terms, the motor schema and perceptual schema classes are de-
rived from the schema class. A primitive behavior just has one motor and
one perceptual schema.
Behavior::Schema
Data
Methods perceptual_schema()
motor_schema()
Recall from IRMs, more sophisticated behaviors may be constructed by
sequencing behaviors. In the case of a sequence of behaviors, the overall
behavior could be represented in one of two ways. One way is to consider
the behavior to be composed of several primitive behaviors, with the releas-
ing logic to serve as the knowledge as to when to activate each primitive
behaviors. This is probably the easiest way to express a “meta” behavior.
A meta-behavior composed of three behaviors can be thought of as:
Behavior::Schema
Data releaser1
releaser2
releaser3
IRM_logic()
Methods behavior1()
behavior2()
behavior3()
However, in more advanced applications, the agent may have a choice of
either perceptual or motor schemas to tailor its behavior. For example, a
person usually uses vision (the default perceptual schema) to navigate out
of a room (motor schema). But if the power is off, the person can use touch
(an alternate perceptual schema) to feel her way out of a dark room. In this
case, the schema-specific knowledge is knowing which perceptual schema