Hello everyone, this is my first post. As someone who has built a chess engine from scratch and slavishly chased down every possible optimization and tweak, I have some thoughts about the new self-taught "zero" chess engines, namely Leela and Alpha Zero.
When the Alpha-Zero research paper came out, I was in the middle of crafting what I hoped would be a beautiful evaluation function for my engine. I watched the analysis videos of Alpha Zero playing this human, but deadly accurate form of chess and it was clear that the very idea of an evaluation function was done. But we'll challenge that notion here, for I want to make the point that the Alpha-Beta Stockfish, Komodo, Houdini era may not go so quietly.
The Deep Mind paper was an amazing piece of research and some criticism can be levelled at them for abandoning us chess tragics. However, keep in mind that good quality research papers allow the work to be reproduced and this is not as common as you'd hope in computer science. The open-source project Leela reminds us of the service Deep Mind did for us to enjoy. As we sleep each night, Leela dutifully grinds through thousands more games against herself, steadily climbing towards the top of the engine tree.
Alpha Zero was trained within 24 hours with the super computing power afforded by Google. But Leela provides us the drama of a child prodigy climbing to the top, with many hidings along the way from superior opponents. Please take a look at wonderful YouTube channel of KingCrusher (https://www.youtube.com/channel/UCDUDDmslypVXYoUsZafHSUQ), for instructive breakdowns of Leela beating up older versions of strong chess engines. There are some notable occasional wins against Stockfish 8, however for the moment she is still a few hundred ELO points behind. Projections suggest sometime around November 2018 Leela will overtake Stockfish 9, though if one reads the blog posts and research details, there are ongoing hurdles to get the neural network to train itself effectively each night. Problems such as over-fitting the training data are ever-present. This is analogous to a player simply remembering training games and not learning the general principles from them.
There is one key point to understand about this engine development. Some of the time, we still have no way to know the status of a given move. Is it the best move, a winning move, drawing move, losing move? Unless we can prove it by force, we often don't know. When a Stockfish engine rated 3400 ELO gets spanked by Alpha Zero, where do we turn for an analysis? What do we even really know about the game now? Who's to say that Alpha Zero was even correct?
Consider Leela's winning games against lesser opponents such as Stockfish 7 and Komodo 9, prior versions of the best engines. Watching KingCrusher's YouTube channel one is led to believe that aggressive king attacks combined with stifling anything else on the board is a winning approach. But what happens when a 3400 neural network engine meets a 3500 neural network engine? Will the board erupt in fireworks, or will it be locked up and fizzle? The point is, that we have yet to see how a strong neural network engine defends brilliantly. All the brilliancies are about the wins. Will we see the same deep strategy and disregard for material applied to defence? I suspect, with two equal engines, the opening choice may decide.
The other point I want to make is that the Alpha-Beta paradigm may not be so easily written off. The top engines continue to add ELO points every year. Hardware will continue to improve, but more importantly, the authors of the best engines will soon have a better engine to learn from. Consider what it's like being a StockFish developer right now. Where can you look to improve the engine? It's not like it loses very often, certainly not often enough to form general learnings. If/When Leela overtakes and starts dealing out beatings like we saw from AlphaZero, there is a new test suite of games to look at and improve from. Endless games, and we may see great things.
Compare this to how Leela can improve. Certainly the Monte Carlo search algorithm is fertile ground for research. But the neural network itself is a morass of interconnected numbers and weird functions. You can increase the size of the network and throw more learning games at it, but perhaps at some point the ELO increase flattens out and then the paradigm is exhausted. (I'm not sure of the current state of the research on this point).
Maybe for the next 10 years we will see fun, exciting play from Leela and other newcomers, crushing any old-school engine that comes near it. We'll re-write the opening books and have a brilliant time. And then, the neural network era will fizzle out and Komodo 24 will continue its relentless plod forward and we'll learn again that 3700 strength chess is about iron-clad, rock-solid attrition. Don't count this scenario out, it may yet come to pass. And maybe in another 10 years a new paradigm will come along, quantum computing perhaps?
Finally, a note about Leela and evaluation functions. Buried deep inside the neural network are encoded learnings from millions of self-play games. When trained successfully, the network does not remember the positions but rather learns generalizations from them. This is true of neural networks in general. As humans, Leela and AlphaZero re-ignite our interest in the game because they play in a way more familiar and exciting to us. The moment you create one single numerical constant in a traditional Alpha-Beta search evaluation function, you are as a human imposing imperfect knowledge on the engine. It will be expressed over and over, and deeply impact the result. Leela does not suffer this, and it's not possible in any meaningful way to ask her "what is the value of a knight?". Or, "this passed pawn is on the 6th rank, how do I adjust its value in light of its queening chances?". The board position goes into a black box, and a bunch of sigmoid functions are crunched and out pops a load of probabilities. It's neither like a human or an Alpha-Beta engine. Completely inscrutable and unknowable. We are going to have so much fun with this in the years to come. On a personal note, my own blitz rating has jumped 150 points recently after watching KingCrusher's videos of Leela's wins. It's awesome stuff.
But, I'm sticking my neck out here and saying in the year 2028, an AlphaBeta chess engine may well be the more formidable opponent, with deadly tactical accuracy. After all, at the end of the day, strategy is merely an approximation to tactics. If we can see to the end of the game, there is only tactics. StockFish will never see to the end of the game, but it may yet see further than a neural network can.
Let's see! Thanks for reading.