Author: Bernward Klocke
Date: 11:49:21 01/15/04
I recently read Ed Schroeder's comments on move ordering in rebel. What I find puzzeling is the way it detects hanging pieces. Ed presents the following data structure for square evaluation: +------+------+------+------+------+------+------+------+ | BIT0 | BIT1 | BIT2 | BIT3 | BIT4 | BIT5 | BIT6 | BIT7 | +------+------+------+------+------+------+------+------+ | Number of | PAWN |KNIGHT| ROOK | QUEEN| KING | | ATTACKERS | |BISHOP| | | | +------+------+------+------+------+------+------+------+ After all white pieces are done square F3 from WB looks as follows: +------+------+------+------+------+------+------+------+ B0-B2 : 2 attackers | BIT0 | BIT1 | BIT2 | BIT3 | BIT4 | BIT5 | BIT6 | BIT7 | +------+------+------+------+------+------+------+------+ B3 : white pawn | Number of | PAWN |KNIGHT| ROOK | QUEEN| KING | | ATTACKERS | |BISHOP| | | | B4 : white knight/bishop +------+------+------+------+------+------+------+------+ | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | +------+------+------+------+------+------+------+------+ So evaluation is done for each square for black and for white. His example show the square f3 for white attacked by a pawn from f3 and a knight from g1. This example is clear but I think gets ambiguous when three pieces attack a square and two of them are of the same type eg. two rooks and a knight. How can one see that it's not two knights and one rook. And the other thing is only going through the movelist isn't the whole story. What if doubled rooks are the attackers? Only the first one will appear in the movelist. Does anybody know how this is solved. What did I miss? Otherwise the lookup from a precalculated table of STATUS values seems elegant. Bernward
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.