The Stockfish chess engine requires patches to pass a test: it must beat the old version a sufficient proportion of the time.
This introduces an interesting problem: what if a patch set makes it stronger, but applied individually they make it worse?
miniblog.
Related Posts
I'm adding a += operator to my programming language, because writing `x = x + 1` is tedious.
This opens the tricky design question of which operators should support this. Is += and -= sufficient, or do you expect things like >>= and **= to be available?
One interesting property of both stdin/stdout based REPLs and RPC based REPLs is that they need to support asynchronous events.
In both these programs, I don't need to wait until the function is done to see the output printed. It's not sufficient to read-eval-wait-print-loop.
I'm fascinated to learn that people are discovering weaknesses in state-of-the-art bots for playing Go, such that a novice player can reliably win: https://goattack.far.ai/human-evaluation
This suggests that self-play doesn't always generalise: it's not sufficient to beat earlier versions.


