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

Shifting Focus

Those of you who’ve written a chess engine understand how difficult it is to refrain from tinkering with the code. One always has ideas for more efficient algorithms or more concise code. These ideas need expression, need testing and verification. But at some point, due to the cruel law of diminishing returns, one has to walk away and work on other problems. I feel I’ve reached that point. I’d like to shift my focus from improving the playing strength of MadChess to writing a Graphical User Interface (GUI). To that end, I spent time today reading about the latest Microsoft… Continue Reading