Soar problem space specification for Monkey and Bananas, abstract version
	
Gregg Yost, 5 July 1990, updated 14 June 1991
---------------------------------------------

Problem space:  mab

There are three relevant locations.  Call them:  place1, place2, bananas.

Operators:

   Move(location):  Move the monkey to the specified location.  The
       monkey can move to any location it is not already at, but must
       not be standing on the box.

   Move-box(location):  The monkey pushes the box to the specified
       location.  The monkey can move it to any location it is not
       already at, but the monkey must be in the same place as the
       box and not standing on it.

   Reach:  Reach for the bananas.  The monkey will only reach for the
       bananas when standing beneath them, but need not be standing
       on the box.  The monkey will only get the bananas if it is on
       the box, however.

   Climb(direction):  Climb onto or off of the box, as specified by the
       the direction parameter.  To climb on the box, the monkey and the
       box must be in the same location, and the monkey cannot already
       be on the box.  To climb off, the monkey must be on the box.

Goal test:

   The monkey reached for the bananas while standing on the box.

Results:

   None.

Search control:

   Random monkey:  All operators indifferent.

   Smarter monkey:

       1. Move(<place>) is best when the box is at <place>.
       2. Move-box(bananas) is best.
       3. Climb(on) is best when the monkey is at the bananas.
       4. Climb(off) is worst.
