The Managerie

MadChess 2.2 participated in a tournament Graham Banks arranged, named The Managerie. 1 2 3 4 5 6 7 8 9 0 1 Raven 1.10 64-bit **** ½0½½ ½01½ ½1½1 ½½½1 1½10 ½11½ 11½1 1½10 1111 24.5/36 2 MadChess 2.2 64-bit ½1½½ **** 10½0 010½ ½0½½ 1½11 ½11½ 1101 111½ ½011 22.5/36 3 RookieMonster 1.8.2 64-bit ½10½ 01½1 **** 0011 ½010 1001 ½½01 ½1½1 10½½ 1111 21.0/36 4 Cosette 5.0 64-bit ½0½0 101½ 1100 **** 1101 1½½0 ½101 ½0½½ 1½11 101½ 20.5/36 5 Bearded N44.5 64-bit ½½½0 ½1½½ ½101 0010 **** 0111 ½011 ½½01 ½11½ 1½½0 20.0/36 6 Waxman 2020… Continue Reading

MadChess 3.0 Released

I have released version 3.0 of my chess engine. This is a complete rewrite of the engine using bitboards. I began the project two and a half years ago and worked on it sporadically, with long stretches of inactivity. I didn’t work on MadChess at all in 2019. Life got too busy, personally and professionally. Gradually, I improved MadChess’ playing strength, surpassing the previous version, and crossing the 2600 Elo threshold. Considering MadChess 3.0 doesn’t have a sophisticated evaluation function, I’m satisfied to have reached that milestone. I’ll likely pursue evaluation improvements in a future version. I have written MadChess… Continue Reading

Tactical Minefield in Won Game

I played an interesting blitz game a couple nights ago against MadChess 3.0 Beta. The engine is strong enough for me to release it. Before I do, I’m improving features not related to maximizing engine strength. In fact, quite the opposite: I’m working on UCI_LimitStrength and UCI_Elo options that reduce the engine’s playing strength. This enables us mere mortals to configure MadChess for a more enjoyable game- competitive but with winning chances gifted to us by an engine purposefully playing inaccuracies and blunders. The game began as follows. Playing white, I develop my pieces. MadChess 3.0 Beta mindlessly pushes a… Continue Reading

MadChess 3.0 Beta 4d22dec (Endgame Eval Scaling)

I improved MadChess 3.0 Beta’s detection of drawn endgames. The IsPawnlessDraw method scores the following positions as drawn. Though it continues to search moves for a swindle (opponent mistake that makes a drawn game winnable). 2N vrs <= 1 Minor Q vrs 2B Q vrs 2N Q vrs Q Q vrs R + Minor R vrs R + <= 1 Minor Q vrs 2R 2R vrs R + Minor 2R vrs 2R Testing revealed considering R vrs <= 2 Minors a draw increased evaluation error and caused the engine to play weaker. I left that endgame in the IsPawnlessDraw function… Continue Reading

MadChess 3.0 Beta 2960ec9 (Bishop Pair)

I improved MadChess 3.0 Beta’s evaluation function by adding middlegame and endgame evaluation parameters for bishop pair. Tuning code indicated the bishop pair parameters immediately reduced evaluation error when examining a database consisting of approximately 54,000 Grandmaster games (both players 2600 Elo or stronger). I ran the Particle Swarm Optimization tuner on all evaluation parameters and it further reduced evaluation error. This improved evaluation function increased the playing strength of MadChess 3.0 Beta by 22 Elo.   Feature Category Date Commit1 WAC2 Elo Rating3 Improvement Bishop Pair Evaluation 2021 Mar 14 2960ec9 285 2592 +22 Position Cache Optimization Search 2021… Continue Reading