Can a knight visit all squares of a chessboard exactly once?

advertisement
Can visit all squares
of a chessboard exactly
once ?
by Krishna Mahesh Deevela Murali
Overview
Problem Statement of Real World Problem
Basic Concepts
Formulating Graph Problem
Solution to Graph Problem and Real world Problem
Interesting Facts
Can visit all squares of a
chessboard exactly once ?
Our real world Problem is a very simple Question, it is to
find if a Knight can legally visit every square on a
Chessboard only once and Return to Starting position?
If Knight’s tour Exist ??
If Yes!! when does it happen??
If Not!!! Why??
Topic sounds Interesting rite… so lets not waste time and
jump into topic just like the Knight …
Solution to Graph Problem
Hamilton Circuit
A Hamiltonian cycle (or Hamiltonian circuit) is
a cycle in an undirected graph which visits each
vertex exactly once and also returns to the
starting vertex. E.g 0,1,2,3,0
•A
path visits each vertex of a graph once
and only once. E.g 0,1,2,3
Formulating Graph Problem
In a chessboard the vertices would represent the squares of the board
and the edges would represent a knight’s legal moves between squares
results in a graph as shown below, Known as Knight’s graph.
Highlights :
Every Vertex represents
square on chessboard.
Every edge is one legal move
of a Knight.
Special Properties of Knight’s Graph
MxN chessboard has MN vertices. i.e Number of
Squares equal to Vertices.
Graph is Undirected.
Edges of equal length, i.e one legal Knight Move.
Knight’s Move is Symmetric. A to B is equal to B to A.
Every move of knight Alternates between black
and white. i.e move from white square will always
result in an ending position on a black square and
vice-versa
Solution to Graph Problem
The Knight’s Tour is a well-known classic problem. The objective
is to move a knight, starting from any square on a chessboard, to
every other square once. Note that the knight makes only L-shaped
moves (two spaces in one direction and one space in a
perpendicular direction).
If we observe the Knight's Tour problem turns out to be an
instance of the more general Hamiltonian path problem in graph
theory.
The problem of getting a closed Knight's Tour is similarly an
instance of the Hamiltonian cycle problem.
Solution to Graph Problem
We have 2 types of solutions, Hamiltonian Path when
Knight starts at a vertex and doesn't end at the same vertex,
Open Knight tour.
Hamiltonian Cycle where starting vertex and final vertex is
the same, thus resulting a Cycle, Closed tour.
The Solution to both Closed and Open tour are same just
that start and final vertices are going to same and different
correspondingly.
Algorithm:
We can use simple algorithm to find if Knights tour Exists on the
given board or not.
M x N be size of board i.e mn number of squares.
Total number of moves would be A=m*n-1.
Visited be a two dimentional array [M][N] initialized to false, when
Knight visits this square it is set to
true.
I be integer between 0 & A representing the number of moves,
intialially it is 0, and if knight completes the Path it is A.
After Completeting the path if the one of next possible move
results to initial position, it is a Closed tour, else it is Open Tour.
Algorithm move(x,y,i)
1.
if( (x < 0) OR (x ≥ M) OR (y < 0) OR (y ≥ N) )return false
2.
if( visited[x, y] = true ) return false
3.
if( m = M ) print “A solution has been found”
•
•
•
print “ x, y ” //This starts printing the solution
set visited[x, y] = true
return true
else //This is a valid move, but a tour has not been completed.
•
•
•
•
•
•
•
•
set result = false OR Move( x+2, y+1, m+1)
set result = false OR Move( x+2, y-1, m+1)
set result = false OR Move( x-2, y+1, m+1)
set result = false OR Move( x-2, y-1, m+1)
set result = false OR Move( x+1, y+2, m+1)
set result = false OR Move( x+1, y-2, m+1)
set result = false OR Move( x-1, y+2, m+1)
set result = false OR Move( x-1, y-2, m+1)
Algorithm move(x,y,i) contd..
4. if( result = true ) //One of the 8 moves above led to a completed tour.
•
•
print “ x, y ”
return true
5. Else //None of the moves from this position led to a successful tour.
//Now we must backtrack and try a different path
•
•
set visited[x, y] = false //Unvisit this location
return false
Hence our Real World Problem is Solved..
Using Knights Graph and Basic Graph
Theory.
The Closed Knight’s Tour
The Open Knight’s Tour where start and final vertex are different
Are you finding it hard to believe this would even work... Then take a live look.
http://commons.wikimedia.org/wiki/File:Knight%27s_tour_anim_2.gif#medi
aviewer/File:Knight%27s_tour_anim_2.gif
http://upload.wikimedia.org/wikipedia/commons/1/1e/Turk-knightstour_anim.svg
How many closed knight’s tours are there on an 8 × 8
board?
1 ?? 100 ??
10000??
No No No… it is biggerrrrrr
26,534,728,821,064
If we have to find all the closed paths every
human has to find 3500 diff paths
Population of world 7 billion but no of paths are
26 trillion
How many open knight’s tours are there on an 8 × 8
board?
19,591,828,170,979,904
19 Quadrillion
When does this Closed Knight’s Tour occur
In 1991, Allen Schwenk completely determined which
rectangular chessboards have a closed knight’s tour.
An m × n chessboard with m <= n has a closed knight’s tour
unless one or more of the following three conditions hold:
(a) m and n are both odd;
(b) m = 1, 2 or 4 ;
(c) m = 3 and n = 4, 6 or 8.
(explaination is not given due to
complexity and time for condition c)
Condition (a): m and n are both
odd.
Recall that a legal move for a knight whose
initial position is a white square will always
result in an ending position on a black square
and vice-versa.
Hence, every tour representing the legal moves
of a knight alternates between black and white
squares.
Condition (a): m and n are both odd.
Suppose m and n are both odd.
There will exist an odd number of squares on the
board.
The number of black squares will not equal the
number of white squares.
No closed tour can exist.
Condition (b): m = 1, 2 or 4.
Suppose m = 1
K
Suppose m = 2
K
Condition (b): m = 1, 2 or 4.
For 4 × n boards we require a more complex coloring of
the board than the traditional black and white
coloring.
Condition (b): m = 1, 2 or 4.
Note that a knight must move from a brown square
to a black square. Likewise, a knight must move from
a white square to a green square. Two closed cycles
are now forced to exist and no closed tour exists for
the 4×n board.
Solomon Golomb
Double and single loop in
4x5 board
Double loop in 4x8 board
Closed tours of few Boards
18x18 board
5x6
8x3
10x3
6x6
30x30
7x6
7x8
5x8
8x6
12x3
60x60 board
Semi Magic Squares
First semi-magic knight’s tour
In each quadrant,
the sum of the
numbers equals
520 and each of
the
rows and columns
adds to 130
The sum of the numbers in each 2x2
section is 130
Even after so many number patterns it is called
semi magic because the diagonals did not also add
to 260.
Total of 140 semi magic knight’s tours are
found. But not even a single fully magic
knight’s tour in 8x8 is possible
Knight’s tours and cryptography
A cryptotour is a puzzle in which the 64 words or syllables of a verse are
printed on the squares of a chessboard and are to be read in the sequence of
a knight’s tour.
Knight’s tours and 3-D patterns
Four polygons formed by 16 knight moves and their tessellation of the plane
Knight’s tour
tessellations can
even be used to
create beautiful 3-D
patterns such as
astersphaira
hexastersphaira
References..
Jelliss, George. ”Introducing Knight’s Tours.”
http://homepages.stayfree.co.uk/gpj/ktn.htm
“Knight’s Tours”- Ben Hill, Kevin Tostado
“Closed Knight Tour on Rectangular Boards”sciencedirect.com
A. J. Schwenk, Which Rectangular Chessboards have a
Knight.s Tour? Mathematics Magazine
Any Questions
Thankyou..
Download