What is the novelty in AlphaGo, Google Deepmind's Go playing system? Recently researchers at Google DeepMind published a paper, where they described a Go playing system that beat the best current computer programs and the human European champion.

I had a quick look at that paper, and it seems it is using many interesting ideas from previous papers. What did they do differently that allowed them to achieve this spectacular improvement?
The existing programs before AlphaGo were based on:

1) Convolutional neural networks (CNN), trained on a database of existing games.

OR 

2) Monte Carlo tree search (MCTS)



AlphaGo is based on a combination of:

A) reinforcement learning: train networks by letting versions of CNN's (see above) play against eachother.

AND

B) MCTS using moves generated by step A)

On top of that, the performance was improved even further by using distributed computing with large amounts of CPU's and GPU's.

So the novelty was the combination of the above techniques A) and B).