Author: Andrew Williams
Date: 05:42:58 07/18/99
Go up one level in this thread
On July 18, 1999 at 07:38:35, Dave Gomboc wrote: >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? > As far as PostModernist is concerned, if it searches one more node or one less node in a previous search, there's a chance that the HT contents will yield a slightly different set of nodes and its search may look different. If PM has searched exactly the same nodes as before, you should not see any difference in subsequent searches. >>(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. :) > Was it you who wrote an Awari (Kalah) program using MTD(f)? If not, my apologies. If it was, can you tell me what you did about generating a PV? Thanks Andrew
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.