Computer Chess Club Archives


Search

Terms

Messages

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

Author: Russell Reagan

Date: 00:37:40 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

Try and broaden your perspective of "computer chess" for a moment. When I think
of a "chess computer", I think of it as a single chess playing entity that plays
chess by some method. A kind of black box that spits out chess moves, just like
any human does. The method of move selection is not particularly important. Read
on.

Most programs work a certain way. The have a search, the ability to evaluate
positions, and so on. This is only one way though. It happens to work extremely
well, so almost everyone does it this way.

People are working on other techniques of artificial intelligence, such as
neural networks. Imagine not too far into the future when a neural network can
play chess as well as well as the current programs. It will work very similar to
the way that our brains work. How are you going to differentiate between opening
book moves that this artificial brain remembers and moves that it selects "on
its own?" You can't. The memory of that kind of chess playing entity is part of
it. It would be like telling Kasparov, "choose a move to play, but you're not
allowed to base that move on anything you remember from any time in the past."
The neural network would have to remember some things, such as how the pieces
move, what kinds of positions it has learned are preferable, and so on, just
like us humans.

Assume for a moment that we in fact limit ourselves to the classic definition of
a computer chess program as we know it today. Another important issue is the
enforcement of such a policy of no books allowed. How can you force someone to
not access a database of moves? Do you tell the computer programmer that his
program is not allowed to access external files? Okay, then I'll just stuff my
entire opening book into my executable, and I can use an opening book without
breaking the rules. I think it is very difficult, if not impossible, to enforce
such a policy.

A last point worth noting is that many times, a computer will select the same
exact moves from the same position when given the same time settings. So if
program A plays program B and neither use a book, it is likely that the programs
will play the same two games over and over. I have seen this happen when I
forgot to use opening books for a program, or when a program always selects the
same move from its book. So do you now attempt to implement and enforce a policy
of "programs can't play the same opening moves twice in a row" or some other
nonsense? That defeats the purpose of banning opening books and letting the
engine choose.

I think it is just better to view a computer program as a black box, a chess
playing entity that selects its move by some unknown method as far as everyone
but the author is concerned. If it wants to query a database, that's fine. If it
wants to run a piece of software, that's fine. If it wants to invoke specialized
computer chess hardware (ex. Brutus, Deep Blue, etc.), that's fine.



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.