Computer Chess Club Archives


Search

Terms

Messages

Subject: Forward with Opening Theory

Author: Christopher Conkie

Date: 03:19:49 05/17/05

Go up one level in this thread


Hello Joshua,

Here is something I made last year in August.

It has never been released. It's rather good if I say so myself.

============================

Arena Chess Openings (ACO) by Christopher Conkie

An opening book is a database of chess opening theory. Chess engines use opening
books to save time in the first phase of a game. These books save the engine a
substantial amount of time by allowing the opening to be played robotically
until such point as the known theory of a specific opening is used up and the
engine starts to think for itself. There is no need to calculate years of deep
grandmaster analysis of lines ‘over the board’ if these lines are instantly
available in the opening book.

Most methods to produce such opening books are based on human grandmaster play.
In effect, huge quantities of quality games are amalgamated into what is
largely, nothing more than one big game, with multiple variations. The chess
engine is only a spectator in this mechanism, and in the game itself, up until
the point that the book can no longer supply a move as a reaction to its
opponents move. At this point the engine is said to be ‘out of book’ and must
calculate its reaction for itself. It would appear to me that, in general, book
creation is for the most part based on debate.

The use of grandmaster games for opening book creation is fatally flawed in one
very important area. The games that are used to create the book are human by
their very nature. They are produced by humans (in chess games), and honed by
humans (book creators), who have opinions. Opinions are very misleading and
divisive sometimes, no matter how firmly believed in. If the grandmaster is
wrong in his assessment of a position in his game, it follows that the book
creator will be wrong to include said game in their opening book. It may be that
the blind are leading the blind.

I prefer to deal in fact, pure, cold, hard, fact. Debate is not included as far
as I am concerned in this matter.

Is there a way therefore, to produce an opening book that is produced by
something so factual, so exacting, that it does not, cannot have an opinion?

Well, yes, at least in theory there is.

You get the engines to do it for you. I have stared at this fact, analysed this
fact in my head for so long that I no longer have any choice but to admit that
the engines themselves, should decide. Notice the fact I said engines, not
engine.

What if, you took the element of doubt out of the equation? What if, you let the
engines play the grandmaster games? Let them create their own theory?

Against whom should the engines play? They could not play against one another,
because that would be opinionated. They should play against themselves. There
would be no debate then. The engine would play out the position, to the best of
its own ability. The factors that would determine the accuracy of this in
computing terms are:

1.	The ability of the processor
2.	The amount and type of memory
3.	The speed and arrangement of the hard drive(s)
4.	The time given to the engine to ponder its move
5.	The mathematical algorithms by which the engine calculates its move

In effect, the first three items are hardware dependant; the last two are
analyst/programmer dependant. The longer an engine is given to think about its
move, the more accurate its analysis will be. In turn, the faster it is allowed
to do this, the more computations it can make, and therefore, consider the
position to a deeper level. The algorithm may be where an opinion is offered.
This I cannot get round. Or maybe I can…..

If I take the analysis of many engines (algorithms) and combine them, I arrive
at an average. A consensus of opinion. It would be an agreement by majority
verdict of the best way to go. It would be independent of human intervention,
and devoid of argument. The only human element would be, how long to analyse
these positions for, and the quality of the hardware.

It would in effect show the quality of the human and their ability to improve
upon positional understanding in the game of chess. In other words it may, allow
the programmers of engines, to see where there computations in their algorithms
may be deficient. This assumption is that it is sometimes better to work
backwards through a problem.

One could turn these ‘games’ into a statistical wonderland of analysis and book
creation. This brings me nicely to how one would organise, gather and present
the information for public consumption. It could be made into a resource of
chess theory for book creators and engine programmers.

Take for example…..

1.	16 engines with differing methods by which they calculate the game tree.
2.	Set a long time control, give them lots of memory, good hardware, no book and
let them play their selves.
3.	Take a reading of the evaluation of the of the start position of a chess game
with each engine.
4.	Take a reading of the evaluation of each opening/variation for the last move
of each human line. (I know where you can get such a reference)
5.	Start playing games from that position onwards for every available
opening/variation.
6.	Let them play out the game until the 30th move (60 ply).
7.	Record the evaluation of the position the game creates after the black 30th
move.

You now have the ability to offset the evaluation of the start position for each
engine so they are all equal. Then take the variation evaluation, take away the
start evaluation that has been offset. Compare this in turn with the offset
evaluation of the final position after black’s 30th move. You now have an
evaluation of a position for each engine that can be averaged. You also have 16
clean games from the point of view of each respective engine for each of the
openings. There are 3418 different variations in ecocodes. That’s 16 x 3418 =
54688 games. Filter for doubles. Create a database of all analysis that could
then be queried in a multitude of ways.

The preceding example is with just 16 strong engines. The analysis could be
expanded to evaluate after each move in the future.

The kind of statistical analysis that could be produced would benefit both book
creators and engine programmers alike. You could query the database by:

1.	Engine
2.	ECO Code
3.	Specific Variation
4.	Evaluation (Both average and specific)
5.	A combination of any of the above

Therefore you could produce clean books from these clean lines too. These books
could be:

1.	Engine specific
2.	ECO Code specific
3.	Variation specific
4.	Evaluation specific
5.	Hardware specific
6.	Depth specific (number of moves)
7.	A combination of all of the above

The database could be arranged in such a way that it could produce PGN files
based on these queries. PGN files could be produced for all occasions and turned
into opening books. You could start to map the DNA signature of chess. Because
we have their theory, the analysis could also be turned into an encyclopaedia of
computer chess openings.
The analysis can be queried to produce not only opening books for all purposes.
It also could produce another kind of book, the paper kind that is.

It is possible to produce a formatted PDF template, and when the database is
queried render this information for each opening and variation in the template.
These pages could show:

1.	The history of the opening/variation and a preamble
2.	The statistical analysis by evaluation in computer chess terms
3.	A formatted game tree and repertoire

As the ecocodes become more detailed the database also becomes larger. As the
database becomes modified so the page results would change and improve. You
could at a point in time, say each year, produce an encyclopaedia of computer
chess openings.

====================

Fowards not backwards.

I did think about backwards.

You can automate the above process in Arena.

Regards

Christopher



This page took 0.01 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.