Games●●●●●Difficulty 3 of 5

How can a computer learn Go by playing random games?

Instead of calculating every possible move, Go programs learned to play out random games and count which moves tended to win. AlphaGo added neural networks and beat Lee Sedol.

▶ Start the story

By playing a position out to the very end, many times, with random moves, and counting which moves tend to win. This method, Monte Carlo tree search, then spends more of its effort on the moves that won most often, so its search tree grows unevenly toward the promising branches; that is why it beats classical search in games with many possible moves at each turn, like Go. Google DeepMind's AlphaGo paired it with neural networks that judge moves and positions, and in October 2015 became the first program to beat a professional Go player on a full 19x19 board without a handicap.

The idea traces back further than Go. In 1987, Bruce Abramson combined classic game-tree search with an expected-outcome model based on random game playouts instead of a static scoring formula. In 1992, B. Brügmann first used this random-playout idea in a Go-playing program. In 2006, Rémi Coulom formally named the technique Monte Carlo tree search, and the same year Kocsis and Szepesvári introduced UCT, a formula that balances moves with a high win rate against moves that have barely been tried.

Each round of the search follows four steps: selection, where the algorithm walks down the tree picking promising child positions; expansion, where it adds a new position to explore; simulation, where it plays a random game out to the very end from that new position; and backpropagation, where the result updates the win counts for every position along the path. Positions that won more often get revisited more often, so the search naturally spends its effort on the moves that look best, without ever needing to fully analyze the entire game.

The four steps of one search round
  1. Step 1: Selection

    Walk down toward the most promising positions

  2. Step 2: Expansion

    Add a new position to explore

  3. Step 3: Simulation

    Play a random game out to the end

  4. Step 4: Backpropagation

    Update the stats along the path taken

In March 2016, AlphaGo was awarded an honorary 9-dan master rank after defeating champion Lee Sedol four games to one. What made AlphaGo a genuine milestone was combining Monte Carlo tree search with neural networks, letting the program judge which moves and positions were promising far more efficiently than random playouts alone ever could.

Quiz me

0/3

  1. 1.What does Monte Carlo tree search use to estimate how good a move is?
  2. 2.Why does Monte Carlo tree search end up spending most of its time on promising moves?
  3. 3.What made AlphaGo's 2015-2016 victories a milestone beyond earlier Monte Carlo tree search programs?

Recap

Four steps repeat every round: selection, expansion, simulation, and backpropagation, gradually focusing the search on the most promising moves.

Surprising fact · AlphaGo beat Go champion Lee Sedol four games to one in 2016, using random playouts combined with neural networks rather than exhaustive calculation.

Sources (1)

No source, no claim. Every fact in this lesson (17 claims) cites at least one of these.

  1. [1]Monte Carlo tree search · Wikipedia
More lessons in 🎲 Games (3) See all games lessons →

One more light on your map.

Get one lesson like this every day, about the things you love. Free, in two or five minutes.

Get the share card for this lesson ↗