AlphaZero is a mix of both. It has a deep neural network which learned to evaluate positions by playing itself millions of times. It looks at a position and gives a score between 0 and 1, which is a statistical representation of how much it “likes” a position. In this sense it is very similar to what humans do.
How do chess engines evaluate a position?
A chess engine uses a complicated formula, called an algorithm, to evaluate a position. Going back to our chess tree example, a computer would look at the position after 4. The position is assigned a numerical value, an evaluation of the position. In our example, the chess engine would look at the position after 4.
How do you evaluate a chess board?
A thorough evaluation of the position requires you to compare the progress that both sides made in each of the 5 objectives.
- Step 1: Compare progress in the material objective.
- Step 2: Compare progress in the development objective.
- Step 3: Compare progress in the center-control objective.
What did AlphaZero learn from the chess game?
At the end of this game, AlphaZero had learned that the losing side had done stuff that wasn’t all that smart, and that the winning side had played better. AlphaZero had taught itself its first chess lesson. The quality of chess in game two was a just a tiny bit better than the first.
How is the evaluation function in AlphaZero trained?
The evaluation function in AlphaZero is a set of trained neurons (bias + weights). The Google team used very powerful machines to train the parameters. Generally, the more resources you can invest in training a deep learning model, the better parameters you get.
Why are there so many moves in AlphaZero?
There are about 150-250 moves on average playable from a given game state. The reason for the slow progress of DFS is that when estimating the value of a given state in the search, both players must play optimally, choosing the move that gives them the best value, requiring complex recursion.
What kind of search engine does AlphaZero use?
AlphaZero, in contrast, uses Monte Carlo Tree Search, or MCTS for short. Monte Carlo is famous for its casinos, so when you see this term in a computing context it means there’s something random going on. An engine using pure MCTS would evaluate a position by generating a number of move sequences (called “playouts”)…