Author: Robert Hyatt
Date: 12:00:17 10/01/01
Go up one level in this thread
On October 01, 2001 at 14:46:27, Steve Maughan wrote: >I've been tinkering with my engine again and delved into the move ordering. >Currently I use pseudo SEE to order i.e. if no defenders then >value=captured_piece_value otherwise assume that value=captured_piece_value - >attacking_piece_value. Quite simple and quick. > >Now I am wanting to implement SEE. I've already done this in a program I wrote >a couple of years ago. That implementation performed a normal search where the >only moves played were those that captured on the specific square. This was >slow - although not horrendous. I was thinking about trying to implement >something a little faster. Leen Ameraal posted a simple routine that utilied a >table of attackers and defenders. Once this table is filled the actual >evaluation is relatively quick. I'm quite sure that this would be faster than >my original implementation. However it is clearly not a simple task to fill >these tables. > >Here's a test position. Assume that White must evaluate the score of a) bxc6 and >then b) Rxe2 > >[d]6k1/1p6/2n5/1P6/B7/4p3/1R1rp2R/K7 w - - 0 1 > >To evaluate bxc6 correctly one needs to see that the Bishop has a valid xray >attack. Does everyone bother with this type of situation? I would imagine that >this is quite important so I would guess that they do. I do. And it is probably important in most cases, as you suspect. > >The second position is a little more subtle. To see that Rxe2 wins a pawn one >must also see that after Black recaptures on e2, white is then, and only then, >able to recapture on e2. This is a little more subtle as it's the Black piece >(i.e. opponents piece) that blocks the recapture. This would be (more) >difficult to catch in a SEE routine. How many programs would evaluate this >correctly? I catch all such things, but in an easy fashion. I have a single bitmap that gives _all_ direct attacks to the target, irregardless of whether the piece is black or white. When a piece is "used" I remove it, then look behind it (down the rank/file/diagonal going away from the target square through the square occupied by the piece just "used" to see if I find the right kind of piece behind that one (IE down a diagonal if the next piece is a bishop or queen of either color then attacks bitmap is updated.) I later notice this is a piece of color "x" when I use the attacks bitmap to find the smallest piece of "side" that is attacking the destination. Not very hard, certainly not very computationally expensive... > >I suspect most do 'a' but not 'b'. > >All help appreciated! > >Steve Maughan
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.