Author: José Antônio Fabiano Mendes
Date: 16:28:12 04/27/00
Go up one level in this thread
On April 27, 2000 at 19:06:52, Bruce Moreland wrote: >On April 27, 2000 at 17:25:19, Dann Corbit wrote: > >>On April 27, 2000 at 16:27:57, Bruce Moreland wrote: >>[snip] >>>I can easily dispatch based upon the type of material that is left. At program >>>boot I set up a hierachy of functions that can return exact or heuristic values >>>for various material configurations, in many cases based upon where the pieces >>>actually are. >> >>What does this hierachy look like? Is it an array of struct? By what means do >>you hash to the desired collection? When you say chain, it sounds like a linked >>list to me, indicating that its structure changes during program execution. >> >>A hierachy sounds to me like a tree structure (if you use the term with the same >>meaning as a hierachy model for database implementation). If so, do you >>navigate the tree by material or by position or ??? > >Here is another one that mine understands, at least mostly: > >[D] 6k1/3p2p1/6P1/8/8/3B4/6K1/8 w - - 0 1 > >Maybe I used the word "hierarchy" wrong. What I meant is a series of handlers, >the first ones having priority over the latter ones. > >It doesn't change during execution, it's created at boot time. For any given >material configuration there is a list of endgame handlers, which may be empty. > >The handlers are executed in order. If the handler can't understand the ending, >it returns a value that signifies this. If it understands, it returns a value >and that's the score. > >Example: > >PPBK vs BK, with opposite bishops. The first handler checks to see if this is >the standard Kmoch impotent pair draw, with an extra pawn and and extra bishop. > >If so, it assumes that the bishop can be sacrificed for the other pawn, leading >to a draw. > >If conditions for this aren't met, the standard opposite bishop handler is >called, which folds the score in toward zero. > >In most cases there is just one handler, this is a rare case where there are >two. > >Another case where there are two is PK vs PBK. This checks to see if we've got >the g2/g3 pawn ram draw, and if we don't it checks to see if this is an impotent >pair case with an extra pawn for the weaker side, which is also a draw. > >Sometimes a handler is disqualified because it isn't legal to use it in that >part of the tree, in which case the next handler in the chain may be eligible. > >bruce White mates in 27 moves: [D]8/6p1/6B1/8/8/1k6/7P/K7 w
This page took 0.01 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.