MadChess 2.0 Beta Build 123 (Rook And Queen On 7th Rank)

I added rook and queen on 7th rank evaluation to MadChess 2.0 Beta. The code awards a bonus for a rook or queen on the 7th rank if the enemy king is on the 8th rank (its 1st rank).

Also, I removed late move pruning. (When I implemented late move pruning in build 44 it added 39 Elo to the playing strength of MadChess 2.0 Beta.) I replaced it with more aggressive null and late move reductions, and more aggressive futility pruning, but found it decreased the playing strength. Next, I restored late move pruning and left in the aggressive reductions. I found the strength increased, but not quite back to where it had been. I discovered a non-linear relationship between these search techniques. The combined strength of null move reductions, LMR, LMP, and futility pruning is not additive. I experimented with various parameter configurations before deciding to abandon LMP. It took 300 hours of testing to confirm the revised search was equivalently strong to the search with LMP.

This added 20 Elo to the playing strength of MadChess 2.0 Beta.

MadChess 2.0             2306.9 :   1600 (+835,=299,-466),  61.5 %

vs.                             :  games (   +,   =,   -),   (%) :    Diff,    SD, CFS (%)
Glass 1.6                       :    100 (  22,  24,  54),  34.0 :  -140.1,  15.0,    0.0
RomiChess P3L                   :    100 (  20,  20,  60),  30.0 :  -133.7,  16.2,    0.0
OliThink 5.3.2                  :    100 (  23,  20,  57),  33.0 :  -109.7,  15.5,    0.0
Myrddin 0.87                    :    100 (  31,  21,  48),  41.5 :   -75.0,  17.3,    0.0
Sungorus 1.4                    :    100 (  49,  15,  36),  56.5 :    -3.1,   8.2,   35.2
FireFly v2.6.0                  :    100 (  47,  31,  22),  62.5 :   +89.0,  10.0,  100.0
ZCT 0.3.2450                    :    100 (  42,  28,  30),  56.0 :   +94.7,  10.8,  100.0
Beowulf 2.4                     :    100 (  59,  19,  22),  68.5 :   +97.1,  13.0,  100.0
Jazz v444                       :    100 (  60,  17,  23),  68.5 :  +108.9,  10.0,  100.0
Brainless 1.0                   :    100 (  57,  17,  26),  65.5 :  +148.2,  17.8,  100.0
Wing 2.0                        :    100 (  61,  20,  19),  71.0 :  +177.5,  10.1,  100.0
BikJump v2.01                   :    100 (  61,  22,  17),  72.0 :  +198.9,  10.7,  100.0
Matheus-2.3                     :    100 (  66,  19,  15),  75.5 :  +220.5,  10.7,  100.0
Monarch 1.7                     :    100 (  72,  12,  16),  78.0 :  +245.5,  11.0,  100.0
BigLion 2.23w                   :    100 (  82,   7,  11),  85.5 :  +277.1,   9.4,  100.0
Sharper 0.17                    :    100 (  83,   7,  10),  86.5 :  +289.8,  10.8,  100.0
Feature Category Date Rev1 WAC2 Elo Rating3 Improvement
Rook And Queen On 7th Rank Evaluation 2015 Aug 20 123 279 2307 +20
Knight Outposts Evaluation 2015 May 27 83 276 2287 +25
Tune Reductions And Pruning Search 2015 Apr 26 74 275 2262 +20
Bishop Pair Evaluation 2015 Apr 15 69 275 2242 +18
Free Passed Pawns Evaluation 2015 Mar 10 59 270 2224 +31
Unstoppable Pawns
Draws, Material Trades
Evaluation 2015 Jan 31 52 270 2193 +39
Late Move Pruning Search 2015 Jan 10 44 273 2154 +39
History Heuristic
Late Move Reductions
Search 2015 Jan 04 40 275 2115 +50
Killer Moves Search 2015 Jan 03 38 275 2065 +61
Futility Pruning Search 2014 Dec 29 37 256 2004 +54
Null Move
Quiescence Recaptures
Search 2014 Dec 28 34 242 1950 +46
King Safety Evaluation 2014 Dec 24 32 225 1904 +27
Piece Mobility Evaluation 2014 Dec 16 29 225 1877 +64
Draw By Repetition Bug Evaluation 2014 Dec 10 27 225 1813 +47
Passed Pawns Evaluation 2014 Dec 09 26 225 1766 +72
Time Management Search 2014 Dec 08 25 231 1694 +24
Delay Move Generation
Aspiration Window Bug
Search 2014 Dec 02 23 231 1670 +44
MVV / LVA Move Order
Draw By Insufficient Material
Move List Overflow Bug
Search 2014 Dec 01 22 235 1626 +30
Tapered Evaluation
MG and EG Piece Location
Evaluation 2014 Nov 29 21 234 1596 +107
Alpha / Beta Negamax
Aspiration Windows
Quiescence, Hash
Material, Piece Squares
Baseline 2014 Nov 25 20 236 1489
  1. Subversion source code revision
  2. Win At Chess position test, 3 seconds per position
  3. Bullet chess, 2 min / game + 1 sec / move

Banks 53rd Amateur Series Division 6

MadChess 1.4 participated in Graham Banks’ 53rd amateur tournament in division 6.

                                  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5  6  7  8  
1   Donna 2.1 64-bit              ** 1½ 1½ 1½ ½½ 01 ½1 ½½ 1½ ½1 11 ½0 11 ½1 11 11 11 11  26.0/34
2   Ares 1.005 64-bit             0½ ** ½½ ½0 1½ ½1 01 1½ 1½ ½½ 11 11 1½ 1½ 11 11 11 11  25.0/34
3   Carballo 1.2                  0½ ½½ ** ½½ 01 ½½ ½½ ½½ 1½ ½1 11 ½1 10 01 11 1½ 1½ 11  22.0/34
4   Myrddin 0.87 64-bit           0½ ½1 ½½ ** 1½ ½1 ½1 01 1½ 1½ ½0 ½½ ½½ 01 11 ½0 11 11  21.5/34
5   Tigran 2.4n 64-bit            ½½ 0½ 10 0½ ** ½1 1½ 11 ½½ 11 10 10 00 1½ 11 ½1 ½½ ½1  20.5/34
6   Jazz 840 64-bit               10 ½0 ½½ ½0 ½0 ** 11 11 00 ½½ 11 ½1 10 ½1 0½ 01 ½1 10  18.5/34
7   CyberPagno 2.2 64-bit         ½0 10 ½½ ½0 0½ 00 ** ½1 10 01 01 ½1 1½ 11 ½0 00 ½1 11  17.0/34  269.25
8   Nemeton 1.2                   ½½ 0½ ½½ 10 00 00 ½0 ** 11 00 01 ½½ 1½ 11 1½ ½0 1½ 11  17.0/34  266.25
9   Exacto 0.e 64-bit             0½ 0½ 0½ 0½ ½½ 11 01 00 ** 0½ 01 ½½ 10 0½ 11 01 11 11  17.0/34  263.25
10  FireFly 2.7.0 64-bit          ½0 ½½ ½0 0½ 00 ½½ 10 11 1½ ** 0½ 1½ 11 11 ½0 11 00 00  16.5/34
11  Protej 0.5.8c                 00 00 00 ½1 01 00 10 10 10 1½ ** ½1 10 01 10 01 ½½ ½1  15.0/34
12  Lozza 1.15 64-bit             ½1 00 ½0 ½½ 01 ½0 ½0 ½½ ½½ 0½ ½0 ** 1½ 11 00 11 0½ 0½  14.5/34  244.00
13  Gibbon 2.69a 64-bit           00 0½ 01 ½½ 11 01 0½ 0½ 01 00 01 0½ ** 00 ½1 10 01 11  14.5/34  235.50
14  MangoPaolaAjedrez 4.1         ½0 0½ 10 10 0½ ½0 00 00 1½ 00 10 00 11 ** 1½ 11 01 ½0  13.5/34  220.00
15  Orion 0.2                     00 00 00 00 00 1½ ½1 0½ 00 ½1 01 11 ½0 0½ ** ½1 ½1 ½1  13.5/34  195.50
16  MadChess 1.4 64-bit           00 00 0½ ½1 ½0 10 11 ½1 10 00 10 00 01 00 ½0 ** 10 01  12.5/34
17  PikoSzachy Extreme            00 00 0½ 00 ½½ ½0 ½0 0½ 00 11 ½½ 1½ 10 10 ½0 01 ** 01  12.0/34
18  Absolute Zero 2.4.0.0 64-bit  00 00 00 00 ½0 01 00 00 00 11 ½0 1½ 00 ½1 ½0 10 10 **   9.5/34

Games

MadChess 2.0 Beta Build 083 (Knight Outposts)

I added knight outpost evaluation to MadChess 2.0 Beta. Knights on the 5th rank or beyond are awarded a bonus if they cannot be attacked by enemy pawns and are supported by their own pawn.

This added 25 Elo to the playing strength of MadChess 2.0 Beta.

MadChess 2.0                   2287 :   1600 (+785,=327,-488),  59.3 %

vs.                                 :  games (   +,   =,   -),   (%) :   Diff,  SD, CFS (%)
Glass 1.6                           :    100 (  14,  15,  71),  21.5 :   -187,  10,    0.0
RomiChess P3L                       :    100 (  18,  28,  54),  32.0 :   -145,  14,    0.0
OliThink 5.3.2                      :    100 (  21,  17,  62),  29.5 :   -135,  13,    0.0
Myrddin 0.87                        :    100 (  22,  22,  56),  33.0 :   -112,  20,    0.0
Sungorus 1.4                        :    100 (  41,  26,  33),  54.0 :    -23,   6,    0.0
Beowulf 2.4                         :    100 (  47,  26,  27),  60.0 :    +70,   8,  100.0
FireFly v2.6.0                      :    100 (  52,  21,  27),  62.5 :    +74,  11,  100.0
ZCT 0.3.2450                        :    100 (  52,  23,  25),  63.5 :    +84,   9,  100.0
Jazz v444                           :    100 (  52,  26,  22),  65.0 :    +90,   6,  100.0
Wing 2.0                            :    100 (  54,  25,  21),  66.5 :   +157,   7,  100.0
Brainless 1.0                       :    100 (  63,  17,  20),  71.5 :   +159,  25,  100.0
BikJump v2.01                       :    100 (  60,  23,  17),  71.5 :   +182,   7,  100.0
Matheus-2.3                         :    100 (  68,  21,  11),  78.5 :   +208,  13,  100.0
Monarch 1.7                         :    100 (  71,  10,  19),  76.0 :   +230,  11,  100.0
BigLion 2.23w                       :    100 (  70,  17,  13),  78.5 :   +255,   7,  100.0
Sharper 0.17                        :    100 (  80,  10,  10),  85.0 :   +272,   7,  100.0
Feature Category Date Rev1 WAC2 Elo Rating3 Improvement
Knight Outposts Evaluation 2015 May 27 83 276 2287 +25
Tune Reductions And Pruning Search 2015 Apr 26 74 275 2262 +20
Bishop Pair Evaluation 2015 Apr 15 69 275 2242 +18
Free Passed Pawns Evaluation 2015 Mar 10 59 270 2224 +31
Unstoppable Pawns
Draws, Material Trades
Evaluation 2015 Jan 31 52 270 2193 +39
Late Move Pruning Search 2015 Jan 10 44 273 2154 +39
History Heuristic
Late Move Reductions
Search 2015 Jan 04 40 275 2115 +50
Killer Moves Search 2015 Jan 03 38 275 2065 +61
Futility Pruning Search 2014 Dec 29 37 256 2004 +54
Null Move
Quiescence Recaptures
Search 2014 Dec 28 34 242 1950 +46
King Safety Evaluation 2014 Dec 24 32 225 1904 +27
Piece Mobility Evaluation 2014 Dec 16 29 225 1877 +64
Draw By Repetition Bug Evaluation 2014 Dec 10 27 225 1813 +47
Passed Pawns Evaluation 2014 Dec 09 26 225 1766 +72
Time Management Search 2014 Dec 08 25 231 1694 +24
Delay Move Generation
Aspiration Window Bug
Search 2014 Dec 02 23 231 1670 +44
MVV / LVA Move Order
Draw By Insufficient Material
Move List Overflow Bug
Search 2014 Dec 01 22 235 1626 +30
Tapered Evaluation
MG and EG Piece Location
Evaluation 2014 Nov 29 21 234 1596 +107
Alpha / Beta Negamax
Aspiration Windows
Quiescence, Hash
Material, Piece Squares
Baseline 2014 Nov 25 20 236 1489
  1. Subversion source code revision
  2. Win At Chess position test, 3 seconds per position
  3. Bullet chess, 2 min / game + 1 sec / move

Banks 52nd Amateur Series Division 7

MadChess 1.4 participated in Graham Banks’ 52nd amateur tournament in division 7.

                                  1    2    3    4    5    6    7    8    9    0    
1   Gibbon 2.60a 64-bit           **** 11½0 ½0½½ 1½½½ ½110 0½1½ 1½½1 1011 1½1½ 1½½1  23.0/36
2   Orion 0.2 64-bit              00½1 **** 0110 ½110 ½½00 ½0½1 1½11 1111 ½½1½ 11½0  21.5/36
3   Mango Paola Ajedrez 4.1       ½1½½ 1001 **** 0100 1011 ½001 ½½11 1010 10½1 111½  21.0/36
4   Lozza 1.15 64-bit             0½½½ ½001 1011 **** ½10½ ½01½ ½00½ ½½1½ 1011 111½  20.0/36
5   Absolute Zero 2.4.0.0 64-bit  ½001 ½½11 0100 ½01½ **** 1½1½ 0½½1 01½0 100½ 111½  19.0/36
6   Exacto 0.e 64-bit             1½0½ ½1½0 ½110 ½10½ 0½0½ **** 010½ 11½0 10½1 ½011  18.5/36  324.50
7   Fischerle 0.9.60 64-bit       0½½0 0½00 ½½00 ½11½ 1½½0 101½ **** 10½1 11½1 1½½½  18.5/36  308.25
8   MadChess 1.4 64-bit           0100 0000 0101 ½½0½ 10½1 00½1 01½0 **** 0011 0101  14.0/36
9   Protej 0.5.8c                 0½0½ ½½0½ 01½0 0100 011½ 01½0 00½0 1100 **** 100½  13.0/36
10  NGplay 9.86 64-bit            0½½0 00½1 000½ 000½ 000½ ½100 0½½½ 1010 011½ ****  11.5/36

Games

MadChess 2.0 Beta Build 074 (Tune Reductions And Pruning)

I tuned parameters related to search reductions and move pruning.  The {3, 7} in the code below means reduce the 3rd quiet move one ply, and reduce the 7th quiet move two plies.

This added 20 Elo to the playing strength of MadChess 2.0 Beta.

MadChess 2.0                   2262 :   1600 (+738,=325,-537),  56.3 %

vs.                                 :  games (   +,   =,   -),   (%) :   Diff,  SD, CFS (%)
Glass 1.6                           :    100 (  16,  24,  60),  28.0 :   -186,  10,    0.0
RomiChess P3L                       :    100 (  18,  18,  64),  27.0 :   -171,  12,    0.0
OliThink 5.3.2                      :    100 (  16,  24,  60),  28.0 :   -152,  13,    0.0
Myrddin 0.87                        :    100 (  24,  20,  56),  34.0 :   -123,  22,    0.0
Sungorus 1.4                        :    100 (  46,  16,  38),  54.0 :    -48,   7,    0.0
FireFly v2.6.0                      :    100 (  53,  17,  30),  61.5 :    +50,   9,  100.0
Beowulf 2.4                         :    100 (  49,  26,  25),  62.0 :    +53,   8,  100.0
Jazz v444                           :    100 (  44,  21,  35),  54.5 :    +57,   5,  100.0
ZCT 0.3.2450                        :    100 (  48,  24,  28),  60.0 :    +58,   9,  100.0
Brainless 1.0                       :    100 (  51,  21,  28),  61.5 :   +109,  23,  100.0
Wing 2.0                            :    100 (  64,  20,  16),  74.0 :   +139,   8,  100.0
BikJump v2.01                       :    100 (  49,  27,  24),  62.5 :   +149,   7,  100.0
Matheus-2.3                         :    100 (  55,  20,  25),  65.0 :   +170,  12,  100.0
Monarch 1.7                         :    100 (  59,  18,  23),  68.0 :   +197,  11,  100.0
BigLion 2.23w                       :    100 (  78,  13,   9),  84.5 :   +232,   7,  100.0
Sharper 0.17                        :    100 (  68,  16,  16),  76.0 :   +239,   7,  100.0
Feature Category Date Rev1 WAC2 Elo Rating3 Improvement
Tune Reductions And Pruning Search 2015 Apr 26 74 275 2262 +20
Bishop Pair Evaluation 2015 Apr 15 69 275 2242 +18
Free Passed Pawns Evaluation 2015 Mar 10 59 270 2224 +31
Unstoppable Pawns
Draws, Material Trades
Evaluation 2015 Jan 31 52 270 2193 +39
Late Move Pruning Search 2015 Jan 10 44 273 2154 +39
History Heuristic
Late Move Reductions
Search 2015 Jan 04 40 275 2115 +50
Killer Moves Search 2015 Jan 03 38 275 2065 +61
Futility Pruning Search 2014 Dec 29 37 256 2004 +54
Null Move
Quiescence Recaptures
Search 2014 Dec 28 34 242 1950 +46
King Safety Evaluation 2014 Dec 24 32 225 1904 +27
Piece Mobility Evaluation 2014 Dec 16 29 225 1877 +64
Draw By Repetition Bug Evaluation 2014 Dec 10 27 225 1813 +47
Passed Pawns Evaluation 2014 Dec 09 26 225 1766 +72
Time Management Search 2014 Dec 08 25 231 1694 +24
Delay Move Generation
Aspiration Window Bug
Search 2014 Dec 02 23 231 1670 +44
MVV / LVA Move Order
Draw By Insufficient Material
Move List Overflow Bug
Search 2014 Dec 01 22 235 1626 +30
Tapered Evaluation
MG and EG Piece Location
Evaluation 2014 Nov 29 21 234 1596 +107
Alpha / Beta Negamax
Aspiration Windows
Quiescence, Hash
Material, Piece Squares
Baseline 2014 Nov 25 20 236 1489
  1. Subversion source code revision
  2. Win At Chess position test, 3 seconds per position
  3. Bullet chess, 2 min / game + 1 sec / move