Author: Ricardo Gibert
Date: 23:54:16 04/30/02
Go up one level in this thread
I present 5 basic hypothetical situations that are relevant to the discussion in this thread. Feel free to add more of course: I. Kasparov and human Player A play a long match. Kasparov plays many very nice opening novelties. After the match, Player A decides to employ these novelties himself. Player A goes on to win many games and tournaments as a consequence. II. Program W does not yet have an opening book. It's programer decides to compile an opening book, from many other sources. These sources consist of analysis and games from other programs and players plus a small percentage that is the programer's own original analysis. Program W goes on to win many games and tournaments as a consequence. III. Program X employs an advanced opening learning heuristic. This heuristic allows the program to learn opening continations and their effectiveness on its own. It is pitted against Rebel by it's programer. They play several hundred 1 minute bullet games. As a result, Program X has for the most part absorbed all the most important opening continuations from Rebel. Program Y continues to employ the opening learning heuristic against many other players and programs. This includes games with long time controls of course. Program X goes on to win many games and tournaments as a consequence. IV. Program Y employs a simple learning heuristic. This heuristic allows the program to learn which opening lines are effective with and which lines are not. This allows it to play the most effective continuations in its games. Programer of Program Y copies the moves of Rebel's book, but not its evaluations. After a great many self-play games it learns which lines it is most effective with. Program Y goes on to win many games and tournaments as a consequence. V. Program Z does not possess a learning heuristic. Its programmer copies Rebel's book along with its evaluations. Program Z goes on to win many games and tournaments as a consequence. My sparse commentary on the above follows: 1. Of course, the normal case is I. Perfectly acceptable. A humans "book" is largely derivative of others. 2. You appear to be II, correct? This is also a normal case and the resulting book is largely derivative of other peoples work too. 3. I personally see no significant difference from I, II & III. 4. IV appears to be a marginal case. Personally, I see nothing wrong with IV, since the new evaluations are important enough to me to give its book sufficient independent standing. 5. I think that only V, is truly wrong. One possible solution for you would be encrypt your book. This would take care of IV & V. If you decide to go this route, then you may as well compress it too. I have a suggestion on how you might do this effectively. The down side is that it is a bit elaborate. I think the result could turn out to be quite interesting, however. My idea is to write what I call "a natural move generator". You write a routine that ranks all the legal moves in a given position. Now instead of storing every move of am opening line, you store the moves rank derived by how natural a move it is. For example, 1.e4 e5 2.Nf3 Nc6, etc. might be stored as 1,1,1,1. The move ranks are highly compressable by an ordinary compression routine. The way you would rank the moves of a given position is to write a simple qsearch routine coupled with a piece square table to evaluate and thereby rank every legal move in a given position. No hash table, no regular search, etc. Natural moves would tend to be ranked higher. The reason why I think this would be effective as a compressor is an experience I had about 28 years ago. I was a teenager with a D rating of only 1380 or so back then, but I studied chess a great deal to improve. One thing I tried out was going over a game between two top players and trying to predict what they would play. I skipped the first ten moves, since guessing those seemed to require psychic powers. After 10 moves, predicting became a reasonable proposition to me. I wrote down all my analysis, then looked at the next move to see if I predicted correctly. After I finished a game, I would compute a percentage score for how many I guessed correctly. I plotted this score on a graph to chart my progress. I hoped this would provide me with some positive reinforcement and measure my improvement. I decided this was useless after about a dozen games, since how well I did depended on the game too much. A really good result could merely mean the game was more forcing than another. But the interesting thing I remember from this experiment was the fact that my highest score was 98% and my lowest score was 70%! That 70% score is very interesting, given that I was only a D player. If a D player can guess 70% correctly, a primitive chess playing program should do at least as well and achieve a highly compressable result. In fact, I understand that there are dumbed down chess bots on ICC that do the equivalent and still manage to get a B rating (1600-1799). Evidently, most chess moves in a game are obvious natural moves. After compressing in this way, your book would be shrunk down to a very small size I would think. It would also effectively encrypt it, since to reverse engineer this would be way too much trouble. Whatever you decide to do, good luck with it. I sympathize with your situation, but there is only so much you can do about it. Any solution you come up with can be essentially torpedoed by III for all practical purposes. Fortunately, I don't think III is at all common. In fact, I don't know of an example, though I'm sure it has been done.
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.