Symbolic Computation (1990) 10, 111137
The (n21)Puzzle and Related Relocation Problems
DANIEL RATNER AND MANFRED WARMUTH
Computer and InformationSciences
University of Callfomia, Santa Cruz, CA 95064 USA
(Received October 1, 1986)
(Revised July 18, 1989)
The 8puzzle and the 15puzzle have been used for many years as a domain for testing
heuristic search techniques. From experience it is known that these puzzles are "difficult"
and therefore useful for testing search techniques. In this paper we give strong evidence
that these puzzles are indeed good test problems. We extend the 8puzzle and the 15puzzle to an n xn board and show that finding a shortest solution for the extended puzzle
is NPhard and is thus believed to be computationally infeasible.
We also sketch an approximation algorithm for transforming .beards that is
guaranteed to use no more than a constant times the minimum number of moves, where
the constant is independent of the given beards and their side length n.
The studied puzzles are instances of planar relocation problems where the reachability question is polynomial but efficient relocation is NPhard. Such problems are
natural robeties problems: A robot needs to efficiently relocate packages in the plane.
Our research encourages the study of polynomial approximation algorithms for related
robotics problems.
I. Introduction
For over two decades the 8puzzle and the 15puzzle of Sam Loyd [1959] have been a laboratory for testing search methods. Doran and Michie used these games in their general problemsolving program, called Graph Traverser [Doran & Michie, 1966]. Pohl used the 15puzzle in
his research on bidirectional search and dynamic weighting [Pohl, 1971; Pohl, 1973; Pohl,
1977]. Gaschnig described the 8puzzle as "...simple, convenient to manipulate, yet exhibiting
interesting phenomena that hypothetically hold for a broader class of subjects..." [Gaschnig,
1979]. Recently Korf used these puzzles as examples for the method of solving search problems by building MacroOperators [Korf, 1985a] and as examples for IDA* search a/gorithm
[Korf, 1985b]. Judea Pearl used the 8puzzle throughout the first half of his book on heuristics
as one of the main examples [Pearl, 1984], Also, in the last decade, when learning algorithms
have started to blossom, some of the empirical tests of these algorithms were performed on the
8puzzle and the 15puzzle [Politowski, 1986; Rendell, 1983].
The main reasons for selecting these problems as workbench models for measuring the
performance of searching methods are:
07477171/90/080111+27 $03.00/0
9 1990 AcademicPress Limited
112
1)
2)
3)
4)
5)
D. Rather and M. Warmuth
There is no known algorithm that finds a shortest solution for these problems ef~ciently.
The problems are simple and easy to manipulate.
The problems are good representatives for a class of problems with the goal of finding a
relatively short path between two given vertices in an undirected graph.
The size of the search graph is exponential in the length n of the side of the board, even
though the input configurations can be described easily by assigning a location for each
tile (there are n 2 tiles ).
The search graph can be specified by a few simple rules.
Certainly, if there existed simple efficient algorithms for finding a shortest solution for
these problems, then heuristic approaches would become superfluous. Thus we need to give a
convincing argument that no such algorithm exists. This is accomplished by using complexity
theory an approach suggested by Goldberg and Pohl [1984]. We show that finding the shortest
solution for a natural extension of the 8puzzle and the 15puzzle is NPhard. Thus unless
P=NP, which is considered to be extremely unlikely, there is no polynomial algorithms for
finding a shortest solution. Of course, since the number of distinct configurations in the 8puzzle and the 15puzzle is finite, theoretically (and practically for the 8puzzle) one can find
shortest solutions for all the possible inputs by analyzing the whole search graph. To get problems of unbounded size we extend the problem to the n xn checker board and call the puzzle
of that board size the (n21)puzzle. O'he tiles numbered one through n21 occupy all but one
square which is empty, that is it contains the blank ale:) The 8puzzle and the 15puzzle are
the (n 21)puzzle, where n is 3 and 4, respectively. The same natural extension to the n •
board was used by Lichtenstein and Sipser for analyzing the complexity of Go [Lichtenstein &
Sipser, 1978] and by Fraenkel et at. for analyzing the complexity of Checkers ~FraenkeI et al.,
1978].
The aim of the (n21)puzzle is to find a sequence of moves which will transfer a
given initial configuration of an n ><n board to a final (standard) configuration. A move consists o f sliding a tile onto the empty square from an orthogonally adjacent square. We will
show that the following decision problem, called nPUZ, is NPcomplete:
INSTANCE. two n xn board configurations and a bound k.
QUESTION. iS there a solution for transforming the first (initial) configuration into the second
(final) configuration requiring at most k moves?
The pebble games of Komhauser et al. [Korhnhauser, Miller & Spirakis, 1984] can be
viewed as a direct generalization of the (nZ1)puzzle : Let G be a graph with n vertices and
b <n pebbles numbered 1 , . . . ,b. The distinct pebbles (which correspond to the nonblank
tiles o f the (nZ1)puzzle) must always be on different vertices. A move consists of sliding a
pebble along an edge of the graph to an adjacent unoccupied vertex. They address the question
of reachability, i,e. whether a final configuration of the pebbles is reachable from an initial
configuration using any legal sequence of moves. It was shown that the general reachability
problem can be decided in polynomial time. In the case of (n 21)puzzle the graph is of a
very restricted form (the n xn planar grid) and the number of pebbles (nonblank tiles) b is one
less than the number of vertices. Note that for the (nZ1)puzzle reachability is easy to
decide as well.
In this paper we are concerned with the complexity of reaching the final configuration
from the initial configuration in a small number of moves. The following version of the decision problem nPUZ for general graphs was considered by Goldreich [Goldreich, 1984]:
The (n21)Puzzle
!13
INSTANCE. a graph of n vertices and two configurations of the pebbles 1 , . . . ,n1 on the
graph and a bound k.
QUESTION. is there a solution for transforming the first configuration into the second
configuration requiting at most k moves?
Goldreich gave a very elegant reduction for showing that the above decision problem is
NPcomplete [Goldreich, 1984]. In the first part of the paper we show that nPUZ is NPcomplete as well. Note that now the graphs are of a very restricted form. For each length of the
side of the board there is only one squareshaped grid graph and this graph is very symmetric,
Intuitively we cannot encode any "hardness" into the structure of such graphs and is not
surprising the NPcompleteness reduction given in this paper is much more involved than the
Goldreich's reduction for general graphs.
In the puzzle tiles need to be relocated on the planar grid. The relocation task, even
without the specific rigid rules of the game, is the essence of the NPhardness of nPUZ. We
consider a relocation procedure on graphs which is different than the one considered by
Kornhauser et al. [Komhauser et al., 1984] and is again related to (n21)puzzle. In this
relocation procedure elements that reside in vertices of a graph are shipped to other vertices.
The shipping process is done step by step along a path in the graph. Assume that the path consists of the vertices (v 0, v t, 9 ' ' , vt). If at the beginning of step i the procedure is at vi1 in
which there are some elements, then at the end of this step (the beginning of the next step) the
procedure is at vl. When the procedure moves along the edge (vi1 ,vi) it may ship some of the
elements from vi1 into vt. We first show the Intractability of a relocation problem on planar
graphs. This problem, called the REL problem, is less restrictive and easier to prove NP.
complete:
INSTANCE. A planar directed graph G (V,E) where each e e E has capacity zero or two, a set X
of elements, and an initial and final configuration. A configuration specifies the location of
each element of X at the vertices of V.
QUESTION. Is there a relocation procedure that ships the elements of X from their initial
configuration to their final configuration such that the procedure moves along each e~E
exactly once (the shipment is along an Eulerian path) and it never ships along each edge more
elements than allowed by the capacity of the edge?
The nPUZ and REL problems can be viewed as robotics problems: A robot needs to
efficiently relocate objects in the plane. In the case of nPUZ the objects have a simple shape.
The relocation of arbitrarily shaped objects through areas with arbitrary boundaries, is of much
higher complexity. Hopcroft et al. have shown that in that case the question of reachability is
already PSPACEcomplete [Hopcroft, Schwartz & Sharir, 1984].
The NPcompleteness proof of nPUZ will simulate the simpler proof for REL. The
graph is mapped onto the board of the puzzle problem. The vertices and edges will correspond
to certain areas of the board. The elements and the capacities are encoded by the arrangements
of tiles in these areas in the start and final configuration.
Since finding the shortest solution is NPhard we would like to know how close the shortest solution can be approximated in polynomial time. In the second part of the paper we show
that finding a solution that is any fixed additive constant away from the optimum is also NPhard. However we have positive results for approximating the optimum by a multiplicative
constant. In this paper we are only concerned with proving that such a constant exists. The
given proof would lead to a rather high constant. We discuss how the constant may be optimized. It is an open problem to find the polynomial approximation algorithm with the best
114
D. Rather and M. Warmuth
possible constant. Note that this type of algorithm finds reasonable solutions even if n is large
(around 100) and there are no pathological cases as there are for search methods. The research
based on search methods only addresses the cases of n =3,4 and no bounds are given as to how
the length of the heuristic solution is related to the length of the optimum solution.
As suggested by Ramer and Pohl [Ratner, 1986; Ratner& Pohl, 1986], we recommend a
combined approach for solving search problems: Use an approximation algorithm whose solution has a provable worst case bound and then do local optimization of the approximate solution, employing AI search methods.
This paper is outlined as follows. In Section 2 we describe a special symmetric version
of the satisfiability problem, called 2/2/4SAT, which is shown to be NPcomplete in the
Appendix. Section 2 also contains the basic definitions and properties of (n21)puzzle used
throughout the paper. In Section 3 we reduce 2/2/4SAT to REL and in Section 4 we give a
similar reduction for nPUZ. In the last section we describe the approximation algorithm for
nPUZ.
We suggest to apply our approach to other puzzles, like the Rubik's cube, which are also
used extensively as examples in the Mliterature. Recently, search methods have been devised
for finding the shortest solution for the n >olxn Rubik's cube, which are computationally feasible for the case of n =2 and n =3 [Fiat et al., 1989]. Is the problem of finding a shortest solution
for the nxn• Rubik's cube NPhard? Are there polynomial time approximation algorithms
for n xn xn Rubik's cube that approximate the optimal solution by a multiplicative constant?
Is there an approximation algorithm (off by only a multiplicative constan0 for the pebble
game on general graphs considered by Komhauser et al. [Korhnhauser, Miller & Spirakis,
1984]? As for more general relocation problems we would like to know whether there are
approximation algorithms (off by a multiplicative constant) for the following setting: Given a
planer graph where packages reside at the vertices (cities), and a truck that can carry at most c
packages. Each package has an initial and a final city. The aim is to relocate the packages
with the truck using the shortest possible route. Approximation algorithms have been found
for special cases of this problem: the Traveling Salesman Problem and the Vehicle Routing
Problem (with one vehicle) [Lawler et al., 1985].
2. Basic Definitions
The classical NPcomplete problem is the satisfiability problem: given a boolean formula in
conjunctive normal form, does there exist a truth setting that satisfies the formula. We use a
simple symmetric version, called 2/2/4SAT, in the reductions for REL and nPUZ. This version is shown to be NPcomplete in the Appendix.
2/2/4SAT:
IN~A~CE. A set U of m variables and a collection C of m clauses over U such that each
clause c ~ C has exactly four literals (I c I = 4) and each u ~ U appears in all clauses of C
exactly 4 times, twice negated and twice unnegated.
Qu~TIoN. Is there a truth assignment for U such that each clause in C has exactly two true
literals?
In the rest of this section we give the main definitions and basic facts of (n21)puzzle
that are needed throughout the paper. The puzzle is played on an n xn checker board. There
are n 2 distinct tiles on the board; one blank tile and n21 tiles numbered from 1 to n21.
The (n21)Puzzle
115
Each of the n z square location of the board is occupied by exactly one tile. An instance of
(nZ1)puzzle consists of two board configurations B1 (the initial configuration) and B2
(the final configuration). A move is an exchange of the blank tile with a tile located on an
horizontally or vertically adjacent location. The goal of (n21)puzzle is to find a short
sequence of moves that transforms B~ to B2. nPUZ is the corresponding decision problem.
The question is whether, for given B 1, B 2 and k, the configurations can be transformed into
each other in at most k moves.
Given a sequence that solves an instance of nPUZ by moving B1 to B2 in at most k
moves, then the same sequence solves any instances in which the tiles (other than the blank
tile) of both configurations are renumbered in the same way. Thus the set of possible solutions
for the instance of nPUZ is determined by the relative location of the tiles in B x and B 2.
Not every two configurations are reachable from each other. The configurations can be
described as a permutation: For any tile t let ~(t) be the tile that resides in the same location in
B 2 as the tile t in B 1. This permutation can be decomposed into cycles, where a cycle is a
sequence of tiles ( t l , " 9,tq) s.t. t~ appears inB1 on the same location as t(i+l)modq in B2. A
cycle is called even if its size is even. Reachability can be characterized using the parity of the
cycles.
THEOREM 1. Let B 1 and B 2 be configuration in which the blank tile is at the same location.
Then B 1 and B 2 are reachable iff their permutation has an even number of even cycles.
A proof of this theorem can be found in [McCoy & Berger, 1972]. It is easy to construct
the permutations and check reaehability in 0 (n o) time. The above theorem implies that if two
configurations that are the same except for two nonblank tiles which are swapped, then the
configurations are not reachable. The following fact is easily checked and left as an exercise:
FACT 1. There is an algorithms that transforms any two reachable configurations into each
other, never using more than p (n) = q n 3 moves, where q is a constant independent of the size
of the board n. The running time to the algorithms is proportional top (n).
Let 11 and 12 be two locations on the board and assume the blank tile is to be advanced
from 11 to 12 in the minimum number of moves. Consider a rectangle of locations s.t. 11 and 12
are in opposite comers. One way to achieve the minimum number of moves is to move from
11 along one of the two orthogonal angles of the rectangle. The (Manhattan) distance
between the two locations, denoted by d(lt,12), is the minimum number of moves required to
move the blank tile from one location to the other. Note that this notion of distance is different
from the Euclidean distance.
The distance of a tile x in two configurations B t and B 2 is the distance between the two
locations of x on the board and the distance between two configurations B1 and B 2, denoted by
d (B 1,8 2), is the total distance of 311 nonblank tiles.
Let S be a sequence of moves that transforms B 1 to B 2. Using the notion of distance we
can partition the moves as follows. Assume we are to move a nonblank tile x. Let m/n be the
smallest distance o f x from its final location in B2 in all previous and current configurations. If
after the move the distance of x to its location in B2 is m / n  l , then this move is a
necessary move, otherwise it is an unnecessary move. Clearly the total number of necessary
moves is equal to d(B1,Bz) and this is a lower bound on the number of moves required to
transform B i to B 2.
116
D. Ramer and M. Warmuth
3. Relocation in a Graph Via an Eulerian Path
In this section we prove that relocating elements that reside in vertices of a planar graph via an
Eulerian path is NPcomplete (the problem REL). We present REL in this paper because the
NPcompleteness reduction from 2/2/4SAT to REL is very similar to the reduction to our goal
problem nPUZ. In nPUZ tiles must be relocated following the rules of the puzzle. The relocation problem for planar graphs captures the hard core of nPUZ. It allows us to ignore the
rules of the puzzle for a moment.
THEOREM 2. REL is NPcomplete.
PROOF. Let U={u~, u2 ," 9 9 u,,} be a set of variables and C={cl, c2 ," ' 9 cm} be a set of
clauses defining an arbitrary instance of 2/2/4SAT. From this instance we will construct an
instance of REL. Such an instance is a graph G(V,E) with capacities (zero or two) for each
eeE, a set X of elements, an initial configuration (called B 1), and a final configuration (called
B 2). First we start with the description of the graph and later we define the configurations.
The graph (Figure 2) consists of 5m+2 vertices and 12m3 edges. The vertices are
divided to four groups. The first group is built up from m diamonds of four vertices and four
edges of capacity 2 each. The ith diamond which is shown in Figure 1 corresponds to the
variable ul. This diamond contains the vertices: topi, nul, botl, and hill.
The second group is the single vertex TC (stands for truth collection). The third group is
the single vertex FC (stands for false collection). The fourth group consists of rn vertices.
The i th vertex of this group, called nci, corresponds to the ith clause in the boolean formula
of the 2/2/4SAT instance.
/\
/\
bot~ @
Figure 1: The i th diamond in B 1 and B 2.
The directed edges connecting the vertices and the capacities of the edges are specified
in Figure 2. Two edges of capacity 2 are outgoing from each diamond, one to TC and one to
FC. Two edges of capacity zero are ingoing to each diamond (except for the first one), one
from TC and one from FC. There is only one ingoing edge ( (ncm,top 1) ) to the first diamond.
The (n21)Puzzle
117
Similarly, two edges of capacity 2 are directed into each clause vertex ncl, one from TC and
one from FC. Two edges of capacity zero are leaving from each clause vertex (except for
ncm), one to TC and one to FC. Only one edge ((ncr.,topl)) of capacity zero is leaving the
last clause vertex (ncm).
nul
nUl
r
I1U2
r
~2
~:t,..,~ . . . . . . . . . . . . .
hUm ~
n'um
:ddgg:: : : c~'
2capacity
apacity 0
IlCm
Figure 2: The graph of the REL instance.
To complete the definition of the instance of REL we need to specify the set elements X
and the initial and final locations of the elements in the graph. The set X consists of 8m elements. Recall that in 2/2/4SAT each variable occurs twice negated and twice unnegated.
There is an element for each of the four occurrences and these elements are called literal elements: hi,1 and hi,2 correspond to the two appearances of ul in C, and hi,3 and hi,4 correspond
to the two appearances of ~ in C . The remaining 4m elements n ~ , nt,6, hi,7 and n~,s are
called filler elements. The fillers are required for technical reasons in the nPUZ reduction.
For this reduction they are not needed. However, we add them to the instance of REL make
both reductions similar.
118
D. Ratner and M. Warmutli
In B 1 the literal elements are located in the diamonds as specified in Figure 1, the pair
nl,1, hi,2 is in nui and the pair ni,3, nl,4 is in ~'al. In B2 these elements are in the vertices that
correspond to the clauses. The four elements that are associated with the four literals of the i th clause appear in vertex nci. In B1 the fillers ni,5, hi,6, ni,7 and nl.s are located in topi. In
B 2, hi,5, tli .6 are located in nul and nl,7, nl,s are located in ~ i . All the remaining vertices contain no elements. This completes the definition of the instance of REL and the following two
claims complete the proof of the theorem.
CLAIM 1. I f there is a truth assignment f : U
) {T,F } that satisfies the 2/2/4SAT instance
then there is a relocation procedure along an Eulerian path that shifts B 1 to B 2.
PROOF. The proof is constructive. First we ship all the nld elements that correspond to true
literals from their vertices in B 1 to the TC vertex. This collection is done by the following procedure.
PROCEDURE SHIFT 1.
for i : = l to m do begin
if f (ui ) = T then
move along (topi ,nui) with hi,5 and hi.6;
move along (nul,boti) and (boti,TC) with ni.1 and ni,2;
else
move along (topi ,h~i) with nla and hi,s;
move along (~i,boti) and (boti,TC) with nt,3 and nl,4;
if i ~ rn then move along (TC,topi+l) ;
end.
When the above loop is finished, then the vertex TC contains 2m literal elements. Each diamond contributes exactly two elements. The two elements from the ith diamond are either
ni,t and hi.2 (from nul) or ni.3 and hi,4 (flom hui). The two literal elements that are in TC were
replaced by the fillers ni.5 arid nl,6 or by nl.7 and ni,g from topi.
The next step drops the 2m literal elements that are in TC into the ncj vertices they
belonged to in B2. As mentioned above, these 2m elements correspond to the 2m true literals.
Since the truth assignment f solves the 2/2/4SAT instance, it follows that two literal elements
from each clause vertex nc: in B2 are now in TC. These elements are dropped into their
clause vertices by the following Procedure Shift 2:
PROCEDURE SHIFT 2.
for j : = l to ra do begin
move along (TC ,ncj) with the two literal elements that
are in nc j in B 2;
ff j * m then move along (ncj ,TC) ;
end.
As a result of the above procedure, each ncj vertex receives the two elements that correspond
to the true literals of the i th clause in the 212/4SAT instance.
Now we move along (nc,,, ,top1). From this point we do a second pass over the diamonds
and the clause vertices repeating the two procedures Shift 1 and Shift 2 given above with slight
modifications. In Shift 3 we collect all the rti.j elements that correspond to false literals into
the F C vertex. This is done by traversing all the edges of the diamonds that have not been
traversed in the first pass and by traversing all the edges that connect FC with the diamonds.
The
(nZ1)Puzzle
119
After Shift 3 the 2m elements that correspond to the 2m false literals are in FC. In the final
procedure Shift 4 the algorithm drops the 2m literal elements from FC into the nc; vertices in
which they appear in B2. Once the second pass is completed the arrangement of all elements
in the graph is as prescribed in B 2. Observe that each edge is traversed exactly once and the
number of elements moved through each edge always equals the capacity of the edge.
CLAIM 2. If there is a relocation procedure that ships the elements from B1 to B 2 along an
Eulerian path then there is a truth assignment f : Uo{T,F } that satisfies the 2/2/4SAT
instance.
PRooF. We need to ship the four literal elements from their initial locations in the ith diamond to the clause vertices (the nc/) they belong to in B2. These literal elements must pass
through bot~. There are only two edges (boti,TC) and (boti,FC) outgoing from botl. Both
edges have capacity two. This means that when the procedure moves along (boti,TC) and
(bot~ ,FC) it must carry two literal elements each time. Furthermore, the first time the procedure ships two literals to botl they must be either the pair (ni.l,nl.2) or the pair (n~.3,nl,4).
Now the procedure must continue to move along with these two literals. Thus, for each
i, 1 < i _<m, the given procedure ships the pair (m,l,ni,2) along (bot~ ,TC) or along (boti ,FC).
Let us define the truth assignment f : U
;{T,F } as follows:
f (us) = T if the procedure ships the pair (niA,ni,2) along (botl ,TC).
f (u~) = F if the procedure ships the pair (ni,l,nl,2) along (boti ,FC ).
Note that ff f ( u i ) = T (respectively F) then the procedure ships the pair (n~.3,n~,4) along
(boti ,FC ) (respectively (boti ,TC )).
We proceed to show that the above truth assignment satisfies the requirements of the
2/2/4SAT instance. There are two ingoing edges to each ncj vertex, each of capacity, two.
There is :~o way to ship elements from TC to FC or vise versa (see Figure 2). Thus the procedures ships from TC exactly two literal elements to each of the ncj vertices. According to
the definition of f these dements correspond to true Iiterals. The other two elements that
arrive at each ncj vertices are from FC, which means that they correspond to false literals.
This completes the proof of Claim 2 and Theorem 1. []
In the specification of REL we assumed that the capacities of the edges are either zero or
two and that the graph is directed. It is easy to show that REL remains NPcomplete if the
graph is directed and all capacities are two: For each directed edge of capacity zero we locate
two dummy elements at the beginning of the edge in B 1 and these dummies appear at the end
of the edge in B2. Also notice that in the reduction of the above theorem the correct direction
of the edges is implied by the relocation of the elements via an Eulerian path. Thus the
undirected versions of REL are also NPhard. It is an open problem whether there is a polynomial algorithm for REL if we only allow capacities zero or one.
4. The Intractability of nPUZ
In this section we give a reduction of the 2/2/4SAT problem to the nPUZ problem that mimics the reduction given in the previous section.
TIa~ORF2d3. nPUZ is NPcomplete.
PROOF. The proof is divided into three subsections. In the first subsection we describe the used
instance of nPUZ and in the last two subsections we give the two directions of the reduction.
120
D. Ratner a n d M. W a r m u t h
4.1. The Instance of nPUZ
The instance of nPUZ that is'constructed from a given instance of 2/2/4SAT is similar to the
instance of REL used in the previous section, We will map the graph of Figure 2 onto the
board. The instance of nPUZ consists of two n•
board configurations B1 (the initial
contignration), B 2 (the final configuration) and an integer k which is an upper bound on the
number of moves that can be used to transform B 1 toB2. To simulate the graph of Figure 2 we
have to capture the notions of vertices, edges, elements, relocation, moving along an edge and
capacity of an edge. Each vertex in the graph of Figure 2 corresponds to a square area of locations (we call these areas nodes). Edges are identified as short sequences of thin horizontal
and vertical stripes of locations that connect the nodes of the edge. Figure 3 gives a rough
outline of how the graph of REL (Figure 2) is mapped onto the board. It shows all the locations at which B 1 and B 2 might differ. The main difference is a 45 degree counterclockwise
rotation. The bold line segments are stripes of locations on the board of width three. These
stripes belong to edges of capacity two. Similarly, the dashed lines are stripes of width one and
belong to edges of capacity zero. All square areas (the nodes) are three locations wide except
for ureas of F C and TC whose length of their side is 4m. The latter two nodes are called the
large nodes and the remaining ones the small nodes. All pieces of Figure 3 (the stripes of the
edges and the nodes) are composed of disjoint locations.
Recall that we want to describe the two board configurations B 1 and B 2 of the instance
of n P U Z . Figure 3 shows all the locations at which B 1 and B2 might differ: in the stripes of
the edges and the nodes. That is, every tile that lies outside the stripes and the nodes is in same
location in B 1 and B 2.
To complete the specification of Figure 3 we still need to give the lengths of the stripes.
Each stripe is required to be at least 51. The basic length unit I is defined in terms of u which
will be shown to be an upper bound on the number of unnecessary moves used in the transformarion of BI to B2 from a given truth assignment: l = u + 1 6 m + l
and
u = 508m + 29m p (6) + 9m p (4m +3) (p is the polynomial given in Fact 1 of the previous section). It is easy to assign explicit locations to the all nodes and stripes of the edges such that
the above specifications (summarized in Figure 3) are followed. This can be done s.t. the
length of the longest stripe and the distance between any two nodes is at least 5l and the length
n of the side of the whole board is 0 (ml).
We now address how the 2/2/4SAT instance is encoded in the two board configurations
B t and B 2. Let U = {u i , u 2 ,  . ", u,, } be a set of variables and C= {c t , c 2 , " " , c,, } be a set
of clauses defining an arbitrary instance of 2/2/4SAT. Similar to the REL instance of the previous reduction, the two occurrences of u~ correspond to the dements (here explicit tiles) hi,1
and hi;. located in (the area of) nui of B 1. The two occurrences of ~ are responsible for the
element tiles nl,3 and hi,4 in hui ofB 1. Again as in the instance o f R E L , these 4rn element files
(called literal tiles) are distributed among the nodes act in B 2. The area of nci receives the four
literal tiles corresponding to the four literals of cl. Analogously, there are four fillers tiles ni,5
to nt,s that are located in the node topi in B 1. In the final configuration B2 the filler tiles nl,5
and hi,6 appear in nul and ni,7 and hi,8 appear in n'ui.
We next describe the relative location of the tiles of the edges in B 1 and B 2. Recall that
the edges of capacity zero (zeroedges) are composed of stripes of width one. For any zeroedge in B 1 simply move all its tiles one step backward w.r.t, the direction of the edge (see Figure 4). Observe that one tile leaves the edge at the tail of the edge and another tile is drawn into
The (n z  1)Puzzle
',
121
i.~
FC
TC
L
,A ......
~
edge with capacity 2
I.._
_1
edge with capacity 0
Figure 3: The locations in which B 1 and B z might differ.
the edge at the head of the edge. For the latter tile select any tile from the node that is adjacent
to the head which is not an element tile.
The relative location in B 1 and B 2 of the twoedges is more involved. We relocate the
tiles of B 1 as prescribed in Figure 5 (The figure shows a right turn of a twoedge). Note that
each tile (except for some tile in the comers of the edges) mbves one step backward w.r.t, the
direction of the edge and some tiles also move one step sideways. Furthermore, three tiles
move off the tail of the edge and the same number is drawn into the edge at the head. For the
latter three tiles again select any three nonelement tiles from the node adjacent to the head of
the edge.
It is easy to verify that during the construction of B z the number of tiles that leave and
enter each node is the same. For example, six tiles leave nc,~ via the two adjacent heads of
twoedges and one tile is drawn into ncm by the tail of the adjacent zeroedge. The imbalance
of five tiles is compensated by the fact that nc~ receives the blank tile in B 2 together with four
element tiles (which are in the diamonds in B 1).
122
D. Rather and M. Warmuth
n'~
T
T
T
T
T
zeroedge direction
t_
Figure 4: The relative location of the tiles of a zeroedge.
m~'q~lIBGiIFillrJlUilNl
m m m u / u m u m mlnN
@l~l@q@+~ \ I 1
tw0edge
direction

/IX
/IX
:
/IX
/IX
I
/IX
Figure 5: The relative location of the tiles of a twoedge.
The (n 21)Puzzle
123
We have specified the exact relative location of the tiles of B 9 w.r.t. B 1 except for where
the tiles of the nodes of B2 are located within the area of each node. Since the sizes of the
nodes is negligibly small (dominated by our choice of l as shown later) the exact location of
these tiles within the nodes of B 2 is not important and can be fixed arbitrarily. However, now
it might be possible that B 2 is not reachable from B 1 (see Theorem 1). If so then we simply
exchange two arbitrary tiles of ncm in B 2. Now the reachability of B 2 from B1 is guaranteed.
Note that reachability between two configurations can be checked in time O (n 2) (use Theorem
1).
To complete the definition of the instance of nPUZ we set k to d(B1,B2)+u. It is easy
to see that both boards (and k) can be constructed in time polynomial in m. Recall that the
length of side of the board is 0 (m5). In the next two subsections we show that the instance of
2/2/4SAT has a solution fff B i can be moved to B 2 in at most k moves.
4.2. Constructing a Solution to nPUS from a truth setting of 2/214SAT
For the first direction we assume that we are given a truth assignment f of the variables of U
that satisfies the 2/2/4SAT instance. We will move the board configuration B ~ to B 2 using a
modification of the four procedures Shift used in the reduction ofREL. The main modification
is that moving along an edge is more involved in nPUZ than in REL. In nPUZ the empty tile
moves along the stripes of the edge (possibly "carrying along" two element tiles) and while
doing so rearranges the files in the stripes. For the case of a zeroedge the rearrangement is
rather simple since no element tiles are carried along: rearrange the node at the tail of the edge
s.t. the blank tile is at the location within the node that is adjacent to the tail of the zeroedge;
then shift the tiles of the edge one step backwards as the empty tile traverses forwardly along
the stripes of the edge (see Figure 4).
For the twoedges the rearrangement of the tiles in the stripes is much more involved.
After the two element tiles and the blank tile have been moved through the twoedge the rearrangement will be as described in Figure 8. This rearrangement is achieved in two steps. First,
rearrange the node adjacent to the tail of the edge such that the two element tiles x and y and
the empty tile are positioned (within the node) in a straight consecutive chain and the empty
tile is adjacent to the tail of the edge. See Figure 6 for details: the double bars denote the borders to the nodes (one at the head and one at the tail of the stripe).
OL2
Y2
O"I
YI
1310
YO
0[1
Y1
~2
Y2
~3
73
0[4
74
0~5
~r
....
....
I~r1
YrI
~r
Yr
O~r+l
Yr+l
C~r+2
at+3
~r+2
~r+3
Yr+2
Yr+3
Figure 6: The arrangement of a straight twoedge in B 1.
In the second step the chain Ix, y, blank tile] is moved through the edge by alternately applying
the
move
sequences
Su
and
Sa
to
the
blank
tile:
Su := <left,lef t,up,right,right,right,down > ; Sd equals Su but up is exchanged with down
and vice versa. Each of the sevenstep sequences advances the chain be one step to the right.
Figure 7 is produced from Figure 6 by applying Su, Sa, and again Su.
124
D. Rather and M, Warmuth
ai
~
131
Ct2
53
a2
T1
al
X
y
%2
Yo
T~
T2
132
~3
(/4
0~5
....
~r1
0~r
C~r+l
O~r+2
~r+3
Y3
)'4
Ys
....
T~I
Y,
Y,+I
Y~+2
7,+3
Figure 7: The arrangement after advancing by three steps.
If we apply the sevenstep sequences altematingly r+3 times we end up with the arrangement
of Figure 8 (In the figure r is odd).
or1
~o
~1
0~2
133
~
135
a6
....
[3,
c~,+i
a.2
%~
c~
V2
~3
)'4
(/,5
T6
....
O~r
~r+1
x
y
Y2
Yo
~
132
~'3
~4
~'5
~6
....
"t,
[~,+,
7~+2
7~+3
t~r+2
~r+2
Figure 8: The arrangement of a straight twoedge in B2.
Note that the relative location of the tiles of the edge between Figure 6 and 8 is given by (the
horizontal part of) Figure 5. Thus moving along the edge as prescribed moves its tiles from
their location in B 1 to their location in B 2.
So far we have only shown how to move the empty tile together with two element tiles
along a single stripe of capacity two (see figures 6 to 8). A twoedge might be composed of
two stripes. The following sequence of moves results in a 90 degrees clockwise turn of the
chain Ix, y , blank tile]: <left,left,down,right,right,up,leftclown,down,right>. This
sequence produces the relative rearrangement of the comer given in Figure 5. After the rotation the chain is moved along the second stripe by alternating two rotated versions of Su and
Sa.
We still have to take care of some subtle details concerning the final arrangement of the
edges and nodes. After an edge of capacity c (c=0 of c=2) is traversed, c + l tiles are drawn
one location across the border of the node into the head of the edge (see figures 4 and 5). At
the completion of the traversal we first pull any c + l files across the border. If the last c+l
locations of the tail are not arranged as in B 2, then we temporarily enlarge the node size by one
location in each direction so that the c+l locations are included in the enlarged node area and
then rearrange the tail as prescribed in B2.
Similarly, the last time the empty tile leaves a node during the four procedures Shift the
arrangement of the node has to be as in B 2. The nodes are completed in the following order:
one of {nui,fffi~} (l<i<_m), TC, the remaining nodes in the diamonds, the ncj (l<j<m), FC,
nc,,. Observe that the last exit from each node except the nci nodes is via a twoedge. This fact
will allow us to leave each of these nodes as given in B 2 (We used filler tiles to assure that the
last exit from the topl is via a twoedge).
The last exit from a node via a twoedge is done as follows. Begin moving the chain Ix,
y , blank tile] outside of the node along the last outgoing twoedge but stop this process as soon
as the chain has left the node (see Figure 7). Consider an enlarged node whose length of its
side is increased by three that includes the node and the chain. Rearrange the enlarged node
such that its area other than the beginning of the edge is as in B~ and the beginning of the edge
is the same as before this final rearrangement except for a possible swap of x and y in the
chain. Finally continue moving the chain along the twoedge as before. Observe the swap ofx
and y might be necessary (see Theorem 1) to assure reaehability between the two
The (n2 I)Puzzle
125
configurations of the enlarged node. The rearrangement caused by moving Ix, y , blank tile]
through a twoedge is the same for all choices of x and y (in particular for [y, x , blank tile]).
We next show how the final arrangement of the nc/ nodes (l<j <m) can be achieved.
The last entry into a ncj node is via a twoedge from FC and the last exit via a zeroedge.
Along the twoedge a chain Ix, y , blank tile] is shipped into ncj. If at the last exit ncj cannot
be arranged as in B 2 then ignore all moves done for traversing the twoedge, swap the order of
x and y in the chain and move the modified chain through the twoedge. Now nc/ can be
arranged as inB2 (see Theorem 1).
Finally, we need to show that nc,, can be arranged as in B 2. When nc~ is entered for the
last time the whole board is arranged as in B 2 except for possible the area of nc,~. Call this
board configuration B . Assume the board consisting only of the area of nc,,, in B cannot be
rearranged as the node ncm in B 2. Then ncm can be arranged as in B 2 except for one swap.
But this is not possible since we reached from B 1 a configuration identical to B 2 except for one
swap and by the construction of the boards B 1 and B 2 are reachable from each other.
The above completes the summary of the modifications to the procedures Shift that are
needed. We next show that the modified procedures Shift require a total of at most
k = d(B 1,Bz)+u moves.
First observe that all moves done while traversing a zeroedge are necessary moves since
each move shifts a tile from its location in B I toward its location in B 2 (see Figure 4). However the last move for each edge might not be necessary summing to at most 4 m  3 moves.
Similarly, the sevenstep sequences done when a chain was moved through a stripe of a twoedge consist o f necessary moves: The tiles of the stripe and x and y always move towards their
final location in B z (see Figure 5). The only exception to this are up to three sevenstep
sequences at the beginning and the end of each twostripe. Since the number of twostripes is
12m (see Figure 3) we follow that the total number of moves while lraversing a zeroedge and
while executing sevenstep sequence is at most d (B 1,B2)+508m.
All moves of the procedures Shift that we haven't accounted for yet occur while rearranging comers of twoedges and nodes (sometimes enlarged nodes). The number of comers
of twoedges is 4m and per rean'angement of such a comer of size 3x3 we spent at most p (3)
moves (see Fact 1). There are 5m small nodes of size 3• which each are rearranged at most 5
times each, once for each in and outgoing edge and one final rearrangement. The node size for
each such rearrangement is at most 6• Thus all rearrangements of the comers and the small
nodes cost at most 29m p (6).
The large nodes have size 4m and the total number of edges entering and leaving each
o f these nodes is 4ra2. Furthermore, in FC up to m  1 swaps o f the element tiles of a chain
might be needed. The cost per rearrangement and swap is bounded by p(4m+3). Thus the total
number
of
moves
in
the
four
Shift
procedure
is
at
most
d (B 1,B2)+508m + 29m p (6) + 9m p (4m +3) = d (B 1~ 2)+u = k.
This completes this subsection in which we have shown that if there is a truth setting
solving the instance o f 2/2/4SAT then B 1 can be moved to B 2 in atmost k moves. The next
section completes the reduction.
4.3. Constructing a Solution to 212/4SAT from a Solution to nPUZ
Let SOL be a sequence of at most k moves that transfers B 1 to B 2. We will show how to constract from SOL a truth assignment that satisfies the 2/2/4SAT instance. Our method of proof
is by showing that the blank tile and the element tiles are forced to move only along the edges
126
D. Rather and M. Warmuth
(except for negligible number of moves). Furthermore since k is not much larger than the
number of necessary moves, this forces the number of tiles passing through each edge to be
equal to the capacity of the edge, and it avoids a second move of tiles along an edge. Once we
prove the above, we can eliminate the rules of the game. The instance of nPUZ corresponds to
the instance o f REL used in the reduction of the previous Theorem 2 (Claim 2). Also the solution SOL translates to a solution of this REL instance. The reduction of Theorem 2 (Claim 2)
shows how to construct a truth assignment to the instance of 2/2/4SAT from the solution to
the REL instance.
Since SOL consists of at most k = d(BlCBz)+u moves, at most u unnecessary moves
were done in SOL. This fact assures that during SOL the blank tile can only visit certain locations on the n xn beard. Recall that the basic length unit l of the stripes is u+16m+l.
DEFINITION 1. The vicinity of an edge is obtained by widening all the stripes of the edges by l
locations on each side. That is, the vicinities of edges of capacity c consist of stripes of width
2l+c+1. The vicinity of a small node is the square of side length 2l+3 obtained by enlarging
the small node by l locations on each side. The vicinity of TC (FC) is built in two steps. Let
TC" (FC') be the smallest rectangle that contains TC (FC and all in and outgoing stripes of
TC (FC ). T C ' and F C ' are the dotted rectangles of Figure 9. The vicinity of TC (FC) consists
of the rectangle TC' (FC') enlarged by I locations on each side. Observe that all vicinities are
disjoint since the length of the stripes of the edges and the distance between any two nodes is
at least 51 (see Figure 10).
LF_MMA1. During SOL the blank tile is always in the vicinity of a node or an edge.
PROOF. All locations outside the edges and the nodes contains the same tiles in B 1 and B 2.
Any location L outside of the vicinities is distance at least l+1 away from any location of an
edge or a node. Thus for the blank tile to get to location L in SOL, 1+1 tiles were moved that
are in the same location inB1 and B2, causing at least l+l unnecessary moves. This is a contradiction since l + l > u .
[]
We next aim to describe what corresponds to moving along an edge in SOL. To do this
we partition the vicinities of edges into three segments and show that the blank tile cannot
move backwards through any of the segments.
I)EFINITION 2. Let e be an edge going from its tail node n to its head node n '. We partition
the locations of the vicinity of e into the three sets entry, center, and exit. The entry consists
of all locations that are at distance at most I from the vicinity of n. The exit is defined similarly, except n is replaced by n'. The set of the remaining locaffons of the vicinity of the edge
is called the center of the edge.
Observe that the entry and exit of an edge consist of a stripe of length l and the center up to
two stripes, each of length at least l (see Figure 10).
LFAIMA 2. 1fin SOL the blank tile is located in the center of an edge, then the next node vicinity it will visit is the vicinity of its head, node. If in SOL the blank tile is located in the vicinity
of a node, then the next center of an edge it will visit belongs to an outgoing edge of the node.
PROOF. It suffices to show that the blank tile cannot move backwards through the entry nor
through the exit of an edge. We just show this for the enlry of the edge, the proof for the exit
is identical. Assume that the blank tile moved backwards through the entry. Let
Q = L I , . . 9 ,L, be the sequence of locations of the entry that were visited by the blank tile
when traversing the entry from the center to the vicinity of the tail node. Let Li,, 9 9 9 ,Li, be the
The ( n 2  1 )  P u z z l e
127
f
"1
f
FC
VICINITY
b
~q
~{
. . . . . .

_1
TC
VICINITY

J
',
"9
~149
l
.__.3
Figure 9: The vicinity of TC and FC nodes.
subsequence Q s.t. Lij is the first location of Q that is distance j away from the border line
between the center and the entry (l<j~l). Each location Li~ of the subsequence is distinct and
contains a different tile (denoted by tij) before the blank tile traversed Q. By the definition of
the subsequence it follows that all tiles T = {tlj} traveled forward w.r.t, the direction of the
edge when Lij was entered the first time in Q. If tie was not an element tile, then the first move
of the empty tile into Lie during Q must be an unnecessary move. Only element tiles can possibly travel in the direction of the entry by a necessary move9 There are 8m such tiles and thus
l8m unnecessary moves were performed while traversing the entry of an edge backward.
This is a contradiction since u >lSin. (Recall that l=d+16m+l.
[]
Traversing an edge in SOL corresponds to the blank tile traveling from the vicinity of
the tail node to the vicinity of the head node through the center of the edge. We still need to
show that each edge is traversed exactly once "carrying along" the right amount of element
tiles9
128
D. R a t n e r and M. W a r m u t h
exit
. . . . . . . . . . .
.........
I
I
I
I
I
I
I
I
!
!
I
I
I
I
I
I
_1
I
,i
edg~
vicinity
node
vicinity
head
node
tail
node
entry
center
exit
Figure 10: The vicinities around an edge (top~,'h~i).
LEMMA 3. Each edge is traversed exactly once.
PROOF. By the previous lemma and since the swipes of the edges are rearranged in B z it follows that each edge must be traversed at least once. We first show that zeroedges are
traversed exactly once. Consider the first sequence of moves of the blank tile through the entry
of the edge. Let Li, be the first location during this sequence that is distance j away from the
border line between the vicinity of the tail node and the entry area. Define the files ti~ and T as
in the previous lemma. When the locations Lij are visited the first time during the sequence
then the l tiles of T are shifted backwards w.r.t, direction of the entry. If there is a second
sequence that moves through the entry then a second set T' of I tiles are shifted backwards.
The only tiles that can be shifted backwards in the entry area with necessary moves are the l'
tiles of the zeroedge located in the entry area of the board B 1 and possibly dement tiles. The
former tiles can only shift once backwards (see Figure 4) which amounts to l necessary moves.
Each of the 8m element tiles may appear in both sets. This leaves 2 l  l  1 6 m > u tiles that
were moved by unnecessary moves which is a contradiction.
We are left to show that the twoedges are traversed exactly once. There are exactly two
edges going into the each diamond (except for the first diamond, but since we assume that the
blank tile in B 1 is located in this dianaond we can treat the first diamond as if there are two
ingoing edges to it). These ingoing edges are zeroedges. Since the blank tile passes through
these zeroedges exactly once (and through any edge at least once) it follows that the blank tile
passes through all edges adjacent to the nodes of the diamond exactly once.. For each nci
clause node there are two ingoing edges and two outgoing edges. The outgoing edges are
zeroedges; hence the blank tile passes through the ingoing edges exactly once. []
L~h
4. When an edge of capacity c is traversed in SOL then number of element tiles that
travel through the center while the blank tile moves through the edge is exactly c.
PROOF. Let e be edge with capacity c. Execute SOL on B 1 but stop the sequence of moves
right before the blank tile moves the first time from the entry area into the center area of e.
Call the current configuration C1. Continue executing SOL (the blank tile is traversing e ) and
stop SOL again right before the blank tile is moving into the vicinity of the tail node of e the
The (n 21)Puzzle
129
first time. Denote this second configuration by C2 and the subsequence of SOL that moves C 1
to C2 by S. The lemmas 2 and 3 imply that in SOL the blank tile cannot move back to the
center from the configuration C2. Thus the center in C1 (C2) must be arranged as in B1 (B2).
From the definition of B 1 and B 2 it follows that during the subsequence S of SOL, a total of
c +1 dles are moved from the center into the entry and the same amount of tiles from the exit
into the center (see figures 4 and 5). By Lemma 1 and by the definition of S, the blank tile
never leaves the vicinity of the edge during SOL. Since the in and outflow of dles into the
entry area must be the same, the blank file together with exactly c tiles from the entry must
travel through the center during S.
Assume one of the c tiles, denoted by x, was not an element tile. Since the center is
composed of one or two stripes of length at least l, die x traveled distance at least l while
moving through the center. Let min be the distance of x from its location in B 1 to its location
in B2. I f x appears on an edge in B1 then min is at most 2 and if it appears in a node then min
is at most 8m (the diameter of the large nodes). Thus the assumption that x is not an element
tile leads to at least l  8 m >u unnecessary moves, which is a contradiction.
[]
This completes the proof of Theorem 3, since we showed that each edge is traversed
exactly once with the right number of element tiles. Thus the instance of nPUZ (summarized
in Figure 3) corresponds to the instance of REL (see graph of Figure 2). The sequence SOL
translates to a sequence of edge traversals in the graph the solves the instance of REL. It was
shown in Claim 2 of the previous reduction how to construct a truth setting for the instance of
2/2/4SAT from a solution to the instance ofREL.
[]
COROLLARY 1. Finding a solution in the (nU1)puzzle that is an additive constant from the
optimal solution is NPhard.
PROOF, Let r be the additive constant. We use the same reduction as above except l and u
are both enlarged by r. This guarantees even for solutions SOL of length at most k+r instead
of at most k, lemmas 1, 2 and 3 are correct hence Lemma 4 holds.
[]
5. An Approximation Algorithm for the n21Puzzle
Since finding a shortest solution is NPhard we would like to know how close a shortest solution for the (nZ1)puzzle can be approximated. As shown in the previous section finding a
solution that is an additive constant larger than the optimum is also NPhard.
In this section we sketch a polynomial algorithm that is guaranteed to produce a solution
of length at most a constant times the length of the optimum (We first give a lower bound on
the length of the optimum and then show that the approximation algorithm produces solutions
of length at most a constant times the lower bound). Future research is needed to improve the
lower bound and optimize the value of the multiplicative constant. The main purpose of this
paper is to show that such a constant exists. As suggested by Ratner and Pohl [Ramer & Pohl,
1986], once a solution has been found whose length is guaranteed to be "close" to the
optimum, then search methods should be used to locally optimize the solution.
5.1. A Lower Bound on The Number of Moves Required
Throughout this section we will assume that B 1 is the start configuration, B2 the final
configuration and opt the minimum number of moves for shifting B1 to B2. Also, whenever
we write "approximation algorithm" we mean a polynomial approximation algorithm that
130
D. Ratner and M. Warmuth
approximates the optimal solution by a multiplicative constant. For simplicity we assume that
the blank tile resides in the same location in both configurations. The following lemma assures
us that this assumption is valid.
LEMMA 5. If there is an approximation algorithm where the blank tile is located in the same
location in B 1 and B 2, then there is an approximation algorithm that does not assume that the
blank tile is in the same location.
PROOF. Let opt be as before and let d be the distance of the blank tile in B 1 and B z. Clearly,
d <opt. Let AL= be the approximation algorithm for the case when the blank tile is located in
the same location and let c be its multiplicative constant. The following algorithm transforms
B 1 to B 2: Move the blank tile from its location in B 1 to its location in B 2 and then use ALl to
produce the final configuration B~. Since the call to AL= requires at most c (d+opt) moves, the
total number of moves is at most (2c +l)opt. []
From now on we assume that the blank tile is located in lbt in both configuration B 1 and
B 2. We first proof a lower bound on opt which is the sum of two terms. The first term of the
lower bound is the number of necessary moves d (B 1,B 2), which can be expressed as follows.
Express B2 as a permutation ofB 1 (defined in Section 2), decompose the permutation into disjoint cycles and let C be the set of all such cycles. For a cycle C e C, d (C) denotes the sum of
the distances of adjacent locations on the cycle (If C has size one then d (C)=0). Also d (C) is
the sum of d (C) over all cycles C e C. Clearly d (C) = d (B I,B 2) < opt.
For the second term, let L be all locations at which B 1 and B 2 differ including the location of the blank file Ib,. Let the cost of a spanning tree of a subset of L be the total sum of all
distances of the edges. The value of opt is clearly lower bounded by the cost of a minimum
cost spanning tree of any subset of L. We choose a subset that contains Ibs and exactly one
location from each cycle. Combining the above leads to the following lower bound theorem.
THI~ORFaVl4. opt is at least as large as the half the sum of all distances of adjacent locations
on the cycles of B 1 and B 2 plus the cost of a minimum cost spanning tree of any set of locations
containing lb, and exactly one location from each cycle.
5.2. Sketch of an Approximation Algorithm
We first give an outline of the algorithm:
1. The algorithm finds a minimum cost spanning tree as described by the lower bound theorem.
2. It then "maps" the spanning tree and the cycles onto the board as follows. The nodes are the
locations at which lb, and the tiles of the cycles reside in the initial configuration. Any pair of
nodes that are adjacent in the spanning tree or on a cycle is connected by one of the two possible orthogonal angles. This angle of locations is called the edge connecting the two nodes.
3. The blank tile traverses the nodes and edges of the spanning tree such that each edge is
traversed exactly once in each direction. When an edge is traversed the first time the blank tile
moves each tile encountered one step "backwards" (see Figure 4), The second traversal of the
edge (in opposite direction) undoes the changes of the first. By the definition of the tree it follows that the blank tile encounters at least one tile from each cycle during the traversal. Whenever during the traversal of the tree the blank is adjacent to a tile of new cycle, then the
approximation algorithm "fixes" the cycle of that tile by rotating the tiles of the cycle along the
edges of the cycle to their location in the final configuration (this is described in more detail
below). After the cycle is fixed the traversal of the tree is continued.
The (n 21)Puzzle
131
Fixing a cycle: Let C = (to,t1 . . . . . tol) be the cycle to be fixed and h be the location at
which tl resides in B 1. Assume the blank tile is adjacent to location lo. The blank tile first
moves with to along (lo,ll), then with tl along (11,12), and so forth until to2 is moved from lc2
to 1~1. Secondly, the blank tile moves with the final tile t~i from I~1 to lo via the path
lc2, It3. ' '  ,lo.
Call the locations of the nodes and edges of the spanning tree and the cycles the primary
locations of the board. We now sketch how the blank tile (denoted by V) moves along a
directed edge with some tile x. Assume on an edge the following tiles are in four adjacent
locations: V, x, al, cr
where the location on which V resides is closer to the tail of the
edge. There are simple macros that arrange the tiles on the four locations to cr V, x, a3, a2
and then to al, a2, V, x, a3. During the execution of such a macro the blank tile moves outside of the four locations but the macros have the property that all tiles other than the ones in
the four locations are at the same location before and after the execution of a macro. For lack
of space we omit an exact description of the macros but their existence of is implied by
Theorem 1. Each of them only requires a constant number of moves and advances x by
exactly one location w.r.t, the direction of the edge. Applying the macros iteratively moves the
blank tile and x along the edge. Observe that the tiles of the edges (the cq's) are shifted by
exactly two locations backwards while moving the blank tile with x through the edge. All
other tiles remain in the same location. This change is undone by moving backwardly through
the edge with some other tile. In the above fix procedure each edge of the cycle is either
traversed once in each direction or not at all.
In general, the entire approximation algorithms consist of a sequence of macros and simple shifts of the blank tile on primary locations. A small number of additional macros are
needed to deal with the movement through the nodes. The blank tile only temporarily enters
nonprimary locations during the execution of the macros. Between macros all nonprimary
locations contain the same tiles as in the initial and final configuration.
This completes a rough sketch of the approximation algorithm. There are two subtle
problems that we still need to address. First, because of the reachability constraints of
(n21)puzzle, cycles of even size can only be fixed up to a swap of two tiles (Theorem 1).
Second, a node Ii of the cycle might appear on an edge of the same cycle (see Figaro 11).
While this edge is traversed, tj is moved by two locations away from I/. This may happen
many times and t~ might be pushed "far away" from lj. Call the nodes of the cycle that appear
on the edges of the cycle early nodes.
To fix the first problem observe that by Theorem 1 the number of even cycles is even.
When the first even cycle is fixed up to a swap, we can carry the swap along the spanning tree
(possibly fixing odd cycles on the way) until we reach the next even cycle. Now this cycle can
be fixed completely since we entered it with a swap. This process is iterated. The mention parity property guarantees that at the end of the whole traversal no swaps are left. Carrying a swap
along is done iteratively using a macro of a constant number of moves that arranges three adjacent location on an edge from V, a~, al, cr (where al and a2 are swapped) to cq, V, ct3, a2
(where a2 and a3 are swapped). Again the existence of such a macro is implied by Theorem 1.
To fix the second problem we modify the traversal of the cycle. For the description of
the modification it is easier to denote a cycle by the sequence of location (i.e. the nodes) on
which the tiles of the cycle reside. We first explain how the fixing process is done using the
cycle (lo, " ' ,15) of Figure 11. Note that in this cycle the node 13 is early, i.e. it appears on the
edge (lo,ll). To fix the cycle we begin moving to along the edge (10,/1). However we stop this
132
D. Rather and M. Warmuth
ll
l
l0
i
Figure 11: An (early) node of a cycle appears on an edge of the cycle.
process right when to is at location 13. At this point the initial tiles of the edge (lo,ll) including
the tile t3 were shifted two locations backwards on the edge and the second location before 13
contains t3 followed by the blank tile and then to in 13. We are now ready to fix the cycle
(13,1b12) using the previous method (Note that to is in 13). At the beginning of this fixing process Of the smaller cycle the blank tile is adjacent to to in 13 and at the end the blank tile is
again in the same location and the tiles to, ti and t2 are in their final location. Then move with
t3 along the edge (13,/4) fixing the cycle (13,14,1s). Finally shift ts from 13 to lo. The total path
of the blank tile used for fixing the cycle of Figure 11 is given in Figure 12.
ll
lo
13
A
JFi
*.y
I5
Figure 12: The path used to fix the cycle of Figure 11.
In general, the subcycles might again contain early nodes on their edges, Thus the fixing
process might again split cycles. We will fix the subcycle of the cycle in a depthfirstsearch
fashion. Formally, let C = (/0,/1 . . . . . lc1) be the cycle that we are to fix and while traversing
the path 10, 9 9 9 ,Ici let lj be the first early node that appears on some edge (ll ,li+1) of the cycle.
Note that j >i. We begin fixing the whole cycle by moving the blank tile around the cycle, at
each point carrying along the proper tile. This process is stopped when tl is shifted onto lj
while attempting to move with tl along (h ,/i+3. As above, the location before lj now contains
the blank tile and one before that tj. As a next step we recursively fix (li ,h+l, ' 9 ' ,lj1). Recall
that before this call tl resides in lj and after the call the tiles t i , . . . ,t/1 are at their final
The (n 21)Puzzle
133
location. We continue moving with tj along (lj,lj+l) fixing the cycle (lj,l)+l,l)+2,'.. ,tol).
Finally, we shift Ic1 from lj to 10. Note that whenever a subcycle is fixed then this might
cause nested calls for fixing subcycles. This completes the sketch of the algorithm. A more
detailed description is given in [Ratner, 1986] and omitted here.
It is easy to see by an induction on the size of the cycle that the recursive fixing procedure is correct. The correctness of the whole algorithm follows now from the fact that during the traversal of the tree the tiles on the path from lbt tO the current location are shifted one
step backwards. All cycles encountered so far are corrected in the sense that the tiles of these
cycles (that are not on the path) are rotated to their place inB2. Otherwise the current board is
identical to B 1.
The total number of moves used by the approximation algorithm is no more than a constant times the lower bound, since per node and per location of an edge of the tree and the
cycles only a constant number of moves is required. The time to find a minimum cost spanning tree is O (I C 12) [Prim, 1957]. Except for finding the spanning lree, the run time of the
approximation algorithm is linear in the lower bound. Thus we conclude with the following
theorem.
THEOREM 5. There is a polynomial approximation algorithm for (n21)puzzle that produces a solution of length at most constant times the length of the optimum solution.
5.3. Optimizations of the Approximation Algorithm
We complete the paper by discussing various optimizations of the sketched approximation
algorithm:
1. Observe each cycle contributed a location to the node set of the minimum cost spanning
tree. By modifying the standard minimum cost spanning tree algorithms [Prim, 1957] one can.
choose the representatives of the cycles such that the cost of the produced tree is minimized
[Ratner, 1986].
2. To fix the second problem (nodes occurred on edges) we broke the cycle into two cycles and
recursively fixed each of the smaller cycles. A similar case is given in figures 13 and 14,
where two edges of the cycle intersect on the board. We move to to the intersection point l,
then recursively fix the cycle (1,11,12) before continuing to fix the cycle (lo,lz,14). It turns out
that splitting cycles using intersections between edges saves moves.
3. Similar saving can be obtained when two different cycles intersect.
4. In the above we observed that intersections of cycles result in shorter move sequences. The
algorithm can embed the edges of the cycles and the spanning tree in the board s.t. a large
number of intersections occur.
5. There are other basic ways of fixing a nonintersecting cycle: For example move twice backwards around the cycle with only the blank tile, and then once forwardly, at each point carry~ng along one tile.
134
D. Ratner and M. Warmuth
13
l
Io
O
Figure 13: A cycle in which two edges intersect.
13
,,IT
I
lo
.~

~:_
14
I
I
I
I
!
1
!
I
e
:~
ll
~'12
Figure 14: A shorter path that fixes the cycle of Figure 13.
Acknowledgements
We would like to thank Prof. Ira Pohl for suggesting to us that nPUZ might be NPcomplete.
The second author gratefully acknowledges the support of ONR grants N0001486K0454
and NOOO 1485K0445.
References
Doran, J., Michie, D. (1966). Experiments with the graph traverser program. Proceedings of
the Royal Society (A), 294 pp. 235259.
Fiat, A., Moses, S., Shamir, A., Shimshoni, I., Tardos, G. (1989). Planning and learning in
permutation groups. Proceedings 30th IEEE Symposium on Foundation of Computer
Science, to appear.
The (n21)Puzzle
135
Fraenkel, A.S., Garey, M.R., Johnson, D.S., Schaefer, T., Yesha, Y. (1978). The complexity
of checkers on an N by N board. ProceediNgs 19th IEEE Symposium on Foundation of
Computer Science, pp. 5564.
Gaschnig, J. (1979). Performance measurement and analysis of certain search algorithms.
Ph.D. Thesis, CarnegieMelon University.
Goldberg, A., Pohl, I. (1984). Is Complexity Theory of Use to AI? Artificial and Human Intelligence, Elsevier Science Publishers.
Goldreich, O. (1984). Finding the shortest movesequence in the graphgeneralized 15puzzle
is NPhard. Labaratory for Computer Science, MIT, unpublished manuscript.
Hopcroft, J.]E., Schwartz, J.T., Sharir, M, (1984). On the complexity of motion planning for
multiple independent objects; PSPACE_IIardness of the "Warehouseman's Problem".
The International Journal of Robotics Research 3 pp. 7688.
Korf, R.E. (1985). Learning to Solve Problems by Searching for MacroOperators. Research
Notes in Artificial Intelligence 5, Pitman Advanced Publishing Program.
Koff, R.E. (1985). Depthfirst iterativedeepening: An optimal admissible tree search.
Artificial Intelligence 27 pp. 97109.
Kornhauser, D., Miller, G., Spirakis, P. (1984). Coordinating pebble motion on graphs, the
diameter of permutation groups, and applications, Proceedings 25th 1EEE Symposium on
Foundation of Computer Science, pp. 241250.
Lawler, E.L., Lenstra, J.K., RinnooyKan, A.II.G., Shmoys, D.B. (1985). The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization. John Wiley & Sons.
Lichtenstein, D., Sipser, M. (1978). Go is Pspaee hard. Proceedings 19th IEEE Symposium on
Foundation of Computer Science, pp. 4854.
Loyd, S. (1959). Mathematical Puzzles ofSamLoyd. Dover, New York.
McCoy, N.H., Berger, T.R. (1972). Algebra: Groups, Rings, and Other Topics Boston: Allyn
and Bacon.
Pearl, J. (1984). Heuristics. Intelligent Search Strategies for Computer Problem Solving.
AddisonWesley.
Pohl, I. (1971). Bid~ectional search. B. Meltzer, D. Michie, eds. Machine Intelligence 6
New York: American Elsevier, pp. 127140.
Pohl, I. (1973). The avoidance of (relative) catastrophe, heuristic competence, genuine
dynamic weighting and computational issues in heuristic problem solving. Proceedings
Third International Joint Conference on Artificial Intelligence. Stanford, CA.
Pohl, I. (1977). Practical and theoretical considerations in heuristic search algorithms. B,
Meltzer, D. Miehie, eds. Machine Intelligence 8 New York: American Elsevier pp. 5572.
Politowski, G. (1986). On construction of heuristic functions. Ph.D. Thesis, University of
California at Santa Cruz.
Prim, R.C. (1957). Shortest connection networks and some generalizations. Bell System
Technical Journal 36, pp.13891401.
Ramer, D. (1986). Issues in theoretical and practical complexity for heuristic search algorithms. Ph.D. Thesis, University of California at Santa Cruz,
Ramer, D., Pohl, I. (1986). Joint and LPA': combination of approximation and search.
Proceedings Fifth National Conference on Artificial Intelligence,
Philadelphia, PA.
136
D. Ratncr and M. Warmuth
Rendell, L.A. (1983). A new basis for statespace learning systems and a successful implementation. Artificial Intelligence 20 pp. 369392.
Schaefer, T.I. (1978). The complexity of satisfiability problems. Proceedings lOth Annual
A C M Symposium on Theory of Computing. New York.
Appendix
THEOREM 6. 2/2/4SAT is NPcomplete.
PROOF. W e will reduce 21214SAT to 1~3SAT, a known NPcomplete version of the
satisfiability problem [Schaefer, 1978]:
INSTANCE. A set U of variables and a collection C of clauses over U such that each clause
c e C has exactly three literals ( I c I = 3).
QUESTION. IS there a truth assignment for U such that each clause in C has exactly one true
literal ?
Let U = [ul,u2 ....... u~ } be a set of variables and C = {cl,c2 ....... cp } be a set of clauses which
are an arbitrary instance of 1/3SAT. In the following four steps we construct the corresponding instance of 2/2/4SAT: a collection C ~ of 7p four literal clauses over a set V of 7p variables. Each v ~ V appears exactly twice negated and twice unnegated in the clauses of C*.
STEP 1. Rename each appearance of a literal in each clause o f C with a unique name
(variables v i j , for 1 < i < p and 1 ~ j < 3) and add a new variable wl to each clause. Thus as
a result o f this step we have a set V1 of variables and a set C1 of clauses such that:
Vl={Vij II<i<p,i<j<3}k.){wt
I l<i<p
}
C l = { ( vi.l , vi,2 , vt.3 , wt ) l l < i < p }
STEP 2. The clauses of this step assure that all vij that correspond to the same literal uk
in C have the same assignment. Also all vt, j. that correspond to the literal ~k must have the
opposite assignment than the vi,: variables that correspond to the literal uk.
Let l be a literal in the 1~3SAT instance.
O c c u r ( l ) := {viz I l is the j  t h literalin ct } and
as := IOccur(ui)l,
bl := I O c c u r ( ~ ) l ,
si :=
(aj + b : ) .
Note that ai (b~) is the number of occurrences of ui (respectively ~'s) in the formula of the
1~3SAT
instance.
Let
Occur (ui) := { x l , x 2 , " 9 ' , x,, }
and
O c c u r ( ~ ) := {Yl , Y 2 , " " ,Y~,} . Now we construct, for each u i ~ U , a chain of (ai + b l ) 4
literals clauses, called C2.~. This chain consists of four subsets C(k)z~ , for 1 _<k _<4. In each
new clause we introduce a new variable. The chain is:
C(1)2.1 = { ( xj , x:+l , zs,+: , z',,+j ) I 1 ~ j < ai1 }
C(2)2,/ = {( Xa, , Y l , ~'s,+a, , Za,+a, )
C(3)2,t = { ( ~ ,yj+l ,za,+~,+j, ~,+a,+j ) I l < j < b t  1 }
C ( 4 ) 2 j = {(~b, , X l , Za,+a,+b, , ~a,+a,+b, ) }
I f a l = 0 then C(1)2# = CC2)zl = qband Cr
= {(yt,, , Y l , z~,+b,, ~,+b, ) } 9
If bi = 0 then C(3)2,i = Cr
= d: and Cr
= {( x~,, s z,,+~,, ~+~, ) } .
In summary this step adds the following variables and clauses:
V z = { z j I l<j<__3p }
The (n 21)Puzzle
2= i__~C~ where
C2.i =
137
C(k)2,i.
STEP 3. This step forces the variables w~ for 1 < i <p, to posses the same truth assignment in the 2/2/4SAT instance. We use the same technique as in Step 2 and add the following p clauses:
C3= { ( wi , ~i§ ,zi , ~ ) l l < i < p  1 } tO { ( wp , ~ l ,zp , ~ ) }
STEP 4. We now add clauses in order that each literal will appear exactly twice. Note
that each of the literals vi,i , wi , zl , and F/ , for 1 < i <p and l < j <3, have already
appeared twice. The literals ~]j , for l < i <p and l < j < 3 , and the literals ~i , for
1 < i _<p, have appeared only once in the previous steps. Therefore we add another set o f
clauses, called C4,1, which is as exactly as C~ except that all the variables in the clauses are
negated: C4,1 = { ( Vi,l, V,.,2, V,.,3, ffi ) I 1 < i < p }
The literals zi and ~ , for pel < i < 3p , have appeared only once ( in C2 ), They appear a
second time in the following set of clauses, called C4,2:
C4,2= { ( zp+i, ~.+i, z~+~, ~z.+~ ) I 1 _< i <__p }
C4 C4,1 k..) C4~
The four steps give the corresponding instance of 2/2/4SAT, where
=
C* = C l k,.JC2kflC3k.JC4 andV = V l k.JV2 .
Note that each v ~ V appears exactly four times, twice negated and twice unnegated. W e only
sketch the proof that the instance of 1~3SAT has a valid truth setting (one Irue in each clause)
iff the instance of 2/2/4SAT has a valid truth setting (two true per clause). An extended proof
and examples are given in [Ratner, 1986].
Given a truth setting which is a solution to the instance of ll3SAT. Assign all literals in
Occur (l) the same value as I and set all variables wl and zj to true. It is easy to check that the
constructed truth assignment for the instance of 2/2/4SAT contains exactly two literals per
clause.
Finally given a truth setting for the instance of 2/2/4SAT. Note that the complementary
truth setting also contains exactly two true literals per clause. Pick the truth setting that sets w 1
to true. The clauses of C3 assure that all the wi are set to true as well. Thus in the clauses of
C1 exactly one of the literals vi,1, via, vi,3 is set to true. The clauses of Cz force all variables
in Occur (l) to have the same value and all variables in Occur (T) have the same but the opposite value. We conclude that by assigning the literal l the same value as the members of
Occur (l) we get a solution to the instance of 1~3SAT. []