Author: Robert Hyatt
Date: 22:10:49 01/02/03
Go up one level in this thread
On January 03, 2003 at 00:28:46, Martin Bauer wrote: >Hi all, > >on Mr. Schröder's Page (thanks for the great page!) i read the an extension in >REBEL is made, when the King moves _out of check_. In my own Engine I extend >when the King is _in check_. > >Are there any known differences between these ideas, or are they equal? >What are other engines doing? > >Without trying it, I would say that extending when King is _in check_ has the >advantage, that you dont enter into the quiescence search with king being in >check. > >Any experiences? > >Martin Basically there is _no_ difference. Your implementation might make it behave differently. IE in crafty, if I am at remaining_depth=1, and check the opponent, I increment depth by 1 ply, so that when I recursively call search() with depth-1, I still have depth left and don't drop into the q-search, which in my case doesn't do anything about being in check. If I waited to increment on getting out of check, I would hit the q-search after checking my opponent, while if I extend when I give the check I don't. In Cray Blitz I handled checks in the q-search and extend on getting out of check as Ed does. In Crafty I do the opposite. In Cray Blitz, I could have done it either way with absolutely no measurable difference. However, if you limit extensions to (say) one ply, there _can_ be a difference as if you extend when you check, you might also extend again if there is one legal way out, plus other extensions. If you have other extensions firing when you extend the check, it might be limited. If you have extensions firing when you get out of check, it might be limited there. So actual implementation details will decide whether there is any real difference or not.
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.