Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Nondeterminsitic behavior

Author: Dave Gomboc

Date: 04:38:35 07/18/99

Go up one level in this thread


On July 18, 1999 at 04:38:08, Andrew Williams wrote:

>On July 18, 1999 at 03:01:33, Dave Gomboc wrote:
>
>>In the past, people have discussed how difficult it can be to debug a chess
>>program due to non-deterministic behavior.  Clearly, this can arise from a
>>multi-threaded search.  If, however, the search is single-threaded (and
>>discounting the play from the start of the game until the end of the opening
>>book), what factors, if any, might allow a program to still not play identically
>>each time?
>>
>>Dave
>
>In my (single-threaded) program, there are:
>
>(1) The hash-table - search the previous move for 10 seconds one time and
>    for 30 seconds the next time and you will have different information
>    supporting the search.

Okay.  Assume that you search for the same length of time each time, and that
the background load during both runs is as low as possible (no other user apps
open.)  You can still get unlucky a very small portion of the time, right?

>(2) The order of the pieces in my piecelist[] data structure. For a long
>    while I was confused by the fact that if I ran postmodernist on a test
>    position from the command line I got a different search from what I got
>    running it under Xboard. The problem was that reading a position from fen
>    put the pieces in a different order from reading the same position from
>    xboard's "Edit Position" command. (I should say that this depends a bit
>    on your approach to move generation). I solved this by taking what I
>    got from "Edit Position", converting it to FEN and reading it back in.

This is something that wouldn't have occured to me right off of the bat either.

>(3) Bugs! I would look at uninitialized variables first.

I haven't written a chess program, so I don't have any bugs to look for. :)

>Best regards
>
>Andrew

Thanks,
Dave



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.