Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Threat extensions

Author: Daniel Shawul

Date: 23:45:41 09/27/04

Go up one level in this thread


On September 27, 2004 at 10:15:32, Stuart Cracraft wrote:

>On September 27, 2004 at 02:15:42, Daniel Shawul wrote:
>
>>On September 27, 2004 at 01:03:39, Sergei S. Markoff wrote:
>>
>>>>Sergei -- when you refer to the leaf and pre-leaf we assume you
>>>>mean depth == 0 and depth == 1 respectively. Please correct this
>>>>if we are wrong.
>>>
>>>You're right. The main idea is to decrease rate of cases in which after threat
>>>we're going into quiescence with it's null move. Pre-leaf (depth==1) nodes are
>>>important because it's preferable to detect threat chains.
>>
>>after reading what you and tord wrote some time ago on this extesnion,
>>i tried it. First time i did for the whole big depths and it slowed down
>>my search considerably. then i restrained it to depth < 2*UNITDEPTH
>>and it is working fine now.
>>
>>Another thing i tried is , i search the "mate threat move" and the other
>>"threat move" next to hashtable move. This also improved my move ordering.
>>
>>thanks for sharing your ideas!
>>
>>daniel
>
>Then I have a question for you.
>
>Here is your null search and mate threat
>
>null move
>if (okaytodonull) {
>  makenull
>  value = -search(depth-R-1,-beta,-beta+1)
>  unmakenull
>}
>// mate threat
>if (!extended && value == -MATE+ply+2) {
>  extended = 1;
>  extend+=1.00;
>}
>:
>:
>if (extend>=1) depth++;
>:
>:
>rest of search
>
>Did I get it wrong? How do you implement mate threat? Especially obtaining
>any threat move that counters the null move.
>
   if(value == -MATE+ply+2)
   {
      mate_threat = 1;
      //and save the threat move
      tree_at_ply -> threat_move = (tree_at_ply + 1)->best_move
   }
   else if(depth <= 2*UNITDEPTH && value < margin)
   {
      threat_extesnion = 1;
      tree_at_ply -> threat_move = (tree_at_ply + 1)->best_move
   }

   //and then for move ordering check if there is any threat move

   if((tree_at_ply - 1)->threat_move)
      search (tree_at_ply - 1)->threat_move first

   //..and the extenisons for threat moves
       if(mate_threat) extend;
       if(threat_extesnion) extend;

Hope i am right.
daniel

>Stuart



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.