Hacker News new | past | comments | ask | show | jobs | submit login

You can make the engine choice deterministic just by choosing an evaluation time and settings.



That wouldn't work as the speed at which the engine runs is not deterministic.

Engines can be configured to limit search to a certain depth, which will produce a result after every branch has reached the limit or been pruned. That process will vary in time but be deterministic.

Recent neural based engines tend to not be deterministic, especially if ran multi-threaded.


This is not necessarily true. Sometimes there are emultiple best moves, and in this case the order might be arbitrary depending on all sorts of hard to control things like thread interleavings and caching effects which can be affected even by other processes on the system. You could run it single threaded with no transposition table, but then you have a pretty shitty engine because modern engines are fundamentally designed around having a transposition table. Then you get situations where the top engine move might actually be a bad move.


Where time is measured in the number of positions evaluated.


not quite deterministic when you consider multithreading and monte carlo search.


Yeah, deterministic is not actually the concept I want here I think. It's fine if it's random, it just needs to be unambiguous.

So you just choose in advance what settings to run with and the stopping condition. And then it doesn't matter that if you had run it with different settings, you may have gotten a different answer.


It is less fun if the outcome is non-deterministic. It means that occasionally the win is determined randomly. That takes away a certain element of skill.


I guess if you let it run for a long time it should converge on a first move?

I don't think there's a real fix for the issue, unless someone effectively solves chess someday. Otherwise your win/loss is fundamentally based on the imperfect evaluation of a particular engine.

If it's really just the nondeterminism that bothers you (which is fair enough, preferences vary), there's engines that either are deterministic or can be made so with settings.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: