Up Next
Go up to Top
Go forward to Question 2

Question 1

Suppose that we also have buckets that can be filled by a tap in room o111. Assume there is an action fill(B) to fill a bucket B that the robot is carrying in room o101. Bucket b1 is initially empty in the storage room.

An autonomous agent can wet (using the action wet(Obj,B)) an object Obj by pouring water (from the bucket B) onto that object, as long as the agent is carrying the full bucket at the same location as Obj. Objects stay wet. Suppose we have the predicate is_wet(Obj) that is true if Obj is wet.

  1. Represent the actions and any needed derived relations, and the initial situation, so you can answer queries such as the following (again we have formatted the output to make it more readable):
    cilog: ask achieve(is_wet(parcel),init,S,8,R).
    Answer: achieve(is_wet(parcel),init,
         do(wet(parcel,b1),
           do(move(rob,o109,storage),
             do(move(rob,o111,o109),
               do(fill(b1),
                 do(move(rob,o109,o111),
                   do(move(rob,storage,o109),
                      do(pickup(rob,b1,storage),
                        do(move(rob,o109,storage),init)))))))),8,0).
    
    
  2. Explain why the STRIPS planner can't find the shortest plan. [You have to think about what is the shortest plan.]
  • Solution

  • David Poole

    Up Next