I am the author of the engine philou, and i test it with the good tool cutechess (thank's to ilary).
This is my problem:
When i make a tournament with the 2 same engine, with the same time and the same book and the option repeat, i think when the engine clear hash after every game that the two games are the same, but it is not the case with many engines, Fruit, Twisted logic, Philou....
1) Book lines will differ
2) Small differences in timing can cause small differences in depth reached at each move. The small differences accumulate and the game diverges.
Gian-Carlo Pascutto wrote:1) Book lines will differ
With the option "repeat" this does not happen.
Gian-Carlo Pascutto wrote:2) Small differences in timing can cause small differences in depth reached at each move. The small differences accumulate and the game diverges.
Try to run with the option "depth = <arg>" without time control.
Gian-Carlo Pascutto wrote:1) Book lines will differ
With the option "repeat" this does not happen.
Gian-Carlo Pascutto wrote:2) Small differences in timing can cause small differences in depth reached at each move. The small differences accumulate and the game diverges.
Try to run with the option "depth = <arg>" without time control.
That will repeat, for sure, but it gives wrong results. You won't know which of the two programs is better, since N plies to one program is not the same as N plies to another. If you try to measure improvements, any change that makes your tree larger (more extensions, fewer reductions, etc) or any change that makes you slower (more eval, more complex tests in search) will look good because with fixed depth, the slower search speed will not hurt you because you always go to the same depth regardless of speed...
It' Ok with option depth = <arg>, but for me it is amazing that almost 100 % of games differ, with only some ms per move
good evening
Well, the little time per move could actually _cause_ the games to differ almost always because small depths are calculated in a very short time. If there is a small difference in timing and you get 50 ms for a move instead of 60, this can make a big difference. If you get 10050 ms instead of 10060, this will hardly make a difference.
It' Ok with option depth = <arg>, but for me it is amazing that almost 100 % of games differ, with only some ms per move
good evening
Well, the little time per move could actually _cause_ the games to differ almost always because small depths are calculated in a very short time. If there is a small difference in timing and you get 50 ms for a move instead of 60, this can make a big difference. If you get 10050 ms instead of 10060, this will hardly make a difference.
I have almost 100% of differents games with 300 s per games, for me it was surprising.
Gian-Carlo Pascutto wrote:1) Book lines will differ
With the option "repeat" this does not happen.
Gian-Carlo Pascutto wrote:2) Small differences in timing can cause small differences in depth reached at each move. The small differences accumulate and the game diverges.
Try to run with the option "depth = <arg>" without time control.
That will repeat, for sure, but it gives wrong results. You won't know which of the two programs is better, since N plies to one program is not the same as N plies to another. If you try to measure improvements, any change that makes your tree larger (more extensions, fewer reductions, etc) or any change that makes you slower (more eval, more complex tests in search) will look good because with fixed depth, the slower search speed will not hurt you because you always go to the same depth regardless of speed...
Bob, you are absolutely right. But sometimes the tests at a fixed depth are useful.
Philou wrote:I am the author of the engine philou, and i test it with the good tool cutechess (thank's to ilary).
Thanks, and don't forget Arto, the other developer. He doesn't participate here (he's THAT smart), but he's the guy behind most of the inner "architecture" in Cute Chess.
When i make a tournament with the 2 same engine, with the same time and the same book and the option repeat, i think when the engine clear hash after every game that the two games are the same, but it is not the case with many engines, Fruit, Twisted logic, Philou....
Others already explained why the games may always differ when using time limits instead of depth limits. But you just gave me an idea: the "option.name=value" option needs a flag that sets the option for each game instead of just once when the engine is started. Then engine options like "Clear Hash" would actually be useful in cutechess-cli.
Gian-Carlo Pascutto wrote:1) Book lines will differ
With the option "repeat" this does not happen.
Gian-Carlo Pascutto wrote:2) Small differences in timing can cause small differences in depth reached at each move. The small differences accumulate and the game diverges.
Try to run with the option "depth = <arg>" without time control.
That will repeat, for sure, but it gives wrong results. You won't know which of the two programs is better, since N plies to one program is not the same as N plies to another. If you try to measure improvements, any change that makes your tree larger (more extensions, fewer reductions, etc) or any change that makes you slower (more eval, more complex tests in search) will look good because with fixed depth, the slower search speed will not hurt you because you always go to the same depth regardless of speed...
Bob, you are absolutely right. But sometimes the tests at a fixed depth are useful.
Yes they are. I use 'em for debugging all the time, particularly where I have an unexpected crash that is infrequent. Because with fixed depth, I can always replay to the same point and get the same crash every time. It is pretty hard to find bugs if you can't recreate them on demand...