CPSC 322 - Lecture 30 - November 17, 2004

CPSC 322 - Lecture 30

Rule-Bases Systems as Search


I.  Rule-based systems and search

As the deadline for the term project was fast approaching,
we talked about move generation and the collection of 
multiple answers in the context of the peg puzzle.  Then
we went back to rule-based systems for a moment.

Consider the little tic-tac-toe rule-based system --
once we've implemented it and start it up, what kind of 
behavior will we see?  Well, we'd start with the initial 
state, abstractly represented like this:

                              | | 
                             -+-+-
                              | | 
                             -+-+-
                              | | 

There are a few rules that might apply:

                              | | 
                             -+-+-
                              | | 
                             -+-+-
                              | | 
                             / | \
                            /  |  \
                           /   |   \
                          /    |    \
                      mark    mark   mark
                     center  corner  side
                       /       |       \
                      /        |        \

The conflict resolution strategy would then select one rule, 
whose action would then be performed on the data base:

                              | | 
                             -+-+-
                              | | 
                             -+-+-
                              | | 
                             / | \
                            /  |  \
                           /   |   \
                          /    |    \
                      mark    mark   mark
                     center  corner  side
                       /       |       \
                      /        |        \
                     | | 
                    -+-+-
                     |x| 
                    -+-+-
                     | | 

The opponent then marks a square:

                              | | 
                             -+-+-
                              | | 
                             -+-+-
                              | | 
                             / | \
                            /  |  \
                           /   |   \
                          /    |    \
                      mark    mark   mark
                     center  corner  side
                       /       |       \
                      /        |        \
                     | | 
                    -+-+-
                     |x| 
                    -+-+-
                     | | 
                      |
                      |
                      |
                    o| | 
                    -+-+-
                     |x| 
                    -+-+-
                     | | 

And then there would be some rules that you could apply:

                              | | 
                             -+-+-
                              | | 
                             -+-+-
                              | | 
                             / | \
                            /  |  \
                           /   |   \
                          /    |    \
                      mark    mark   mark
                     center  corner  side
                       /       |       \
                      /        |        \
                     | | 
                    -+-+-
                     |x| 
                    -+-+-
                     | | 
                      |
                      |
                      |
                    o| | 
                    -+-+-
                     |x| 
                    -+-+-
                     | | 
                    /   \
                   /     \
                  /       \
                 /         \
             mark           mark
            corner          side
              /               \
             /                 \

Does this look familiar?  Well, of course it does!  It's a 
depth-first state space search, guided by heuristics encoded 
as if-then rules.  In other words, this is yet another way of 
looking at stuff we've looked at before.


II.  Actions and planning

As we head into Chapter 8 we compared the evolution of 
planning systems by watching some video of Shakey, the
robot that took 15 minutes to move one meter (or metre...
I wonder if there's a way to put a "u" in there) and some
video of Sandstorm, the Carnegie Mellon University autonomous
Hummer that raced across the California desert at 40 miles 
per hour...at least until it misjudged a turn.

Last revised: December 7, 2004