Author: Dann Corbit
Date: 16:30:50 12/22/05
Go up one level in this thread
On December 22, 2005 at 19:20:15, Stuart Cracraft wrote: >On December 22, 2005 at 18:18:02, Stuart Cracraft wrote: > >>The only selectivity of which I am aware is progressive, >>narrowing of # of moves searched at each ply as the tree >>deepens - disadvantages can include throwing out good moves. >>Requires lots of knowledge and sophisticated evaluation >>to avoid that and even then it does. We're back in the A. >>vs. B arena. This is 40+ year-old concept from looking >>at MacHack. >> >>But about 20-25 years ago, selectivity of a different sort >>(I think) started making its rounds. I remember Larry Kaufman >>and John Stanback talking about it quite a bit and saying >>they'd get somewhat deeper searches and improved results >>even though it was ostensibly less accurate. >> >>So I want to ask EXACTLY how you are implementing selectivity >>in your program. >> >>I threw together something and it did far poorer in a tactical >>suite - so obviously my conception of selectivity is poor itself. >> >>I seek enlightenment from the august programmer members of this >>board in "What is selectivity?" >> >>Stuart > >I am discounting null move search, extensions, and reductions. > >I am interested in other types of selective. > >Are there any that work? Did you read Ernst Heinz's book: "Scalable Search in Computer Chess" He has something he describes as AEL pruning that is clearly selective searching. The "A" stands for Adaptive Null Move, so that part does not fit your criteria. For NULL MOVE reductions he uses 3 plys reduction sometimes and 2 plies reduction sometimes according to the formula: /* The formula below is from Ernst A. Heinz's book "Scalable Search in Computer Chess" * It comes from pages 35-37 and is described elsewhere in the book. * This method is called 'Adaptive Null Move Pruning' with R(adapt) = 3(6)~2. * In English, the NULL move depth reduction is equal to two ply by default. * However, if either (a) both sides have fewer than 3 pieces and the current depth * is 8 ply or more or (b) at least one side has greater than 2 pieces and the current * depth is 6 ply or more then increase the depth reduction to 3 full ply. */ return TWOPLY + ((depth) > ((6*ONEPLY) + (((cwp < 3 && cbp < 3) ? TWOPLY : 0))) ? ONEPLY : 0); The E stands for Extended Futility Pruning And the L stands for Limited Razoring. Here is a paper that talks about that part of it: http://digilander.libero.it/gargamellachess/papers/AEL%20pruning.zip
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.