[rc5] v3

Eric Gindrup gindrup at okway.okstate.edu
Tue Oct 28 15:22:39 EST 1997

        Board positions are generated recursively.  Each position one ply 
     away is evaluated by a complex evaluation function.  The best x% of 
     them are kept and the recursion continues.  If one branch results in 
     positions (a couple of plys away) that are all bad, that entire branch 
     is pruned.
        Bad positions are usually defined as positions where:
     1) I've lost.
     2) I'm about to lose.
     3) All of my moves result in positions better for my opponent than for 
     4) None of my moves increases my position without increasing my 
     opponent's position by at least as much.
     Many programs don't use all four criteria or use extremely naive 
     Ideally, you take the move that minimizes the improvement that the 
     opponent can make (no matter which move that opponent picks).
     The hard part is getting good evaluation functions.  The best known 
     evaluation functions vary over the duration of the game.  This is 
     similar to the change in character between the opening, the midgame 
     and the endgame.  Theoretically, exhaustive chess would permit the 
     construction of a perfect evaluation function that would always 
     immediately force the computer to pick the best move.  No one knows 
     how to do that, though.
            -- Eric Gindrup ! gindrup at Okway.okstate.edu
            -- Eric Gindrup ! gindrup at Okway.okstate.edu

______________________________ Reply Separator _________________________________
Subject: Re: [rc5] v3  
Author:  <rc5 at llamas.net > at SMTP
Date:    1997/10/27 14:08

JP Rosevear <webmaster at usjc.uwaterloo.ca> wrote:
] It would be an interesting experiment to see experimentally how many
] different positions current chess engines have for consideration at the end 
] of x number of ply after alpha-beta pruning.  I admit I am no expert either 
] (just a strong interest), but this would give an idea of how serious the
] I/O problem is.  In addition it make give us a target for ply before
] returning.  ie If 10 ply returns 1000 positions and 12 ply 100 000 then we 
] stop a 10 ply say.
   On my Pentium 133 with 64 MB RAM, Gnuchess 4.0.77 can look ahead 5
moves (10 ply) in no time at all (less than a second).  Hm, 10 ply 
include about 30^10 positions, which is 6*10^14.
   But if each board takes 200 bits to store, that's tens of thousands
of terabytes.  How do they do it?  Is there a computer chess programmer 
in the house?
To unsubscribe, send email to majordomo at llamas.net with 'unsubscribe rc5' in the

To unsubscribe, send email to majordomo at llamas.net with 'unsubscribe rc5' in the body.

More information about the rc5 mailing list