Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: quiesce node explosion

Author: Tord Romstad

Date: 08:15:37 02/04/04

Go up one level in this thread


On February 03, 2004 at 08:23:47, Ed Schröder wrote:

>
>After having looked at my code I noticed Rebel's approach is even more
>drastic,

Your code must be cleaner than mine.  I usually don't understand what I do
even *after* looking at my code.   :-)

>right after eval I do the following 2 series of checks:
>
>// Kind of Fail High check
>
>   int value = 0x300;                               // default margin of 3 pawns
>   value=value+hanging_piece_value;                 // increase margin
>   if (opponent can promote) value=value+0x600;
>   if (king_moves_out_of_check) value=valuw+0x900;
>   if (score+value > beta) prune QS                 // stop QS, return score

This doesn't make any sense at all to me.  Perhaps you meant to write

    if (score-value > beta) prune QS

on the last line above?  That seems reasonable, assuming that the
hanging_piece_value is the biggest hanging value for the side to move.

>// Test for hanging pieces
>
>   if (move gives a check) go one ply deeper in QS
>   if (alpha >= score) prune QS                     // stop QS, return score
>   if (king_moves_out_of_check) go one ply deeper in QS
>   if (opponent can promote) go one ply deeper in QS
>   if (current_depth < maximum_check_depth) go one ply deeper in QS
>   if (no piece is hanging) prune QS                // stop QS, return score

Most of this looks similar to what I do, except for the last line.
Do you really mean that you don't search equal captures (e.g. bishop
captures defended knight) in the qsearch?  This looks extremely risky
to me ...

As always, I am very grateful to you for sharing your ideas.  I hope
that I some day will invent something sufficiently interesting to pay
back my debt.

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.