As a humble Chess amateur, I gave myself this challenge: to develop a simple, good-looking Chess game with AI that can beat me, without Machine-Learning. This article is about my journey to achieve it and is composed of 4 parts: rules, computation, strategy, and playing. And just to make things clear, I also decided not to read theoretical or algorithmic explanations on Chess engines, I wanted to build my own algorithm, based on my common sense and personal experience. I named it Bobby, as a tribute to Robert "Bobby" James Fischer, who has been World Chess Champion and one of my heroes as a young player.
Since IBM's Deep Blue defeated World Chess Champion Garry Kasparov in their 1997 match, chess engines have only increased dramatically in strength and understanding. Today, the best chess engines are an almost incomprehensible 1,000 Elo points stronger than Deep Blue was at that time. A quick Google search for terms such as "Magnus Carlsen versus Stockfish" turns up numerous threads asking if humans can compete against today's top chess engines. The broad consensus seems to be that the very best humans might secure a few draws with the white pieces, but in general, they would lose the vast majority of games and would have no hope of winning any games. I see no reason to disagree with this consensus. Despite the clear superiority of engines, there ARE positions which chess engines don't (and possibly can't) understand that are quite comprehensible for human players.
Many years ago I was with Garry Kasparov for an event in London's Home House, and there we had dinner with a young lad, a former child prodigy in chess, one who had reached master level (Elo 2300) at the age of 13 and captained a number English junior chess teams. It was an interesting encounter with the boy enthusiastically describing a computer game he was developing. After he left I said to Garry: "That's a cocky young fellow!" "But very smart," Garry replied. And we left it at that.
The wave of neural network engines that AlphaZero inspired have impacted chess preparation, opening theory, and middlegame concepts. We can see this impact most clearly at the elite level because top grandmasters prepare openings and get ideas by working with modern engines. For instance, Carlsen cited AlphaZero as a source of inspiration for his remarkable play in 2019. Neural network engines like AlphaZero learn from experience by developing patterns through numerous games against itself (known as self-play reinforcement learning) and understanding which ideas work well in different types of positions. This pattern recognition ability suggests that they are especially strong in openings and strategic middlegames where long-term factors must be assessed accurately. In these areas of chess, their experience allows them to steer the game towards positions that provide relatively high probabilities of winning.
The history of AI is often told as the story of machines getting smarter over time. What's lost is the human element in the narrative, how intelligent machines are designed, trained, and powered by human minds and bodies. In this six-part series, we explore that human history of AI--how innovators, thinkers, workers, and sometimes hucksters have created algorithms that can replicate human thought and behavior (or at least appear to). While it can be exciting to be swept up by the idea of super-intelligent computers that have no need for human input, the true history of smart machines shows that our AI is only as good as we are. In the year 1770, at the court of the Austrian Empress Maria Theresa, an inventor named Wolfgang von Kempelen presented a chess-playing machine.