Mig 
Greengard's ChessNinja.com

Book Burning

| Permalink | 23 comments

The ongoing Hydra-Shredder match is the latest example of why it's nonsense to use unregulated opening books in computer chess events. Instead of learning about the relative strengths of the top programs and hardware, we get the computers leaving their books in a position either very advantageous for one side or, just as bad, that one side doesn't understand at all.

The first two games of this match in Abu Dhabi saw Shredder in horrible positions (for a computer) before it even started thinking for itself. Sacrificing a pawn for initiative is suicide against a super-computer, even if you're one yourself. Limiting book usage in comp-human matches is inevitable as storage capacity increases, but you can't expect a machine to reinvent the openings every time out against GM with knowledge.

I can't see a reason to use them at all in comp-comp play. What's the point of using a human book expert to bring your creation to move 22? If they actually started working on opening algorithms and tested them against each other, comps might have an impact on the openings like they have had on the endgame. (I doubt that, but the idea is there.) One counter-argument I have heard is that the games would be boring, with lots of tedious symmetrical play. To that I'll add that the games would also be less "normal" and less useful to humans. Okay, then maybe you aren't playing good chess, figure it out! Give'em a Reuben Fine book and teach them to play the openings. The happy medium is to use balloted openings, sometimes called Nunn matches. Programmers still need to use standard openings to test their creations and so are playing "real" chess.

Other items on computer opening books.

23 Comments

Mig says: Limiting book usage in comp-human matches is inevitable as storage capacity increases, but you can't expect a machine to reinvent the openings every time out against GM with knowledge.
Steve replies: Why not?

Mig says: If they actually started working on opening algorithms and tested them against each other, comps might have an impact on the openings like they have had on the endgame. (I doubt that, but the idea is there.)
Steve replies: Why should they do that? Computer chess has left the realm of science and is only interested in commerce. Do you see any advances of a substantive nature? All I see is an attempt to lengthen opening books, stretch the search capabilities, and expand the number of pieces in end game databases. Hardly the exciting stuff you'd expect in cutting edge technology.

Mig says: Okay, then maybe you aren't playing good chess, figure it out! Give'em a Reuben Fine book and teach them to play the openings.
Steve replies: They CAN'T play good openings. And again, it's only a profit making system for the computer programmers. When the humans allowed the opening books many years ago, they had no idea that would turn out to be opening Pandora's Box. Can anyone explain WHY a computer should be allowed to have an opening book? That's so patently unfair in a match against a human I can't believe it's accepted.

You can't expect a computer to reinvent all the openings each time against a GM because they would be incredibly predictable, especially if the program were commercially available.

I'm proposing openings as a new/old frontier. You say they can't as if they didn't play terrible middlegames and endgames 30 years ago. Openings are empirical and can't be broken down by calculation or simple rules. Quite a challenge, I'd say.

Opening books are entirely reasonable both for human matches and commercial products. Few are going to want to buy a program they can't use to practice their openings. And since the competitive versions are used to hone the market versions, it's all of a piece.

Few have the resources to pursue full-time chess programming without any commercial reward. Sponsored machines like Hydra and Cilkchess are very interesting technology. ChessBase CEO Matthias Wullenweber even said "Hydra saves the computer chess world from boredom". There's a lot of interesting science still out there. Search speed for general-purpose/commercial machines is relatively boring, but why begrudge them a profit if they can make one? They don't have guns to force people to buy chess software. And why should all chess programmers be selfless starving poet-types?

I'm going to be eating pastrami with one of the programmers of the current world champ Junior next week, so if there are some questions out there I'll be happy to relay.

An eventually better way to test programs against programs AND to make something for opening theory would be to select generally accepted positions from existing theory and to have the progs playing it once as white and once as black, without any book help.

Otherwise as it turns out it is just a match between the 2 books designers.

Or you can have each team nomiate half of the starting postions for the match each, and then the computers play them from both sides.

I am not sure what the Nunn match is, but it sounds like how bridge (the card game) competitions are run. Basically the hands are dealt at each table, and teams rotate through each table and play the same hands. The winning team is whoever was able to get the most out of the same hands everyone else played. That forces folks to work on all aspects of their game (offense, defense, etc.). Might be interesting for chess competitions as well. Have a few near-opening positions to reward programs with good opening books or strong opening algorithms, and do the same for middlegames and endgames. That would be rather interesting I would think, especially in seeing how the different algorithms approach the same problem.

A Nunn match, or balloted opening, is what Philippe describes: a randomly selected standard opening position played with each color. (And yes, it's like contract bridge, what fussylizard describes.) In checkers they don't play with both colors, so there is a chance of getting an inferior one with black (or red, as the case may be). As long as they are well chosen you could have several hundred, if not thousand, positions that are selected by ballot before each game. An interesting twist would be to have all the games in each round of the tournament use the same opening to avoid talk of how one program got more favorable openings. But that could still happen unless they play with colors reversed each time.

Fritz 8 programs can automatically play comp-comp Nunn matches based on as many positions you put into a database. (Called Nunn matches because he selected the original set of opening positions to do this with.)

Mig says: Opening books are entirely reasonable both for human matches and commercial products.
Steve replies: Why? I see it for the commercial products, but by what basis should a computer walk in with an opening book in a match against a human? The fact is that the computer chess movement has moved from the realm of scientific study into commercial driven advertising. In sheer competive terms, I see no justifiable reason for the computer to have an opening book against a human. It will be predictable? Tough luck. That would be like saying a human should have a copy of ECO or they may make a simple mistake. In both cases, that's part of the innate weakness of the competitor.

What about playing FischerRandom chess (human.v.comp, or comp.v.comp)? No openings are available (except perhaps for the (increasingly) few empirical shots taken recently by some known GMs)

This is a way to test Mig's expectations about engines' role in the first stage of the game..
and, at the same time, some opening theory would be generated in FRC ;)

Humans have opening books, Steve. GMs bang out 20 moves of theory without thinking all the time. The nature of openings developed over 100 years cannot be duplicated in real time and openings are an important part of chess. Computers can likely be taught to play competently without opening books. But it would be somewhat unfair and would likely lead to very unattractive, unfamiliar chess that wouldn't serve the PR purpose of these high-profile man-machine matches.

I've participated in discussions with Kasparov and the Fritz guys about solving this problem. Letting the human access a database is one possibility. Eliminating the books and balloting the openings makes more sense to me.

In my opinion problem is not that computer use an opening book but the quality of the book itself.
How does a good player study openings?
He must be well prepared to play a good move, better a move that IN HIS OPINION IS A GOOD MOVE against all the reasonable moves of a position that he can reach.
Besides in that position he knows bad and good moves: better he KNOWS good moves for both colors and how to play AGAINST a bad moves...but this does not means that with the opposite color he would play that move, of course he uses his knowledge to avoid that.
So if SHREDDER plays a move that his engine values wrong this is an error in his book, his book is wrong but this does not means that is better not using the book, this means that SHREDDER in his "training sessions" with his team has to improve his own book to play winning lines only with the right color.
I think is wrong to store a huge book of humans openings without an evalutation of the program itself...store moves with evalutation and (in a complete simulation of the preparation of a human grandmaster) computer can even in a blitz choose opening moves supported by hours and hours of its home analysis.

Mig says: Humans have opening books, Steve. GMs bang out 20 moves of theory without thinking all the time.
Steve replies: The difference is that a human can make a fingerfehler, forget move order like Kaspy vs. Blue, etc.


Mig says: I've participated in discussions with Kasparov and the Fritz guys about solving this problem. Letting the human access a database is one possibility.
Steve replies: That would seem to be a fair and reasonable compromise. As far as balloting, maybe the Black side could have a choice of openings?

One thing I never understood about comp opening
books is why the programmers don't run an easy
algorithm of evaluating every final book position
by the program itself and just don't include those book moves that - while good human theory - give a minus according to the computer.

The problem with letting the engines evaluate so-called final book positions is that these assessments are highly unreliable. In fact, as it stands today, current search algorithms are unable to evaluate openings correctly (because of the move horizon, and other limitations): most of the engines give either a huge advantange for White in Sicilians, or a minus in some Queen pawn openings. Admitedly, there are positions where engines are right, and probably, that's the point of hiring a GM to second the engine in choosing "human" opening lines, digestible by the comp. Some engines managed to have their novelties published in the Informator.

As the game progresses and there is some concrete tactics/standard strategic motifs, engines perform aceptably well -still with glearing exceptions- which creates the illusion that "they know what they are doing"..

However, as pointed by Mig, it is a crime to let an engine play by itself a difficult, "too human"-type, position ;)

FishChips when I prepare myself in openings often I cannot avoid this fact: If my opponent will play
in a determinate way he'll obtain a position that in my opinion results good for him...better, without a clear advantage for me. Ok, I must accept this, I simply hope my opponent will not find lines that can annoy me too much...the alternative is change my opening favorite sequence at a too early point...but in this case I lost all the good and common lines I've prepared and this is unacceptable.
So I simply accept that there are some "BLACK HOLES" in my knowledge, if an opponent play in that way I'll try to solve the problems in the middle or endgame, or I offer a quik draw or something else :-)
BUT I HAVE evaluated the position, my evaluation could be right or wrong (and I am not stronger that an engine in a static evaluation)but simply I didn't find anything better...BUT CANNOT HAPPEND that my BLACK HOLE is a definitly clear advantage for my opponent.
Ok is true that in many sicilian position engine gives advantage for white (often +070 +080 due to space I think) but position is in any case playable and if engine autoplay position after a few moves his evaluation even start to change...in my opinion this means that in this case the "BLACK HOLE" is acceptable becouse statistic shows that game final results are not so bad.

BUT this is another case, if at the end of book sequence a pawn has given without compensation and engine says -1.10 due to material count...this is not a problem of move horizon, position is lost in every autoplay sequence, engine vs engine statistic can give 100% to the right side and there is no chance of improving: engine see this at first evaluation but his book is wrong and force it to play that position.

I simply would like that a computer preparation has to be similar to a grandmaster training where the engine is the grandmaster...So if Kasparov for some reasons says to his team "I definitively do not like to play this line of Ruy Lopez" even if he is wrong becouse line is good his team must find something else (or Kasparov kicks them and change team what do you think about this grandmaster SHREDDER ?)

I think there is something to be said for the idea of doing what they do in Draughts (or "Checkers" to those of you who live in the colonies). When the programs (or a program and a human)sit down to play, the arbiter draws at random from a deck of cards, each card containing one sequence of opening moves. In Draughts it is a 3-ply sequence. We could do the same for Chess, or we could make it 2-ply. The problem with doing this in Chess at classic or other slow time controls is that it would be impossible to play 2 games, one after the other, as they do in Draughts. But maybe that doesn't matter. It would add spice to the event.

From the ChessBase site

Game 1:
"10. 0-0-0, ..Last move out of Hydra's openings book..
16....Qxa2, Shredder's last book move."
Result 1:0

Game 2:
"10...Qc7, ..Last book move by Hydra...
16. Qh4+, ..Last book move by Shredder.."
Result 2:0

Game 3:
"12. Qd2, ..Hydra's last book move..
15...Nhf6, ..Shredder's last book move"
Result 2.5:0.5

Game 4:
(no such information given)
Result 3:1

I wonder when we will read

"1. e4, ..Hydra's last book move"

[Apparently a prototype version of an successful "opening algorithm"/hardware is already here]

I would like to play in some other chess tournaments before the end of my days.
I still would like to sit and play the well known simmetrical starting position where the only difference between sides is "White has first move".
This instead of seeing the arbiter setting me a strange unbalanced position where I'll complain... "I lost, but of course, arbiter gave me a horrible position, may be he is a frend of my opponent" and so on. The arbiter will tell me "No marcolantini, my computer tell me position I gave you was +0.01 for your side!", I'll tell him to put computer in his ass and he'll stop for ever my unglorious chess career with a life disqualification.
Please you all, wait the day I'll pass away (I'm not too young in any case) and then restart to discuss how to change chess.
Random sequence of opening moves and other stuff, you will surely play terrific crazy hysterical tournaments with plenty of innovations and new rules to do the game more attractive.
Perhaps you can also introduce a sort of "jolly piece", for example a blue pawn with green hair what about it ?

FishChips Hydra plays
1.e4 last book move.
I play 1..c5.
Hydra thinks five minutes and then plays 2.Cc3

It is ok but now I think that Hydra has to store 2.Cc3 on his hard disk for next uses no?

Next time after 1.e4 c5 Hydra can play 2.Knc3 in one second and then has five minutes more for next moves.

But better .. What about if the team after the game let hydra not 5 minutes but 6 hours to analize 1.e4 c5 and then store the result on his hard disk?
Or, to avoid the horizon effect, let hydra 3 hours on 2.Knc3, 3 hours on 2.Knf3 and then store the best result.
Maybe move 2 will still be 2 Knc3 or 2 Knf3 or something else... but in any case computer is working on his opening repertory like a normal human player does. Is this correct?

OK, marco, what you want is

"37. Qh8# 1-0, ..Hydra's last book move."
White time: 00:00:03
Black time: 01:55:30

..Oh, Dear..8}

Yes FishChips I'd like to see that becouse it would be the solution of the very difficult chess problem, the starting position (Is a draw? or is a Win and in how many moves?).
But this for technical reasons will not be resolved in this century and chess plyers can continue to play games without knowing its real solution for many many years.
So game is saved for years but, if with computer, tablebases or something else will be possible to know the whole truth about the game I'd like to know even if this means the end of the game.
I do not like to use artificial methods to avoid the destiny...chess is very very attractive BECOUSE you still have something to discover and to improve...not becouse rules are invented to avoid improvements.

Would it not be arrogent of us to assume that humans know what is "real chess"? There's nothing wrong with computers teach us openings vs. us teaching them. If anything, at some point, the computers will be "more" correct than humans. If the "answer" is more symmetrical openings, then that's the way it is.

Where is the assumption coming from that comps will generate only symmetrical openings? Is this a researched phenomenon in anyway ? As far as I understand chess (which is not very well) if white plays e4 a symmetrical opening is almost impossible without black losing quickly. If white plays d4 then the computer has to choose an innocuous setup for white for a symmetrical opening to be valid (which are almost certainly inferior to normal setups) I guess that leaves the symmetrical English(which is not really that boring) or some fianchetto setups ?? In anycase I think it is unlikely that computers will totally in the sense of dynamic versus boring change the evaluation of human opening research.

Obviously its not fair in a human versus computer game to force the computer to invent its opening moves. It gives years of extra analysis time to the human!When I turn the book off on my Fritz 7 to play a Game 30 for example it immediately falls into a well known opening trap (of course it would not do so on a super computer). I think the fairest solution is the obvious one make the computer/programmer to play book moves and test it on the computer's evaluation function if the comp evaluates a position as -1.3 as white(Which happens an amazing number of times in the Fritz database in say the Sveshnikov) go back and let it find its own move and save that in the database. This is similar to the way human players approach the openings and could lead to some interesting TNs.

Twitter Updates

    Follow me on Twitter

     

    Archives

    About this Entry

    This page contains a single entry by Mig published on August 17, 2004 3:26 AM.

    Dumb Chess News #2 was the previous entry in this blog.

    Catch 64 is the next entry in this blog.

    Find recent content on the main index or look in the archives to find all content.