Hi Daniel, Okay, I think I understand the problem now. It used to be so that the random numbers for the game where seeded by a function depending on the global seed and the trial number. In the multithreaded code, the seed function depends on the global seed and the trial number in the current batch. That is the seed of the first game in the _new_ batch, will match that of the first game of the _old_ batch...
The problem is the following: InitRNGSeed(prc->nSeed + (i << 8), prc->rngRollout, rngctxRollout); where "i" used to be the trial number, but "i" now counts from zero each time you stop and restart a rollout. The old code probably didn't do the right thing either, for example when some candidates were stopped early because of statistics and the started again. The natural thing would be to replace "i" with altGamesCount[alt], but I'm not quite sure what the threading implications of this would be. What do you think Jon? Christian. _______________________________________________ Bug-gnubg mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-gnubg
