Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Why does the Chess Genius programs play strong on 486 machines?

Author: Serge Desmarais

Date: 16:15:25 09/09/98

Go up one level in this thread


On September 09, 1998 at 09:03:29, Robert Henry Durrett wrote:

>On September 08, 1998 at 23:36:05, Serge Desmarais wrote:
>
><snip>
>
>>Now here is HOW Fritz picks its moves : at base, it takes the popularity of the
>>move (% of times played) and then balance it with the % of wins (score), ratings
>>of the players and performance rating of the moves (don't ask me the
>>mathematical formula!) to decide a percentage of chance of playing it in a game.
>>Later, it will refine this percentage by adding a value based on its "learned
>>experience" when playing that move (you can also manually change the scores).
>>But you have to know that Fritz will NEVER play a move that was played only ONCE
>>if there are much more popular choices. It will NEVER play a move that has lost
>>100% of the time or has a sensible negative score (UNLESS it is the ONLY move in
>>book for that position, and even in that case it would have avoided the line
>>earlier). In the Fritz basic book, there are NO preset values (manually
>>adjusted) for any move. It contains over a million moves/positions with all the
>>known main lines for every major opening.
>
><snip>
>
>Serge, please forgive me for this, but I do not find the above to be "crystal
>clear."  Maybe it's just me, I don't know.  What do you mean by "balance it"?
>What do you mean by "refine this percentage by adding"?  What do you mean by
>"sensible"?  What, exactly, [if you know] determines which specific opening it
>will play next?  Doesn't it's opponent have something to say about that?
>
>Thanks in advance for your clarification.


   Well, I admit it wasn't as clear as I wanted it to. But it is not too easy to
describe/explain either (or maybe I am one guy that makes things look more
complicated than it should?). And maybe the fact that I own Fritz 5, makes me
take some things for granted?

   Okay! Let's go back to my opening tree made from 100,000 games. I said that
1.e4 had been played in 60,000 games, so 60% of the time. So, with only this
data, Fritz could decide to give it a 60% chances of being played. At base, I
suppose it generates a random move (like running a dice) and 60% of the possible
moves that could be generated would make it play 1.e4. This is a basic. Now, how
is it "balanced"/adjusted? Suppose that in the games imported, the scores were
that the White side got 55% of the possible points (assuming 1 point is for a
win, and 0.5 point for a draw) : so of the possible 60,000 points (like in  a
60,000 games match!) White got 33,000 points and Black 27,000. (Again these
round and unrealistic numbers are fictitious, created just for the example).
Now, suppose the second most popular first move is 1.d4 which was played 30,000
times (30%) BUT earned White an incredible 65% of the possible points! So, over
all, that move seems very promising. So, instead of having 30% of picking that
move, Fritz could increase the percentage to, say, 36% while decreasing the one
of 1.e4 to, say, 52%. (Instead of using the word "balance", maybe I should have
said ADJUST?).


   Now, tell me, if you had the choice (as White) between playing 2 moves : one
played by Kasparov (rated over 2800) and one played by a 1900 player, which one
would you favor? A lot of people would say Kasparov's one! Of course,
OBJECTIVELY the move of the unknown 1900 player COULD be better. But globally,
we could assume that Kasparov would usually play better moves than most players,
since he had better results. That is exactly what Fritz does to further adjust
the probability of its book's moves of being played! Looking at the average
rating of the players for all the moves, suppose 1.e4 was played by people
averaging 2560, while 1.d4 was played by people averaging 2222. Then because of
that, Fritz could decrease the probability of 1.d4 to, say, 23%, while
increasing the chances of 1.e4 to 65%.


   Now, this description could give the impression that all these steps are done
in that order and one after the other. I think they are all variables of a
mathematical formula and everything is adjusted in a fraction of a second.




   Now, about the "refining". When Fritz plays a move in one of its own game
(picking the moves according randomly, based on their respective percentage at
each position), it will then adjust the percentage based on the game score. If
it is a win, it will put an asterisk near 1.e4 (the move that was played) to
show that it adjusted the value based on the experience it had with this move.
The adjustment range from -125 to +125. For a win, 1.e4 could get a, say, +3. If
it was, say, a Ruy Lopez and it stayed in its book for the first 22 moves, the
last one played (the 22nd) would get a bigger adjustment, maybe something like
+43. If you go back from that 22nd move and back to the first, uou would notice
that the closer you go to the starting position, the smaller the adjustments.
Losing or drawing means a negative adjustment, the losts being worse and so a
bigger adjustment.

   "Sensible" was used because of one of its French meanings : perceptible,
obvious, in a drastic way. I saw that it has by no means the same meaning in
English!



   Now you asked me if the opponent hadn't a word to say about the openings
chosen. Of course it has! If Fritz plays a lot of different opponents and/or
opponents which vary their openings and defense a lot, it will endup with
"favorite lines" against the Sicilian Najdorf, Paulsen and all, against the
various defenses in the Ruy Lopez and will also sets preferences for its
defenses against the English, Queen pawn, King pawn openings and others, and
agaisnt subvariations too... As soon as it encounters a book positions for which
its book contains more than one choice of moves, it will pick one according to
what I explained above and further adjust its score based on the result of the
game(s) in which it played it, according to the score(s) it got with it! So, it
will NEVER repeat moves/games that lead/ended to/as draws or losses and ALWAYS
repeat moves leading to wins, as long as it wins with it.

   This way, and with that drastic learning, it is able to adapt very quickly to
another computer/program or even human and learn to avoid
lines/openings/defenses that lead Fritz into trouble (were to easy to
play/understand for the opponent)! If you look at the previous SSDF list, you'll
notice that the match between Fritz P200MMX against Genius 5 P200MMX was tied 9
to 9 after 18 games played (at 40 moves in 2 hours), but then Fritz outplayed
its opponent 20.5 to 9.5 in the next 30 games! What happened, do you think? It
was repeating the openings leading to wins and avoiding positions in which it
was not able to crack Genius or that Genius was playing better than itself. But
Genius continued repeating openings that lead to lost games...




   Now there was something interesting you made me think about. Since the
opening books of every programs/computers are made from human games/lines, it
would be interesting to see a program playing with a book made from its own
calculations/preferred moves? Komputer Korner suggested, a few months ago, to
altogether (we who own chess programs) to reexamine all the existing opening
lines with various programs and only keep the good moves (according to
computers) and add new lines entirely created by computers. Of course, every
participant would pick a different opening. We could let the program calculate
over a position/examine it for long minutes, and sometimes hours? Ending up with
a "perfect" opening book or at least one that could better fit computer's style?



Serge Desmarais



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.