1
5. Cost and Knight's Tours in Parallel
The cost of solving a problem on a parallel system is defined as the product of parallel run time and the number of processors used. It reflects the total time that each processor spends in solving the problem. The cost of solving a problem on a single processor is the execution time of the fastest known sequential algorithm. In the knight's tour problem, any sequential algorithm designed to construct a knight's tour on an n×m chessboard on a single processor must run at least in O(nm) time, because it have to decide the connectivity for each square on the board. Our algorithms Knight(n, m) and OpenKnight(n, m) can also run in O(nm) time to construct a knight's tour on a single processor so that they are cost optimal.
Our algorithms can also be implemented on parallel computer systems by following the methods described in Parberry [13] as a model. A mesh is an extension of the linear array to two dimensions with a particularly simple interconnection pattern. Each processor has a direct communication link connecting it to four other adjacent processors. An n × m mesh has n× m processors and processor (i, j) is connected to processors (i-1, j), (i+1, j), (i, j-1) and (i, j+1) for 0 ≤ i < n and 0 ≤ j < m.
A mesh with CREW buses is a mesh-connected machine with a bus for each row and
each column. Besides the operations of a standard mesh, each processor may also
write to or read from either its row bus or column bus. Only one processor has the
2