Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Test match with the Botvinnik-Markoff extension

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.