Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Why use opening books in machine-machine competitions?

Author: Bob Durrett

Date: 19:33:28 11/25/03

Go up one level in this thread


On November 25, 2003 at 02:59:12, Mig Greengard wrote:

>Having debated both sides of the issue in regard to man-machine play, I'm left
>wondering why opening books are used in computer-only competitions. It's one
>thing to say that a Kasparov has his own mental book and preparation so the
>computer should too. But what is the point of proving you can hire a better book
>preparer and where is the programming glory of winning on a cooked opening line
>whether by design or by chance against another machine?
>
>Doesn't it make sense to just dump the books and start letting these things play
>the opening on their own? Or if that's too dramatic and/or ugly, to play
>Nunn-style matches with balloted openings? Otherwise it seems to me that you
>just try to cover up the weaknesses of your program by tweaking the book to
>avoid the positions it doesn't handle. And that should be contrary to the goal
>of making a good chessplaying machine. Have their been significant projects
>without books? Or with computer-only generated and tuned books?
>
>I don't doubt this has been touched on often here but I didn't find much in the
>way of good answers to this in the archives. Is the continued use of opening
>books just sheer inertia, the quest to play better chess or more human chess, or
>are there other reasons? Too hard to regulate the definition of "book"? It's
>obvious that books are becoming more and more important and the teams are
>investing more work (and money) into them to be successful in computer-computer
>play. This all seems like a massive wrong turn or at best a distraction.
>
>One of the many suggestions for the next man-machine match is to let the human
>access a his own database, perhaps a limited number of times. That way it's not
>just a battle of human memory versus a specially prepared book with three
>million positions entered by humans. If and when that happens, the book
>advantage will be back on the human side. So it seems to me that the computer
>folks (i.e. you guys) could head that plan off by curtailing the use of books or
>eliminating. Instead you are increasingly dependent on them, particularly
>against humans.
>
>But that's another thread and I'd love to hear some answers on why books are
>still used in computer-computer play. I may quote you for an article, so shout
>out if you don't wish your name to be used for whatever reason. Thanks, Mig

I believe that the premise of your question is false.  We do not have engine vs
engine competitions.  We have, instead, competitions between programs which play
chess.  SSDF does limit themselves to testing of software which runs on a PC,
and that is their choice.  It is misleading, however, to say that SSDF is
engaged in engine vs engine testing.

Please review what Derek Paquette said in
http://www.talkchess.com/forums/1/message.html?330349.

He pointed out that his engine, using some sort of learning, started with a
large opening database and then modified it after oodles of games.  The new
opening book produced in that manner automatically adjusted to compensate for
the weaknesses in the search and position evaluation.  For example, if the
engine has trouble with a particular late opening or early middlegame position,
the learning feature simply made the necessary adjustment to avoid that problem
position.

One could give many engines the SAME large opening book and then have each
engine play a huge number of games with that book eventually converging on a
book optimized for that particular engine.  Not that I am recommending this, but
it could be done.

The objection to using an opening book is really an objection to using "learned"
information.  In this case, we are talking to learning in the opening, but the
same idea could apply to position evaluation functions designed to learn.  The
"learning" cannot be entirely done by silicon.  The programmer does that too,
and his/her learned information does find it's way into the software.

One practical problem is that information stored in a chess engine cannot be
entirely learned from scratch by the engine.  [I assume that this is true.] The
programmer puts knowledge into the engine in one way or another.  Subsequent
play of the engine could alter the information put into it by the programmer,
but I am unable to see how the engine could start from absolutely nothing and
then produce something out of that nothing.  There is knowledge stored even in
the search algorithms, not to mention the position evaluation.

In summary, one must accept the idea that some information must be fed into an
engine by the programmer, IMHO.  This "feeding" may occur during the coding
process or be done later.

Objecting to a chess-playing program having knowledge would be a bad idea.  The
idea that it's OK if in the middlegame and maybe endgame but not in the opening
seems somewhat hard to justify.

Bob D.





This page took 0 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.