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
   105   106   107   108   109   110   111   112   113   114   115