I added code to delay move generation if a cached position specifies a best move. The best move is played first. If it causes a beta cutoff, the expense of generating moves is avoided. If not, moves are generated and searched, skipping the best move, which has already been searched.
Also, I corrected a bug that caused all searches to use an infinite aspiration window. The corrected code will search the first ply using an infinite aspiration window, then search subsequent plies with a narrow window around the first ply’s score. If the score of subsequent searches lies on an aspiration boundary, the window gradually is widened from 50 to 200 to 500 to infinite centipawns.
This added 44 Elo to the playing strength of MadChess 2.0 Beta
MadChess 2.0 1670 : 800 (+64,=100,-636), 14.3 % vs. : games ( +, =, -), (%) : Diff, SD, CFS (%) BikJump v2.01 : 100 ( 1, 7, 92), 4.5 : -413, 17, 0.0 Matheus-2.3 : 100 ( 6, 13, 81), 12.5 : -389, 16, 0.0 Monarch 1.7 : 100 ( 3, 10, 87), 8.0 : -368, 17, 0.0 BigLion 2.23w : 100 ( 11, 11, 78), 16.5 : -335, 14, 0.0 Faile 1.4 : 100 ( 3, 15, 82), 10.5 : -330, 14, 0.0 Sharper 0.17 : 100 ( 12, 9, 79), 16.5 : -318, 16, 0.0 Jabba13032012 : 100 ( 15, 12, 73), 21.0 : -259, 15, 0.0 Roce 0.0390 : 100 ( 13, 23, 64), 24.5 : -184, 14, 0.0
Feature | Category | Date | Rev1 | WAC2 | Elo Rating3 | Improvement |
---|---|---|---|---|---|---|
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 | – |
- Subversion source code revision
- Win At Chess position test, 3 seconds per position
- Bullet chess, 2 min / game + 1 sec / move