HOME

TheInfoList



OR:

A knight's tour is a sequence of moves of a
knight A knight is a person granted an honorary title of a knighthood by a head of state (including the pope) or representative for service to the monarch, the church, or the country, especially in a military capacity. The concept of a knighthood ...
on a
chessboard A chessboard is a game board used to play chess. It consists of 64 squares, 8 rows by 8 columns, on which the chess pieces are placed. It is square in shape and uses two colours of squares, one light and one dark, in a chequered pattern. During p ...
such that the knight visits every square exactly once. If the knight ends on a square that is one knight's move from the beginning square (so that it could tour the board again immediately, following the same path), the tour is "closed", or "re-entrant"; otherwise, it is "open". The knight's tour problem is the mathematical problem of finding a knight's tour. Creating a program to find a knight's tour is a common problem given to
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
students. Variations of the knight's tour problem involve chessboards of different sizes than the usual , as well as irregular (non-rectangular) boards.


Theory

The knight's tour problem is an instance of the more general Hamiltonian path problem in
graph theory In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
. The problem of finding a closed knight's tour is similarly an instance of the Hamiltonian cycle problem. Unlike the general Hamiltonian path problem, the knight's tour problem can be solved in
linear time In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations ...
.


History

The earliest known reference to the knight's tour problem dates back to the 9th century AD. In Rudrata's (5.15), a Sanskrit work on Poetics, the pattern of a knight's tour on a half-board has been presented as an elaborate poetic figure () called the or 'arrangement in the steps of a horse'. The same verse in four lines of eight syllables each can be read from left to right or by following the path of the knight on tour. Since the Indic writing systems used for Sanskrit are syllabic, each syllable can be thought of as representing a square on a chessboard. Rudrata's example is as follows: transliterated: For example, the first line can be read from left to right or by moving from the first square to the second line, third syllable (2.3) and then to 1.5 to 2.7 to 4.8 to 3.6 to 4.4 to 3.2. The Sri Vaishnava poet and philosopher Vedanta Desika, during the 14th century, in his 1,008-verse magnum opus praising the deity
Ranganatha Ranganatha, also known as Ranganathar, Rangan, Aranganathar, Sri Ranga, and Thenarangathan, is a Hindu deity with his origin in South India, southern India, serving as the chief deity of the Sri Ranganathaswamy Temple, Srirangam. The deity is a re ...
's divine sandals of Srirangam, Paduka Sahasram (in chapter 30: ''Chitra Paddhati'') has composed two consecutive
Sanskrit Sanskrit (; stem form ; nominal singular , ,) is a classical language belonging to the Indo-Aryan languages, Indo-Aryan branch of the Indo-European languages. It arose in northwest South Asia after its predecessor languages had Trans-cultural ...
verses containing 32 letters each (in Anushtubh meter) where the second verse can be derived from the first verse by performing a Knight's tour on a board, starting from the top-left corner. The transliterated 19th verse is as follows: The 20th verse that can be obtained by performing Knight's tour on the above verse is as follows: sThi thA sa ma ya rA ja thpA ga tha rA mA dha kE ga vi , dhu ran ha sAm sa nna thA dhA sA dhyA thA pa ka rA sa rA , , It is believed that Desika composed all 1,008 verses (including the special ''Chaturanga Turanga Padabandham'' mentioned above) in a single night as a challenge. A tour reported in the fifth book of Bhagavantabaskaraby by Bhat Nilakantha, a cyclopedic work in Sanskrit on ritual, law and politics, written either about 1600 or about 1700 describes three knight's tours. The tours are not only reentrant but also symmetrical, and the verses are based on the same tour, starting from different squares. Nilakantha's work is an extraordinary achievement being a fully symmetric closed tour, predating the work of Euler (1759) by at least 60 years. After Nilakantha, one of the first mathematicians to investigate the knight's tour was
Leonhard Euler Leonhard Euler ( ; ; ; 15 April 170718 September 1783) was a Swiss polymath who was active as a mathematician, physicist, astronomer, logician, geographer, and engineer. He founded the studies of graph theory and topology and made influential ...
. The first procedure for completing the knight's tour was Warnsdorf's rule, first described in 1823 by H. C. von Warnsdorf. In the 20th century, the Oulipo group of writers used it, among many others. The most notable example is the knight's tour which sets the order of the chapters in
Georges Perec Georges Perec (; 7 March 1936 – 3 March 1982) was a French novelist, filmmaker, documentalist, and essayist. He was a member of the Oulipo group. His father died as a soldier early in the Second World War and his mother was killed in the Ho ...
's novel '' Life a User's Manual''. The sixth game of the World Chess Championship 2010 between Viswanathan Anand and
Veselin Topalov Veselin Aleksandrov Topalov (pronounced ; ; born 15 March 1975) is a Bulgarian Grandmaster (chess), chess grandmaster and former FIDE World Chess Championship, World Chess Champion. Topalov became FIDE World Chess Champion by winning the FIDE ...
saw Anand making 13 consecutive knight moves (albeit using both knights); online commentators jested that Anand was trying to solve the knight's tour problem during the game.


Existence

Schwenk proved that for any board with ''m'' ≤ ''n'', a closed knight's tour is always possible ''unless'' one or more of these three conditions are met: # ''m'' and ''n'' are both odd # ''m'' = 1, 2, or 4 # ''m'' = 3 and ''n'' = 4, 6, or 8. Cull ''et al.'' and Conrad ''et al.'' proved that on any rectangular board whose smaller dimension is at least 5, there is a (possibly open) knight's tour. For any board with ''m'' ≤ ''n'', a (possibly open) knight's tour is always possible ''unless'' one or more of these three conditions are met: # ''m'' = 1 or 2 # ''m'' = 3 and ''n'' = 3, 5, or 6 # ''m'' = 4 and ''n'' = 4.


Number of tours

On an board, there are exactly 26,534,728,821,064
directed Direct may refer to: Mathematics * Directed set, in order theory * Direct limit of (pre), sheaves * Direct sum of modules, a construction in abstract algebra which combines several vector spaces Computing * Direct access (disambiguation), a ...
closed tours (i.e. two tours along the same path that travel in opposite directions are counted separately, as are rotations and reflections). See attached comment by Brendan McKay, Feb 18, 1997, for the corrected count. The number of '' undirected'' closed tours is half this number, since every tour can be traced in reverse. There are 9,862 undirected closed tours on a board.


Finding tours with computers

There are several ways to find a knight's tour on a given board with a computer. Some of these methods are
algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s, while others are
heuristic A heuristic or heuristic technique (''problem solving'', '' mental shortcut'', ''rule of thumb'') is any approach to problem solving that employs a pragmatic method that is not fully optimized, perfected, or rationalized, but is nevertheless ...
s.


Brute-force algorithms

A
brute-force search In computer science, brute-force search or exhaustive search, also known as generate and test, is a very general problem-solving technique and algorithmic paradigm that consists of Iteration#Computing, systematically checking all possible candida ...
for a knight's tour is impractical on all but the smallest boards. On an board, for instance, there are knight's tours, and a much greater number of sequences of knight moves of the same length. It is well beyond the capacity of modern computers (or networks of computers) to perform operations on such a large set. However, the size of this number is not indicative of the difficulty of the problem, which can be solved "by using human insight and ingenuity ... without much difficulty."


Divide-and-conquer algorithm In computer science, divide and conquer is an algorithm design paradigm. A divide-and-conquer algorithm recursively breaks down a problem into two or more sub-problems of the same or related type, until these become simple enough to be solved dir ...
s

By dividing the board into smaller pieces, constructing tours on each piece, and patching the pieces together, one can construct tours on most rectangular boards in
linear time In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations ...
– that is, in a time proportional to the number of squares on the board.


Warnsdorf's rule

Warnsdorf's rule is a
heuristic A heuristic or heuristic technique (''problem solving'', '' mental shortcut'', ''rule of thumb'') is any approach to problem solving that employs a pragmatic method that is not fully optimized, perfected, or rationalized, but is nevertheless ...
for finding a single knight's tour. The knight is moved so that it always proceeds to the square from which the knight will have the ''fewest'' onward moves. When calculating the number of onward moves for each candidate square, we do not count moves that revisit any square already visited. It is possible to have two or more choices for which the number of onward moves is equal; there are various methods for breaking such ties, including one devised by Pohl and another by Squirrel and Cull. This rule may also more generally be applied to any graph. In graph-theoretic terms, each move is made to the adjacent vertex with the least degree. Although the Hamiltonian path problem is
NP-hard In computational complexity theory, a computational problem ''H'' is called NP-hard if, for every problem ''L'' which can be solved in non-deterministic polynomial-time, there is a polynomial-time reduction from ''L'' to ''H''. That is, assumi ...
in general, on many graphs that occur in practice this heuristic is able to successfully locate a solution in
linear time In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations ...
. The knight's tour is such a special case. The
heuristic A heuristic or heuristic technique (''problem solving'', '' mental shortcut'', ''rule of thumb'') is any approach to problem solving that employs a pragmatic method that is not fully optimized, perfected, or rationalized, but is nevertheless ...
was first described in "Des Rösselsprungs einfachste und allgemeinste Lösung" by H. C. von Warnsdorf in 1823. A computer program that finds a knight's tour for any starting position using Warnsdorf's rule was written by Gordon Horsington and published in 1984 in the book ''Century/Acorn User Book of Computer Puzzles''.


Neural network solutions

The knight's tour problem also lends itself to being solved by a
neural network A neural network is a group of interconnected units called neurons that send signals to one another. Neurons can be either biological cells or signal pathways. While individual neurons are simple, many of them together in a network can perfor ...
implementation.Y. Takefuji, K. C. Lee. "Neural network computing for knight's tour problems." ''Neurocomputing'', 4(5):249–254, 1992. The network is set up such that every legal knight's move is represented by a
neuron A neuron (American English), neurone (British English), or nerve cell, is an membrane potential#Cell excitability, excitable cell (biology), cell that fires electric signals called action potentials across a neural network (biology), neural net ...
, and each neuron is initialized randomly to be either "active" or "inactive" (output of 1 or 0), with 1 implying that the neuron is part of the solution. Each neuron also has a state function (described below) which is initialized to 0. When the network is allowed to run, each neuron can change its state and output based on the states and outputs of its neighbors (those exactly one knight's move away) according to the following transition rules: :: U_ (N_) = U_t(N_) + 2 - \sum_ V_t(N) :: V_ (N_) = \left\{ \begin{array}{ll} 1 & \mbox{if}\,\, U_{t+1}(N_{i,j}) > 3\\ 0 & \mbox{if}\,\, U_{t+1}(N_{i,j}) < 0\\ V_t(N_{i,j}) & \mbox{otherwise}, \end{array} \right. where t represents discrete intervals of time, U(N_{i,j}) is the state of the neuron connecting square i to square j, V(N_{i,j}) is the output of the neuron from i to j, and G(N_{i,j}) is the set of neighbors of the neuron. Although divergent cases are possible, the network should eventually converge, which occurs when no neuron changes its state from time t to t+1. When the network converges, either the network encodes a knight's tour or a series of two or more independent circuits within the same board.


See also

* Abu Bakr bin Yahya al-Suli *
Eight queens puzzle The eight queens puzzle is the problem of placing eight chess queens on an 8×8 chessboard so that no two queens threaten each other; thus, a solution requires that no two queens share the same row, column, or diagonal. There are 92 solutions. ...
* George Koltanowski * Longest uncrossed knight's path *
Self-avoiding walk In mathematics, a self-avoiding walk (SAW) is a sequence of moves on a lattice (group), lattice (a lattice path) that does not visit the same point more than once. This is a special case of the graph theory, graph theoretical notion of a Path ( ...


Notes


External links

* *
H. C. von Warnsdorf 1823 in Google Books
*{{cite journal, doi=10.1109/MPOT.2012.2219651, title=A Generalized Pseudo-Knight?s Tour Algorithm for Encryption of an Image, journal=IEEE Potentials, volume=32, issue=6, pages=10–16, year=2013, last1=Philip, first1=Anish, s2cid=39213422 Chess problems Graph algorithms Hamiltonian paths and cycles Mathematical chess problems Mathematical problems