Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Pseudo Code

Author: José Carlos

Date: 15:08:12 12/27/04

Go up one level in this thread


On December 27, 2004 at 17:05:26, Steve Maughan wrote:

>José,
>
>>>  Hi Steve,
>>>  Why "and (not_in_check)"? I mean, if you're going to reduce because you're
>>>  almost sure you're gonna fail low, being in check is not likely to
>>>  suddenly make you fail high... Am I missing something?
>
>As Uri said, if you're in check then it's not really a quiet position.  IMO the
>History Pruning heuristic can be useful for pruning the "Reh1" type moves.
>
>Steve

  Thanks Uri and Steve, now I see your point. But still, I'm not sure why it
shouldn't work (note that I don't have history heuristic implemented, so I can't
test nor speak from experience).
  Let's have a look at the pseudocode again:

   make_move;
   if (moves_made_already > 3)
      and (not_in_check)
      and (opponent_not_in_check)
      and (move_does_not_attack_opponents_king)
      and (history_value * 128 < best_history_value_from_this_node)
   then
     prune or reduce_depth;

  I guess (not_in_check) means _before_ making the move. If we make the move,
now our king is not in check. We're trying to guess if the position after making
the move is ok to reduce or prune, this is, it is a bad position for us. If I
was in check, move out of check and still my position sucks, and it is my
opponent's turn... I'm likely to fail low, right?
  I undertand that the main idea of this heuristic is to prune moves like Reh1,
as Steve mentioned, but pruning a move where I get out of check in a lost
position also makes sense.
  Could any of you try a quick test by removing that condition?

  José C.



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.