Judit Polgár Crushes Magnus Carlsen

I was up late last night playing chess online. Man, chess is a difficult game. It requires a humble attitude in order to accept losses and invest in the play and study time necessary to gradually improve. Which I’ve not done because I keep tinkering with my chess engine (a programming pursuit) instead of working on my game. Anyhow, after getting my ass handed to me online, I thought I’d spend time today to write a blog post about recent news that shocked the chess world. Last month, Magnus Carlsen was in Madrid, Spain where the Candidates Tournament was held.… Continue Reading

MadChess 3.0 Beta bef88d5 (Tweak Search, Tune Eval)

I’ll let my Pull Request notes (PR 3) explain where I began and where I finished (hint: not where I expected) with my latest code improvements to MadChess 3.0 Beta: Originally, I intended this PR to add Static Exchange Evaluation (SEE) to MadChess’ search method to reorder or skip evaluation of captures and / or quiet moves that enable the opponent to profitably capture the most recently moved piece. After numerous attempts to write a method that evaluates piece exchanges- either statically (without actually moving pieces) or dynamically (move pieces and search), and integrate it into the search, I could… Continue Reading

MadChess 2.0 Beta Build 022 (MVV / LVA Move Order)

I corrected a bug in move order. Moves mistakenly were ordered by most valuable victim, then most valuable attacker (MVV / MVA). I changed the order to most valuable victim, then least valuable attacker (MVV / LVA), so pawn takes queen captures are ordered before queen takes queen captures. In addition, I added code to recognize draws by insufficient material. And I corrected an index out of bounds bug involving move arrays. This added 30 Elo to the playing strength of MadChess 2.0 Beta. MadChess 2.0 1626 : 800 (+51,=79,-670), 11.3 % vs. : games ( +, =, -), (%)… Continue Reading

MadChess 2.0 Beta Build 020 (Baseline)

I’ve reached an important milestone in the development of my new chess engine. MadChess 2.0 Beta can play a timed game of chess. I’ve implemented an alpha / beta negamax search with aspiration windows and a capture / check evasion quiescence search. Evaluation is limited to material and middlegame piece square tables. No tapered evaluation, no passed pawn bonus, no piece mobility, no king safety, no reductions or pruning of moves, etc. I ran a gauntlet tournament, pitting MadChess 2.0 Beta against weak chess engines. MadChess 2.0 1489 : 800 (+17,=56,-727), 5.6 % vs. : games ( +, =, -),… Continue Reading

MadChess Playing on Internet Chess Club (ICC)

I registered a computer account on the Internet Chess Club (ICC). I’m using the WinBoard GUI to play MadChess against human opponents. I know the ratings of computer chess engines are not well calibrated to the ratings of human players. However, MadChess is exceeding my expectations, winning its first twenty games and counting. In case you’re wondering, I am not violating ICC rules. I registered MadChess as a computer account. All ICC players have the option of blocking computer players, if they wish to play only human opponents. See ICC Help : Computers for details. See Versus Human Ratings for… Continue Reading