In the file ~cs322/cilog/delrob_strips.pl
(also available
on the web) is a STRIPs representation of
the delivery robot. There is also a STRIPs planner in ~cs322/cilog/strips_strips.pl
(also available
on the web). The bottom of this file shows
some queries you can try, for example, the following is an example
query (reformatted to show the plan better):
You will need to play with these programs to do this assignment.cilog: ask achieve(at(k1,lab2),init,S,6,N). Answer: achieve(at(k1,lab2),init, do(move(rob,o103,lab2), do(unlock(rob,door1), do(move(rob,mail,o103), do(pickup(rob,k1,mail), do(move(rob,o103,mail), do(move(rob,o109,o103), init)))))),6,0).
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.
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).
In the file ~cs322/cilog/back_strips.pl
(also available
on the web) is a direct meta-interpreter for
STRIPs in CILog.
Note that cilog does depth-bounded search. The command bound N. sets the depth-bound to N.
Consider the query:
ask holds_in(carrying(rob,parcel)& sitting_at(rob,lab2),S).
Assume that we are using CILog to do an iterative deepening search. You are to estimate for how long the search takes for the complete search at depth D-1 where D is the depth needed for the shortest solution. To do this you should:
How many rain drops fall on Vancouver in a typical November?
You can get 2 marks for being within one order of magnitude and 1 mark for being within 2 orders of magnitude.