Dear Don,
Thanks a lot for your comments.
I still have to reflect on this issue and yours and Gunnar's comments. Some reflections:
For example, a Go engine that would "learn" to never repeat its mistakes should, in a very deterministic way, never play exactly the same moves if they lead to a loss. So in this case even if I set "determinism on", I'll still get regression fluctuations - and that's exactly what would be expected of the engine in this case. Those would be "desirable" regression fluctuations.
And of course I cannot expect all programs to have a scalar random seed, or even to include randomness at all, in fact, as pointed out by both you and Gunnar. Immediate example: AmiGo does not have randomness.
So I guess that Gunnar is 100% correct: the two suggested commands are not "standardizable".
On Saturday 05 October 2002 01:58, Don Dailey wrote:
I definitely see the point of having control over the randomness, but I personally think it should be external to the protocol.
In my programs, I have a configuration parameter that sets whether the program is deterministic or not. I'm nitpicking, but a random seed implies a particular implementation, but setting "determinism on" is more general.
Don
c) In subsection 6.2.2 Regression, I would suggest the addition of: get_random_seed, set_random_seed Both commands are already implemented in GNU Go and I assume most, if not all engines would introduce a degree of randomness based on a seed. An engine that does not use pseudo-randomness (?) should output 1 for the get_random_seed command and save the parameter of the set_random_seed command in an otherwise unused variable, returning it if requested by the get_random_seed command.
I'm sceptical about this. First because I doubt that all engines use a scalar random seed like GNU Go does. Second because programs with a more sophisticated time handling than GNU Go probably has other, hard to control, sources of indeterminism.
Furthermore I'm not sure what purpose you see for these commands. Apparently you intend them for regression use but for reg_genmove it's advisable to turn off all random variations anyway, in order to avoid meaningless regression fluctuations.
gtp mailing list gtp@lists.lysator.liu.se http://lists.lysator.liu.se/mailman/listinfo/gtp