Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Crafty V9.26

9 views
Skip to first unread message

Robert Hyatt

unread,
May 8, 1996, 3:00:00 AM5/8/96
to

Within a few minutes, the source for Crafty V9.26 will
be on the ftp machine willis.cis.uab.edu, directory is
pub/hyatt. this is a fix version for chess server
crafty clones that solves a "flagging" problem due to
very short time controls. from main.c:

* 9.26 minor bug fixes in time allocation. this mainly affects Crafty *
* as it plays on a chess server. the problem is, simply, that the *
* current internal timing resolution is 1/10 of a second, kept in *
* an integer variable. .5 seconds is stored as 5, for example. *
* this became a problem when the target time for a search dropped *
* below .3 seconds, because the "easy move" code would terminate *
* the search after 1/3 of the target time elapsed if there were no *
* fail lows or PV changes. unfortunately, 2 divided by 3 (.2 secs *
* /3) is "zero" which would let the search quickly exit, possibly *
* without producing a PV with a move for Crafty to play. Crafty *
* would play the first PV move anyway, which was likely the PV move *
* from the last search. this would corrupt the board information, *
* often produce the error "illegal move" when the opponent tried to *
* move, or, on occasion, blow crafty up. on a chess server, Crafty *
* would simply flag and lose. after this fix, I played several *
* hundred games with a time control of 100 moves in 1 second and *
* there were no failures. before the fix, this time control could *
* not result in a single completed game. if you don't run Crafty *
* on a chess server, this version is not important, probably. *
--
Robert Hyatt Computer and Information Sciences
hy...@cis.uab.edu University of Alabama at Birmingham
(205) 934-2213 115A Campbell Hall, UAB Station
(205) 934-5473 FAX Birmingham, AL 35294-1170

Tom Kerrigan

unread,
May 9, 1996, 3:00:00 AM5/9/96
to

What I've found helpful is to terminate only after searching a ply. A few other
people I know do this too. Maybe you could try it.

Cheers,
Tom

_______________________________________________________________________________
Tom Kerrigan kerr...@frii.com O-

"Cleveland? Yes, I spent a week there one day."

Robert Hyatt

unread,
May 9, 1996, 3:00:00 AM5/9/96
to

In article <4mrpv0$c...@europa.frii.com>,

Tom Kerrigan <kerr...@frii.com> wrote:
>What I've found helpful is to terminate only after searching a ply. A few other
>people I know do this too. Maybe you could try it.
>
>Cheers,
>Tom

Don't like it. Can burn a lot of time for nothing if you belive that your
first move is really best. I'd rather save the time for the next search
where it might be needed for a fail low or to search a more complicated
position.

The fix of not terminating until the first move of the first iteration has
been searched solved the problem without incurring any overhead at all...

Bruce Moreland

unread,
May 9, 1996, 3:00:00 AM5/9/96
to

In article <4mqkc0$4...@pelham.cis.uab.edu>, hy...@cis.uab.edu says...
>--
>Robert Hyatt Computer and Information Sciences
>hy...@cis.uab.edu University of Alabama at Birmingham
>(205) 934-2213 115A Campbell Hall, UAB Station
>(205) 934-5473 FAX Birmingham, AL 35294-1170

Don't let the thing time out until it has completed at least one ply.
This will stop the problem of you having no PV, and it will also give you
a little bit better chance of getting a good PV than if you allow a
partial ply search.

The time difference between a zero ply and one ply search is probably
undetectable, and you'll score better.

bruce

--
The opinions expressed in this message are my own personal views
and do not reflect the official views of Microsoft Corporation.


0 new messages