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?


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.

  • Any reference for this quote? – Kortchnoi Jan 10 at 6:10
  • @Kortchnoi It's not a quote it's understanding. – SmallChess Jan 11 at 0:34
  • @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. – Inertial Ignorance Jan 11 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. – Kortchnoi Jan 12 at 8:30
  • 1
    @SmallChess done here – Kortchnoi Jan 13 at 21:50

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. – Allure Jan 14 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. – Matthew Liu Jan 14 at 17:00

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. – RemcoGerlich Jan 9 at 15:30
  • I meant playout simulations. – Inertial Ignorance Jan 9 at 17:40
  • A0 does not do playout simulations. – Oscar Smith Mar 4 at 1:31
  • @Oscar Smith yees – Inertial Ignorance Mar 4 at 6:41

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.