Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Square-of-the-pawn

Author: Robert Hyatt

Date: 17:24:21 01/13/98

Go up one level in this thread


On January 13, 1998 at 15:48:22, Christophe Theron wrote:

>On January 13, 1998 at 14:30:40, Robert Hyatt wrote:
>
>>It wasn't Dan and Kathe, it was me.  This was something I added to
>>"blitz" around 1970 or so.  Back then, it was searching 4-5 plies
>>max, and had a USCF rating of around 1400, playing in local tournaments.
>>But it kept getting hoodwinked in endings where the opponent would offer
>>something to decoy the king away, and then the pawn could scamper in
>>before the king could catch it.  It was winning middlegames, but losing
>>endgames.  Remember too, that this was in the days of 4-5 plies of
>>selective search, with *no* extensions and not even a real quiescence
>>search.  So this was a critical issue.
>
>Bob, what kind of selection did you use in this early "Blitz"?

it was a forward pruning search.  Basically searched roughly 6 moves
at each ply, to a depth of 5 ply.  There was no capture search after it,
just a complex (for the time) static evaluation that also used a Static
Exchange Evaluator to make sure the last move was safe.

The most interesting parts were the following:

1.  It had about 30,000 lines of code dedicated to analyzing the set of
legal moves at any ply and pick out the moves that appeared to be
tactically
or positionally promising.

2.  It had a "causality analysis" procedure that was invoked at any
point
in the search where the score dropped.  Since I found it hard to
recognize
I was in trouble and to select moves that would defend against threats
that
were hard to see from the "other side" I let my tactical analysis find
good
moves, and if it was successful, at the next ply, after searching a
couple
of moves and finding that the score was too low, this "causality"
facility
could look at the PV and figure out what was going wrong and then select
moves that had a chance of "fixing" things.

Worked very well, was tactically very dangerous...  but made the typical
positional mistakes that forward pruning programs do.  Entire program
was
over 80,000 lines of code, however.  *very* big, when considering that
Crafty is under 40,000 lines with a huge number of comments...



>
>What do you mean by "not even a real quiescence search"?

I searched 5 plies and *quit*.  I did use a static exchange evaluator
to determine if the tip moves were safe.  This was searching under 100
nodes per second on a machine that was rated at .7 MIPS.  This program
finished in a 3-way tie for 2nd at the 1976 ACM computer chess
tournament,
but the following year I was "exhaustive"... :)



>
>I'm always interested in the history of chess programs, because I have a
>long history too, and sometimes an old idea turns out to be usable again
>in a modern context.
>
>For example my first program in 1982 was based on a SEE. Later in 1992,
>I droped the SEE and my program played better. Then in 1994 I used the
>SEE again and my program was even better. In 1997 I droped the SEE
>again, and Tiger improved much in the process.
>
>Now, I'm considering another interesting way of using a SEE (if I can
>write a fast enough one), and it may be the heart of the 12th version of
>Tiger.
>
>The SEE is the very first idea I had in 1980 when I tried to write my
>first chess program. I suppose everybody started with the same idea. A
>quiescence search, a less obvious idea, is in fact better. But... there
>are others way to use a SEE, and this old idea is still alive.
>
>
>    Christophe

yep.  I've removed, added, removed and added things many times.  What
works
once, might not the next time, but skip a generation and you never know.
:)



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.