Author: Tord Romstad
Date: 10:56:07 10/02/03
Go up one level in this thread
On October 02, 2003 at 13:34:15, Anthony Cozzie wrote:
>If I understand it correctly, implementing the BM extension in Zappa would go
>like so (pseudoish):
>
> do_null_search();
> rb->null_threat = rb->best_move;
> if(ply >= 2 && m_f_loc((rb-2)->null_threat) == m_f_loc(rb->null_threat))
> trigger_extension();
Yes, something like that, assuming that rb->best_move contains the move
that refuted the null move, and that the function m_f_loc() returns the
'target' of the move.
This is a simplified version of my code:
if(ok_to_do_null_move()) {
make_null_move();
null_value = -search(-gamma+1, depth-(R+1)*PLY);
unmake_null_move();
if(null_value >= gamma) return null_value;
/* Botvinnik-Markoff extension */
if(null_value < margin) {
ThreatMove[Ply] = CurrentMove[Ply+1];
if((To(ThreatMove[Ply])==To(CurrentMove[Ply-2]) &&
To(ThreatMove[Ply-2])==From(CurrentMove[Ply-2])) ||
(To(ThreatMove[Ply]) != To(CurrentMove[Ply-2]) &&
To(ThreatMove[Ply]) == To(ThreatMove[Ply-2])))
bm_ext = 1; /* Trigger Botvinnik-Markoff extension */ }
else ThreatMove[Ply] = 0; }}
Tord
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.