According to Deep mind's article, Alpha Zero searches roughly 10,000 moves per decision, while Stockfish is around 10,000,000 moves. I'm aware that Alpha Zero uses Monte Carlo Tree Search while Stockfish uses minimax, but why would this cause 1000 times less moves to be considered?
3 Answers
Very simple. Running a large neural network with floating numbers can’t be quicker than running a simple C++ function on integers.
AI machine learning is not new to chess. There were serious attempts before Google established. Unfortunately, nobody had the determination, skills and resources to do a good job. Nobody wanted to invest money. Before Google's chess journey, the chess engine community believed:
AI chess will not beat classical programming because neural networks (or other models) run much slower.
-
-
-
@Kortchnoi It's essentially a mini "brain" evaluating a position versus some standard C++ functions. It makes sense that the brain has orders of magnitude more complexity. Jan 11, 2019 at 19:07
-
@InertialIgnorance the last quote makes much sens to me but I was looking for a reference, i.e. someone who had written that "prediction" in the past. Jan 12, 2019 at 8:30
-
1
While I was in the middle of writing this question I came up with a probable answer, so I'll write it here. AlphaZero is actually running through the same positions far more than 10,000 times, it's just doing it on a set of positions roughly 10,000 large. So each position has many playouts run on it, each >= in length than the last.
Stockfish looks at millions of positions and evaluates each only once (not taking things like iterative deepening search into account). Meanwhile, AlphaZero repeatedly looks at promising branches based off their previous preformance. This explains why it only looks at 10,000 moves, since it's usually only sampling the best it can find.
-
No, there is absolutely no sense in running the same evaluation algorithm on the same position many times as the answer will be the same each time. Jan 9, 2019 at 15:30
-
-
-
Because alphazero's evaluation algorithm is far more complex and takes up way more computing power than normal chess engines evaluation algorithm.
In fact if you were to fairly compute how much processing power each engine uses, no doubt alphazero takes up way more power to beat normal engines.
-
That's certainly not the case. MCTS is a well-known algorithm that's been widely applied (see e.g. Komodo MCTS). Leela is also an adaptation of AlphaZero that's capable of giving Stockfish a run for its money on quite normal, commercially-available hardware.– AllureJan 14, 2019 at 0:01
-
@Allure leela is an open source engine that has been subject to who knows how much training. The computing power to fine tune itself before the game itself needs to be accounted for. The point of machine learning is to use up less computing power on a problem never encountered before. A fair comparison would be leela vs stockfish the same amount of training time and computing power using the same time a computer programmer would make stockfish. Jan 14, 2019 at 17:00