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.