Design team member: Marko Dodig
Supervisor: Prof. Catherine M. Burns
Background
Chess is one of the oldest and most popular board games. Computer development in last twenty years has created a new generation of chess players - computer chess engines. Current chess algorithms adopt slight modifications of the brute force approach, choosing an optimum solution by looking at almost every combination of moves in order to select and examine only a subset of all the available moves. Human chess players, on the other hand, select only several moves that are viewed as promising, and work only on further evaluation of those moves.
Even though computer chess engines can perform larger number of different moves' evaluations, the best human chess players however still rival the best computer chess engines. There is a belief, therefore, that a progress can be made in combining the efficiency and the computational ability of the machines with the understanding of strategy fundamentals characteristic only to humans.
Project description
Chess games are analyzed for two important reasons - to understand why players made the moves they made, and how particular moves determine the outcome of a game. These are extremely important in improving the quality level at which the game of chess is played, since particular chess situations repeat themselves in different games. Without the board analysis, computers wouldn't be able to evaluate the quality of each board configuration, and to determine the best next move.
Chess analysis is always performed through the analysis of a single board position. This analysis indicates the following components that characterize a particular chess board position:
The
number
of
pieces
remaining
for
each
player
This
involves
a
simple
count
of
pieces
each
player
has
left
on
the
board.
The
quality
of
pieces
remaining
for
each
player
This
characteristic
represents
an
assessment
of
the
offensive
potential
that
the
pieces
remaining
on
the
board
have.
It
essentially
involves
counting
how
many
lines
of
power
each
piece
has.
The
quality
of
the
position
for
each
player
This
is
an
overall
evaluation
of
the
offensive
potential
of
the
pieces
and
the
actual
placement
of
the
pieces
for
each
player.
This
is
the
most
important
characteristic
of
the
chess
board
position
because
it
determines
who
has
a
better
potential
chance
of
winning.
A
set
of
'good
moves'
player
at
move
can
make
This
characteristic
is
evaluated
through
finding
all
the
moves
that
would
result
in
an
improvement
in
the
quality
of
the
position
for
the
player
at
move.
The
'best
move'
player
at
move
can
make
This
involves
finding
the
move
that
would
result
in
the
best
improvement
in
the
quality
of
the
position
for
the
player
at
move.
Within this project we will try to identify why humans are still able to rival computer moves' selections. It is this human player's ability to identify best moves that we will try to incorporate into an existing chess algorithm in order to improve its performance. This newly created chess algorithm will then be evaluated against its original algorithm through a series of chess games in order to determine whether an improvement has been made.
Design methodology
In order to identify what addition needs to be made to the computer chess algorithms to bring them closer to utilizing basic humans' chess strategies, the following design steps are to be followed:
-
Examination of the chess game (i.e. the rules of chess),
-
Examination of the human playing characteristics,
-
Examination of the current chess algorithms,
-
Comparison of the human and computer chess algorithms,
-
nd identification of the major differences,
-
Identification of the feasible improvements drawn from the major advantage humans have over computers in chess play,
-
Implementation of one the 'major' improvements into already existing chess algorithm - in case there are 'several 'major' improvements, the most promising improvement will be selected through the use of the evaluation matrix, and
-
New algorithm's testing and evaluation
Through the first part of the project it has been determined that humans are superior to computer chess algorithms in selecting the small set of 'good moves', which are the moves actually worth investigating to greater extents. It is this human algorithm characteristic that will be implemented in a computer chess algorithm, and then further tested and analyzed.