Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Check evasion : what's the point anyway?

Author: Volker Böhm

Date: 08:44:32 08/24/04

Go up one level in this thread


On August 24, 2004 at 08:57:33, Alessandro Scotti wrote:

>On August 24, 2004 at 06:17:50, martin fierz wrote:
>
>>as a related question to mridul's post: i don't have a special check evasion
>>generator. i just have a single normal move generator and if it's a check, i
>>will have to execute all the normal moves, and undo them again after seeing that
>>it's still a check.
>>
>>does anyone have an estimate on how much a specialized check-evasion move
>>generator would speed up a program?
>>is it really worth it?
>
>When I added the check evasion code I got a noticeable performance speedup, but
>later I discovered that the compiler wasn't inlining all the proper functions.
>Having fixed that and a couple of other bugs I now get:
>
>Running perft(6) on the start position: 4882 KNps (without) -> 4913 KNps (with)
>And from a middlegame position: 4535 KNps -> 4605 KNps
>
>So the performance improvement is extremely small.

Hi,

don´t trust perft here for speed comparision. The amount of speed gained is
extremely dependant on the way you extend and the way you order moves (how do
you order checking moves?). Another expensive factor is the cost of the set-move
function.

I found out, that more than 1/3 of positions in spike in midgames are positions
with king in check. The reason is simple: in a pre-frontier node I generate all
moves. For each move that is not a checking-move I call quiescense. For every
move that is a checking-move I extend by 1 ply. Thus every time there is a
checking move in a pre-frontier node (and there is no early cutoff) I will get a
position with king in check.

When I first implemented the (not 100% correct) Check evade function Spike
haven´t got an eval (just material) but an incremental attack table. Thus the
set-move is expensive and the check evade code is cheap because of
attack-tables.
I won about 30% of speed that would give about 10%-15% for current Spike with
eval.


Greetings Volker



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.