= Solution
Label the balls $a,b,c,d$ and buckets $1,2,3$. Ignoring unchanged static type facts, the initial state's true <planning fluents> are
$$
S_0=\{\operatorname{In}(a,1),\operatorname{In}(b,1),\operatorname{In}(c,2),\operatorname{Holding}(d),\operatorname{At}(1)\}.
$$
\b[Expanding it produces exactly three successors.] The held ball makes $\operatorname{Empty}$ false, so neither ball in bucket $1$ can be picked up yet.
For $\operatorname{Drop}(d,1)$, replace $\operatorname{Holding}(d)$ by $\operatorname{In}(d,1)$ and $\operatorname{Empty}$; the arm stays at bucket $1$. All four balls are then in buckets, with $a,b,d$ in $1$ and $c$ in $2$.
For $\operatorname{Move}(1,2)$, replace $\operatorname{At}(1)$ by $\operatorname{At}(2)$ and leave every ball <planning fluent> unchanged, including $\operatorname{Holding}(d)$.
For $\operatorname{Move}(1,3)$, similarly replace only the arm-location <planning fluent> by $\operatorname{At}(3)$. The arm is now over the destination while still holding $d$; it has not yet dropped that ball.
No other action is applicable: the other drop locations fail their arm-location <precondition>, no pick has an empty hand, and moves from another source bucket fail their source-location <precondition>. None of these three successors satisfies $\bigwedge_{z\in\{a,b,c,d\}}\operatorname{In}(z,3)$. This describes one <forward state-space planning> expansion, not an assertion that the search has already found a complete <plan>.
Back to article page