Page 62 - Introduction to AI Robotics
P. 62

This could lead to a data structure called a difference table of how to
                     DIFFERENCE TABLE  2.2 Attributes of the Hierarchical Paradigm                     45
                                      make decisions:
                                                           difference     operator
                                                           d 200          fly
                                                           100<d < 200    ride_train
                                                           d   100        drive
                                                           d< 1           walk

                                        Different modes of transportation are appropriate for different distances.
                                      A mode of transportation, fly, ride_train, drive, walk,inthe table
                                      is really a function in the robot’s program. It is also called an operator,be-
                                      cause it reduces the value stored in difference as to the distance from be-
                                      ing in the initial state of Tampa and wanting to be at the goal state.
                                      A robot following this difference table would begin by flying as close as it
                                      could to SAIL.
                                        But suppose the robot flew into the San Francisco airport. It’d be within
                                      100 miles of SAIL, so the robot appears to have made an intelligent deci-
                                      sion. But now the robot has a new difference to reduce. It examines the
                                      difference table with a new value of difference. The table says the ro-
                                      bot should drive. Drive what? A car? Ooops: if the robot did have a
                                      personal car, it would be back in Tampa. The robot needs to be able to distin-
                                      guish between driving its car and driving a rental car. This is done by listing
                       PRECONDITIONS  the preconditions that have to be true in order to execute that particu-
                                      lar operator. The preconditions are a column in the difference table, where
                                      a single operator can have multiple preconditions. In practice, the list of
                                      preconditions is quite lengthy, but for the purposes of this example, only
                                      drive_rental, drive_personal will be shown with preconditions.

                                                  difference   operator         preconditions
                                                  d 200        fly
                                                  100<d<200    ride_train
                                                  d 100        drive_rental     at airport
                                                               drive_personal   at home
                                                  d<1          walk
                                        The difference table is now able to handle the issue of deciding to drive a
                                      rental car. But this introduces a new issue: how does the robot know where
                                      it is at? This is done by monitoring the state of the robot and its world. If
                                      it took an airplane from Tampa to the San Francisco airport, its state has
                                      changed. Its initial state is now at the San Francisco airport, and no
   57   58   59   60   61   62   63   64   65   66   67