Author: Jaime Benito de Valle Ruiz
Date: 16:44:10 10/07/03
Go up one level in this thread
On October 07, 2003 at 08:27:40, Anthony Cozzie wrote: >On October 06, 2003 at 22:24:18, macaroni wrote: > >>What are the usualy ways of pruning the quiescent search. I don't use bitboard, >>so that cuts out some stuff, and makes a swap function heaps harder. At the >>moment, I just say a capture is no good if it doesn't increase the score above >>alpha-margin (50 centipawns for position stuff at the moment). Are there any >>other simple, or sort of simple ways? >>Cheers > >1. You stepped on a mine here. Your "I don't use bitboards, because ____" will >start a huge flamewar. Mark my words. > >2. When you say "swap-off" function, I think you mean a capture evaluator. >However, there is no reason you can't write a capture evaluator without >bitboards (actually, there isn't really a good way to do it _with_ bitboards >IMO). All you do is scan down each ray looking for pieces. Stop if you hit the >edge or a piece that can't attack. There will need to be some special logic for >pawns. This will give you data such as: > >White: attacks square with Q, B, P, N >Black: attacks square with R, K, P, P > >So, from there you can write another function that guesses how much material the >attacker will win/lose. Neither of these functions is easy to write actually, >but IMO they are extremely necessary to writing a semi-strong chess program. > >Zappa in Q-search simply does not try losing captures. I personally do not like >futility pruning. I am in the process of removing all alpha-beta dependent >stuff from Zappa with the exception of null move. However, in an engine without >significant position evaluation (beancounter) you may be able to get away with >it <shrug>. I would *definitely* avoid extended futility pruning and razoring >though. > >anthony Why always the same fights between the bitboard and the 0x88 (or similar) approaches? Obviously both systems have their advantages and disadvantages; otherwise no one would use "the bad one". And what's wrong about using a hybrid system? Crafty, for example, is mainly bitboard based, but still uses a 8x8 board for captures (if I'm not mistaken). I'm sure you could make use of that 8x8 array to implement non-bitboard functions where appropriate and use the bitboard ones where they're more convenient, taking advantage of both approaches; I don't know why this has to be regarded as a dichotomy! Anyway, why don't you use your engines to prove yourself right by getting them to play better than the others? After all it's that's the aim, isn't it? Regards, Jaime
This page took 0.06 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.