Page 63 - Introduction to AI Robotics
P. 63

46
                                                                                  2 The Hierarchical Paradigm
                                     longer Tampa. Therefore, whenever the robot executes an operator, there
                                     is almost always something that has to be added to the robot’s knowledge
                           ADD-LIST  of the world state (which is entered into a add-list) and something that
                         DELETE-LIST  has to be deleted (delete-list). This two lists are stored in the difference
                                     table so that when the robot picks an operator based on the difference and
                                     operator, it can easily apply the appropriate modifications to the world. The
                                     difference table below is expanded to show the add and delete lists.

                                      difference   operator         pre-          add-         delete-
                                                                    conditions    list         list
                                      d 200        fly                            at Y         at X
                                                                                  at airport
                                      100<d<200    train                          at Y         at X
                                                                                  at station
                                      d 100        drive_rental     at airport
                                                   drive_personal   at home
                                      d<1          walk

                                       Of course, the above difference table is fairly incomplete. Driving a rental
                                     car should have a precondition that there is a rental car available. (And that
                                     the robot have a waiver from the state highway patrol to drive as an experi-
                                     mental vehicle and a satisfactory method of payment.) The number of facts
                                     and preconditions that have to be explicitly represented seem to be growing
                                     explosively. Which is Very Bad from a programming standpoint.
                                       The main point is that the difference table appears to be a good data struc-
                                     ture for representing what a robot needs in planning a trip. It should be
                                     apparent that a recursive function can be written which literally examines
                                     each entry in the table for the first operator that reduces the difference. The
                                     resulting list of operators is actually the plan: a list of the steps (operators)
                                     that the robot has to perform in order to reach a goal. The robot actually
                                     constructs the plan before handing it off to another program to execute.
                                       At this point in time, it isn’t likely that a robot will get on a plane and then
                                     drive. So perhaps the criticisms of Strips is because the example used too
                                     complicated a task to be realistic. Let’s see if Strips is more streamlined with
                                     a simple task of getting from one room to another.

                              2.2.2  More realistic Strips example

                                     The first step in creating a Strips planner is to construct a Strips-based rep-
                     CONSTRUCTING A  resentation of the world, or world model. Everything in the world that is
                       WORLD MODEL
   58   59   60   61   62   63   64   65   66   67   68