We prove that two pushing-blocks puzzles are intractable in 2D.
One of our constructions improves
an earlier result that established intractability in
3D [OS99] for
a puzzle inspired by the game PushPush.
The second construction answers a question we
raised in [DDO00] for a variant
we call Push-1.
Both puzzles
consist of unit square blocks on an integer lattice;
all blocks are movable.
An agent may push blocks (but never pull them) in attempting
to move between given start and goal positions.
In the PushPush version, the agent can only push one block at
a time, and moreover when a block is pushed it slides the
maximal extent of its free range.
In the Push-1 version, the agent can only push one block
one square at a time, the minimal extent—one square.
Both NP-hardness proofs are by reduction from SAT,
and rely on a common construction.