Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Unauthorized use of Rebel books

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.