Question 10
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
onTable(X) - X is on the table. on(X,Y) - X is directly placed on Y. clear(X) - X has nothing above it, it is clear. holding(X) - The arm is holding X. armEmpty - The arm is not holding any block, it is empty.OPERATORS
Pickup(X) - Pick up X directly from the table. Preconditions: { armEmpty, clear(X), onTable(X) } Add-Effects : { holding(X) } Del-Effects : { armEmpty, onTable(X) }
Putdown(X) - Place X directly on the table. Preconditions: { holding(X) } Add-Effects : { armEmpty, onTable(X) } Del-Effects : { holding(X) } Unstack(X,Y) - Pick up X that is directly 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 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 applicable actions for the given planning problem?
Pickup(D)
Pickup(G)
Pickup(M)
Unstack(C,M)
Unstack(E,D)