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

Taking A Break From Chess Programming, Not Chess

I am taking a break from chess programming. Recently I started a new job. The job is in the same field I’ve been in for fifteen years (software development), but will be more technically challenging. Any programming I do in the near future will be devoted to work assignments. I am not, however, taking a break from chess. I am following the Anand – Carlsen World Championship match closely. Having Scandinavian blood, I am rooting for Magnus Carlsen. I intend to analyze the games with my chess engine and with Komodo, my favorite world-class chess engine. I’m interested to know… Continue Reading