MadChess 1.3 Released

I’ve added 50 to 90 Elo to MadChess, depending on the time control. I’ve finally broken the master barrier (2200 Elo)! I estimate MadChess’ playing strength is ~2200 Elo at blitz time control and ~2220 Elo at rapid time control.

Source code and EXEs available on the Downloads page.

  1. Added parameters to weaken engine strength (Score Error and Max Nodes Per Second), though I did not test them thoroughly.
  2. Calculate piece location score in evaluation instead of incrementally during move generation.
  3. Replaced yield-based move selectors with state-machine move selectors due to poor performance of iterators in recursive search algorithm.
  4. More aggressive late move reductions.
  5. Added multiple buckets per position cache key.
  6. Added draw detection for common endgames.
  7. Added penalty for own rook ahead of own passed pawn.
  8. Added command to test move generation.
  9. Eliminated personality parameter. Configure parameters in GUI and save as .uci file instead.
  10. Eliminated attacks list.
  11. Eliminated unneeded interfaces and abstract classes.

Banks 42nd Amateur Series Division 7

MadChess 1.2 participated in Graham Banks’ 42nd amateur tournament in division 7.

                                  1    2    3    4    5    6    7    8    9    0    1    2    3    4    
1   Tigran 2.4 64-bit             **** ½111 ½½½0 ½001 110½ ½1½½ 1½½1 11½1 1½½0 111½ ½1½1 ½0½1 1½1½ 1011  34.5/52
2   Bagatur 1.3a 64-bit           ½000 **** ½010 000½ 1111 0½10 1101 ½011 1111 1110 11½½ ½11½ 1111 11½1  34.0/52
3   Mediocre 0.5                  ½½½1 ½101 **** 0½11 10½0 0111 ½½½½ 10½1 ½100 1½½0 ½1½1 ½111 11½½ ½101  32.0/52
4   ProChess 1.02AD               ½110 111½ 1½00 **** ½001 1000 1101 1010 11½½ 0101 1011 1010 110½ ½110  30.0/52
5   Waxman 2013                   001½ 0000 01½1 ½110 **** ½011 001½ 1100 01½½ ½011 11½½ ½11½ ½110 1111  29.5/52
6   FireFly 2.6.0 64-bit          ½0½½ 1½01 1000 0111 ½100 **** ½½½1 0000 10½0 10½1 ½11½ 1½11 0½½1 ½½11  27.5/52
7   Gibbon 2.57a 64-bit           0½½0 0010 ½½½½ 0010 110½ ½½½0 **** 00½1 00½1 011½ 1111 1111 110½ ½½01  27.0/52
8   MangoPaolaAjedrez 1.0 64-bit  00½0 ½100 01½0 0101 0011 1111 11½0 **** 0110 0½½½ 0000 0½½1 0101 1111  25.5/52
9   Carballo 0.8                  0½½1 0000 ½011 00½½ 10½½ 01½1 11½0 1001 **** 101½ 1½00 ½001 01½1 ½½½0  24.0/52
10  Fischerle 0.9.30b 64-bit      000½ 0001 0½½1 1010 ½100 01½0 100½ 1½½½ 010½ **** 001½ 1110 1001 010½  22.0/52  556.50
11  Latista (Sinobyl) 1.50        ½0½0 00½½ ½0½0 0100 00½½ ½00½ 0000 1111 0½11 110½ **** 110½ 01½0 1011  22.0/52  535.00
12  ChessKiss 1.7 64-bit          ½1½0 ½00½ ½000 0101 ½00½ 0½00 0000 1½½0 ½110 0001 001½ **** 11½½ 01½1  19.5/52
13  MadChess 1.2 64-bit           0½0½ 0000 00½½ 001½ ½001 1½½0 001½ 1010 10½0 0110 10½1 00½½ **** ½½00  18.5/52
14  Maverick 0.2 64-bit           0100 00½0 ½010 ½001 0000 ½½00 ½½10 0000 ½½½1 101½ 0100 10½0 ½½11 ****  18.0/52

Games

Saitek Challenge Game 5

I’m playing a ten game match between my old Saitek chess computer (circa 1993) and MadChess, a chess engine I wrote.

MadChess wins again. MadChess leads wins the match, 5-0. This is a rout. I’m calling the match after five games. MadChess wins decisively.

Analysis by the Komodo 5.1 chess engine. Komodo indicates where MadChess blundered one pawn or worse.

  • Time Control
    • Saitek: None. Level 4E
    • MadChess: 1 second per move
  • Opening Book
    • Saitek: Built in book
    • MadChess: standard Shredder book (up to move 8)

Saitek Challenge Games

Saitek Challenge Game 4

I’m playing a ten game match between my old Saitek chess computer (circa 1993) and MadChess, a chess engine I wrote.

MadChess wins again. MadChess leads the match, 4-0.

Analysis by the Komodo 5.1 chess engine.  Komodo indicates where MadChess blundered one pawn or worse.

  • Time Control
    • Saitek: None. Level 4E
    • MadChess: 1 second per move
  • Opening Book
    • Saitek: Built in book
    • MadChess: standard Shredder book (up to move 8)

Saitek Challenge Games

Banks 41st Amateur Series Division 7

MadChess 1.2 participated in Graham Banks’ 41st amateur tournament in division 7.

                                      1    2    3    4    5    6    7    8    9    0    
1   Butcher 1.64 64-bit   2355    -2  **** 1½11 00½0 ½½1½ 0101 ½½1½ 1111 1110 11½½ 101½  23.5/36
2   Tigran 2.3 64-bit     2289   +19  0½00 **** ½101 1½01 1011 111½ ½110 1001 1001 11½0  21.0/36
3   Gibbon 2.57a 64-bit   2251   +32  11½1 ½010 **** 1000 ½011 0½10 101½ 001½ 11½1 ½1½0  19.5/36
4   Carballo 0.8          2273    -1  ½½0½ 0½10 0111 **** ½0½0 0101 1111 0½11 01½1 0001  19.0/36
5   FireFly 2.6.0 64-bit  2258    +5  1010 0100 ½100 ½1½1 **** ½110 0½10 0110 0½10 ½111  18.5/36
6   Waxman 2011           2256    -2  ½½0½ 000½ 1½01 1010 ½001 **** 0011 1½½½ 11½0 1½½1  18.0/36
7   ProChess 1.02AD       2244   -17  0000 ½001 010½ 0000 1½01 1100 **** 1½10 ½1½1 111½  16.5/36
8   MadChess 1.2          2200    +1  0001 0110 110½ 1½00 1001 0½½½ 0½01 **** 100½ 0½10  15.0/36  275.00
9   Shallow 1.0 64-bit    2200    +1  00½½ 0110 00½0 10½0 1½01 00½1 ½0½0 011½ **** 110½  15.0/36  266.00
10  ChessKiss 1.7 64-bit  2214   -34  010½ 00½1 ½0½1 1110 ½000 0½½0 000½ 1½01 001½ ****  14.0/36

Games