Question 14
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.
For the subgoal ordering given in the goal description (and using the given tie breaking rules), does the Goal Stack Planning algorithm find an optimal plan?
Yes
No
Cannot be determined