Pushing blocks is hard

  • Authors:
  • Erik D. Demaine;Martin L. Demaine;Michael Hoffmann;Joseph O'Rourke

  • Affiliations:
  • MIT Laboratory for Computer Science, 200 Technology Square, Cambridge, MA;MIT Laboratory for Computer Science, 200 Technology Square, Cambridge, MA;Institute for Theoretical Computer Science, ETH Zürich, CH-8092 Zürich, Switzerland;Department of Computer Science, Smith College, Northampton, MA

  • Venue:
  • Computational Geometry: Theory and Applications - Special issue on the thirteenth canadian conference on computational geometry - CCCG'01
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We prove NP-hardness of a wide class of pushing-block puzzles similar to the classic Sokoban, generalizing several previous results [E.D. Demaine et al., in: Proc. 12th Canad. Conf. Comput. Geom., 2000, pp. 211-219; E.D. Demaine et al, Technical Report, January 2000; A Dhagat, J. O'Rourke, in: Proc. 4th Canad. Conf. Comput. Geom., 1992, pp. 188-191; D. Dor, U. Zwick, Computational Geometry 13 (4) (1999) 215-228; J. O'Rourke, Technical Report, November 1999; G. Wilfong, Ann. Math. Artif. Intell. 3 (1991) 131-150]. The puzzles consist of unit square blocks on an integer lattice; all blocks are movable. The robot may move horizontally and vertically in order to reach a specified goal position. The puzzle variants differ in the number of blocks that the robot can push at once, ranging from at most one (PUSH-1) up to arbitrarily many (PUSH-*). Other variations were introduced to make puzzles more tractable, in which blocks must slide their maximal extent when pushed (PUSHPUSH), and in which the robot's path must not revisit itself (PUSH-X). We prove that all of these puzzles are NP-hard.