Open wanhesong opened 2 years ago
I tried to run the consistency checks with Coac vs. Chad matches in the original Java engine, but it only works if both agents are deterministic. Sadly, Chad is not deterministic (MCTS has a random component), and I couldn't find an easy way to set a seed to its RNG (I don't know Rust :P).
Running 200 games of Coac vs. Chad using the competition's run.sh script, Coac achieved a win rate of 68%, which is significantly higher than the reported 57%. This may be due to differences in hardware (?) from my computer to those used in the competition since Marasbot from earlier editions also achieved different win rates on my computer. However, while using locm-runner
to execute the same matches, Coac ended up with a win rate of 78%, as reported by OP, which means that there may also be something wrong with the NativeAgent
class and/or the engine (although the engine seems to be correct, considering the other consistency checks I've run).
For now, I'll let this issue hanging. I'll come back if I think of other ideas to debug this match-up.
The Coac vs Chad winrate was reported to be 57% in CEC 2020, but I obtained a winrate ~= 80% using
locm-runner
andNativeAgent
.The evaluation code is:
where I had commented out the
cerr <<
code for Coac (e.g., here and other similar lines) as I found theself._process.read_nonblocking
code fromNativeAgent
seemed to read both stdout and stderr (a known issue).And here are the printed results:
See also the original discussion here