(on b4 b2) (on b5 b3) (clear b5)))

(:goal (and (on b1 b2) (on b3 b5) (on b4 b1)))

Planner:
(unstack b5 b3) (putdown b5) (unstack b3 b4) (stack b3 b5)
(unstack b4 b2) (putdown b4) (unstack b2 b1) (putdown b2)
(pickup b1) (stack b1 b2) (pickup b4) (stack b4 b1)

3.3 Large Language Model + Classical Planner (LLM+P)

Having introduced the LLM’s ability to encode problems in PDDL and in-context learning, we are
ready to introduce the proposed LLM+P solution (the bottom of Figure 1). In particular, we assume
that for each problem domain, a human expert can provide a domain description (i.e. action precon-

4
LLM+P- Empowering Large Language Models with Optimal Planning Proficiency