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 2.0 Beta Build 021 (Tapered Evaluation)

I added tapered evaluation to MadChess 2.0 Beta. The evaluation assigns a material score, a middlegame piece location score, and an endgame piece location score. Then calculates the game phase and returns a weighted average of the middlegame and endgame scores. By separating piece location scores into middlegame and endgame phases, I can encourage MadChess to hold its queen back during the middlegame, and bring its king to the center during the endgame, for example. This added 107 Elo to the playing strength of MadChess 2.0 Beta. MadChess 2.0 1596 : 800 (+42,=72,-686), 9.8 % vs. : games ( +,… Continue Reading