Rush Hour is PSPACE-complete, or "Why you should generously tip parking lot attendants"
Rush Hour is a children's game that consists of a grid board, several cars that are restricted to move either vertically or horizontally (but not both), a special target car, and a single exit on the perimeter of the grid. The goal of the game is to find a sequence of legal moves that allows the target car to exit the grid. We consider a slightly generalized version of the game that uses an nxn grid and assume that we can place the single exit and target car at any location we choose on initialization of the game. In this work, we show that deciding if the target car can legally exit the grid is PSPACE-complete. Our constructive proof uses a lazy form of dual-rail reversible logic such that movement of "output" cars can only occur if logical combinations of "input" cars can also move. Emulating this logic only requires three types of devices (two switches and one crossover); thus, our proof technique can be easily generalized to other games and planning problems in which the same three primitive devices can be constructed. (C) 2002 Elsevier Science B.V. All rights reserved.
games reversible logic pspace-completeness motion planning dual-rail logic