Jan 22, 2007

[Other] Draw repetition left

After taking a long look at King's Out's implementation of transposition tables I finally understood what I had to do to get everything working correctly in Mediocre.

Man that was a hard piece of code to write... All in all 10 lines or so in the alpha-beta method, and almost two weeks to get them working right. :)

The speed gains are noticeable but not enormous. But with the transposition tables as a foundation there are a lot of optimization that can be done.

Where it really made a difference is in the endgame though. In the null move example a couple of posts back Mediocre can now reach 16 ply in under a second, while without transposition tables it reaches only 9 ply in the same time.

Now I just need to replace my crude repetition detection and possibly take another look at the replacement scheme the transposition table uses (uses depth replacement now).

Mediocre is created by Jonatan Pettersson and released under the GPL license. Excelsior and Excelsior JET are trademarks of Excelsior LLC in the Russian Federation and other countries. The Excelsior JET Badge is a trademark of Excelsior LLC, used with permission.