HT Tutorial Exercise 3 for IST 402 - Create an Op-Implementation Problem Space

10 points

Ritter & Cassenti

29 sept 03


OBJECTIVES

 
Watch an operator no-change impasse
 
This exercise involves adding to the rules in file ht.s8. Before you start, make a copy of the file -- for example by clicking on the filename just given, and using the Save As... facility of your browser -- and call it something like "myht2.s8". Continue working with a Soar with the rules from file "ht.s8" loaded (or start a fresh Soar and load either the "ht.s8" file or the copy of it you have just made). Now

excise   ht*apply-op*eat

Now try running the model (for several decision cycles) through a new impasse that will appear, that of an operator no-change. This impasse occurs when an operator has been selected but the operator does not lead to any change to the state. You can compare your trace with Trace 8 [broken currnetly]. This impasse can be seen in very fine detail by setting the watch level to 3 or 4.

 

Creating an operator implementation problem space to solve the impasse
 
In order to fix this impasse, you will need to write several productions (all straightforward) that create a problem space to implement the operator. Write them in the file "myht2.s8" (or whatever you called it). Productions will be needed to:
     
  • Create and propose an 'eating' problem space, somewhat like how ht*impasse*resolution proposes the selection space in ht-imp.s8 (and similar rules may appear in the default rules).

     

  • Propose, in this case, an exceedingly simple operator to implement the super-state's operator (eat). If you print a state, you will see how it keeps track of its superstate. The rule will look somewhat like ht*propose-op*eat.

     

  • Apply the sub-problem space eating operator to the super-state (like ht*apply*eat, except modify the super-state instead of the state).

When you've loaded and run your code, you should get a chunk that looks a lot like ht*apply-op*eat.

 

Follow up questions
 
  1. Printout your code and a trace of it running.
  2. What type of learning does chunking provide here?

     

  3. How is your learned rule different from the ht*apply-op*eat?
  4. Describe another application of this type of learning besides Drinking.

     

  5. Create a similar problem space and implementation of drinking. (done last, it is very easy, done early or first, it is similar to the first problem).

 


Return to main page of: Introduction to Psychological Soar Tutorial
(or use the Back button to return to where you just were).
Program Listings
PST Soar Help