Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SEEing it is BLIND

Author: José Carlos

Date: 16:50:15 08/08/04

Go up one level in this thread


On August 08, 2004 at 04:35:54, Tord Romstad wrote:

>On August 08, 2004 at 01:47:12, Stuart Cracraft wrote:
>
>>Now my new question is what features do you think would help in solving
>>problems rapidly. Extensions?
>
>Yes.  But be careful -- It is easy to introduce lots of extensions which makes
>your engine very good at solving problems, but which greatly reduce the
>playing strength in real games.  You should always play some test matches
>before you decide whether you want to keep some new extension in your
>program.
>
>The most useful extensions for solving problems rapidly are:
>
>1. Checks.
>
>2. Single reply to checks.
>
>3. Mate threats.  These can be detected statically, or by using the return
>value of a null move search.  Extend if the null move search returns
>-MATE_VALUE+Ply+2.
>
>4. Attacking moves.  If you evaluate all internal nodes (as I do), compare
>the value of the king safety component of the evaluation function before
>and after a move is made.  If a move dramatically reduces the opponent's
>king safety, you extend.

  Another idea that seems to work for me (in my non-released private engine,
where I evaluate internal nodes) is to consider the king safety changes along
the path. A single move is not likely to make a big change (unless some crazy
sacrifices in king's pawn shelter), but some manoeuvres do the trick. I don't
recall the details, but the idea goes like this:

if (eval[ply] > eval[ply-1] + MARGIN1)
  extend;
if (eval[ply] > eval[ply-2] + MARGIN2)
  extend;
if (eval[ply] > eval[ply-3] + MARGIN3)
  extend;

  Where MARGIN3 > MARGIN2 > MARGIN 1, and eval means king safety evaluation of
the opponent. Or maybe I used full moves (ply-1,ply-3,ply-5), I'm not sure. It's
been a long time without doing chess programming.
  But the idea worked very well in tests, and made the engine play interesting
games also.

  José C.


>In order to avoid search explosions, you may want to use fractional
>extensions.  I extend by a full ply only for checks.
>
>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.