Question 22
AUTOMATED PLANNING
The domain description of a blocks-world with a single one-armed robot is provided below. Note: this is the same domain description used in the weekly assignments.
PREDICATES
armEmpty The arm is not holding any block, it is empty. holding(X) The arm is holding X. onTable(X) X is on the table. clear(X) X has nothing above it, it is clear. on(X,Y) X is directly on Y.
OPERATORS
Pickup(X): pick up X from the table.
Preconditions: { armEmpty, clear(X), onTable(X) } Add Effects : { holding(X) } Del Effects : { armEmpty, onTable(X) }
Putdown(X): place X on the table.
Preconditions: { holding(X) } Add Effects : { armEmpty, onTable(X) } Del Effects : { holding(X) }
Unstack(X,Y): pick up X that is directly sitting on Y.
Preconditions: { armEmpty, clear(X), on(X,Y) } Add Effects : { clear(Y), holding(X) } Del Effects : { armempty, on(X,Y) }
Stack(X,Y): place X directly on top of Y.
Preconditions: { holding(X), clear(Y) } Add Effects : { armEmpty, on(X,Y) } Del Effects : { holding(X), clear(Y) }Tie-breaker: When actions are chosen non-deterministically, choose actions that lead to a plan. Throw away the actions that lead to deadends and cycles.
Tie-breaker: Treat the goal description, preconditions and effects as lists that are accessed from left to right. When the elements in a list are pushed one by one to a stack, the last element in the list will be at the top of the stack. It has the effect of reversing the list.
A planning problem is given below, find a plan using the operators and predicates defined in the blocks-world domain.
Based on the above data, answer the given subquestions.
Which of the following are relevant actions for the goal description in the given planning problem?
Pickup(C)
Pickup(G)
Stack(A,G)
Stack(G,E)
Unstack(C,A)
Unstack(E,B)