Answers.Body: <p>Ok, I have to admit that I was wrong. Though I would maintain that it was due to knowledge of the expert opinion, not general obtuseness: To cite the <a href="https://arxiv.org/pdf/1712.01815.pdf" rel="nofollow noreferrer">paper</a>: "However, chess programs using traditional MCTS were much weaker than alpha-beta search programs, (4, 24); while alpha-beta programs based on neural networks have previously been unable to compete with faster, handcrafted evaluation functions."</p>
  
  <p>Apparently, chess is strategically deep enough, that you can out strategise somebody, who would be able to out calculate you. To me that's a big surprise because the development in chess engines had been going in the opposite direction. (Apparently there is still a slight caveat as to whether AlphaZero is really stronger than Stockfish: Stockfish played with just 1gb for the hashtables and 64 cores may not really be a match for four TPUs)</p>
  
  <p>It's also a really, really exciting thing to happen, because AlphaZero very likely has very different strengths from traditional engines. </p>
  
  <p>It also means that I update my belief of the significance of AlphaGo as a technological breakthrough by a lot. Basically smashing shogi, Go and chess with one single setup is completely amazing, not to mention dozens of other games that could likely be played on a superhuman level by AlphaZero. </p>
  
  <p>There is a nice explanation as to why MCTS is actually a decent idea even for chess compared to alpha-beta search (from the paper): "AlphaZero evaluates positions using non-linear function approximation based on a deep neural network, rather than the linear function approximation used in typical chess programs. This provides a much more powerful representation, but may also introduce spurious approximation errors. MCTS averages over these approximation errors, which therefore tend to cancel out when evaluating a large subtree. In contrast, alpha-beta search computes an explicit mini-max, <strong>which propagates the biggest approximation errors to the root</strong> of the subtree." (emphasis by me)</p>
  
  <p>Here is my old answer, still containing some valid points, despite the conclusion being superseded by reality. </p>
  
  <p>First of all Alphago is not a general game playing system. It is a program designed purely to play go and nothing else. It is however build from certain building blocks that have a much wider applicability, such as <a href="https://en.wikipedia.org/wiki/Convolutional_neural_network#Image_recognition" rel="nofollow noreferrer">convolutional neural networks</a>, which have been used in image recognition and which have immediate application in medical diagnostics, and <a href="https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf" rel="nofollow noreferrer">reinforcement learning</a> which was used to master the Atari games mentioned in the article.  </p>
  
  <p>Also, current engines do <a href="http://www.bbc.com/future/story/20151201-the-cyborg-chess-players-that-cant-be-beaten" rel="nofollow noreferrer">"learn" by self-playing</a>: "Overnight, Lefler’s six computers play through over 14,000 games each during an eight-hour period. “Six machines times 14,000 games is a lot of games,” he says. And with every game played, the database gets deeper and richer.
  There is even sporting interest in watching computers play against one another
  The result of Lefler’s busily whirring machines is the ever-increasing prowess of Komodo."</p>
  
  <p>To come to the bulk of your question:</p>
  
  <p>There is an important difference between chess and go, at least from a programmer's perspective. Chess is more of a tactical game, whereas go is more of a strategic game. This means that in chess calculation depth trumps positional evaluation. That's basically the key insight that distinguishes the "old" engines like Fritz, Shredder, Junior and the newer generation like Fruit, Rybka, Houdini, Stockfish, Komodo. Because at the end of each line you have to evaluate the position and you want to calculate lot's of lines and the quality of the evaluation isn't as important as search depth, chess engines have lean and fast evaluation functions. </p>
  
  <p>In go on the other hand the tactical complexity is too big even for computers. Consequently evaluating positions and moves accurately is key. What Alphago brings new to the game is this evaluation power, which is based on <a href="http://arxiv.org/abs/1412.3409" rel="nofollow noreferrer">convolutional neural networks</a>. </p>
  
  <p>To finally get to my point: Whereas chess evaluation functions are lean and fast, neural networks have millions, sometimes billions of parameters. Because "learning" in this context means tweaking parameters, there is much more possible progress for self learning go programs.</p>
  
  <p>So, yes you could use a setup like Alphago to create a chess engine, but it wouldn't be particularly good. Running the evaluation function would take so much time, that you'd have to utilise a huge cluster of gpus to get to necessary search depths (which is what Alphago does). You could create a <a href="http://arxiv.org/abs/1509.01549" rel="nofollow noreferrer">very good evaluation function</a>, but the speed tradeoff isn't worth it.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-15T02:56:36.983Z
Answers.Text: I would disagree with you on this **you could use a setup like Alphago to create a chess engine, but it wouldn't be particularly good**. I can bet something on the fact that in less than a year, there will be a chess engine that heavily relies on NN (it most probably will have a tree search and monte carlo, but this is not important), which will be close to state-of-the-art stockfish. And this engine will not be originated from super corporation (because interest in chess faded away from AI researchers long time ago), but rather from a strong hobbist.
Answers.UserDisplayName: Salvador Dali
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-15T08:23:54.270Z
Answers.Text: Monte carlo is completely useless in chess. And while NNs aren't useless, they are just way too slow.
Answers.UserDisplayName: BlindKungFuMaster
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-15T08:47:20.547Z
Answers.Text: Why exactly is MCTS useless? It makes a lot of sense to run start from a current board position, run 1000 games with a node depths of 5 and see what node has a better chances. This is very similar to what you do, when you look at the statistic of moves in the database and see that after 14. Kg4 white wins 25%, but with 14. Rb2 it wins with 45%. Do you have any proofs of **completely useless** phrase.
Answers.UserDisplayName: Salvador Dali
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-15T09:09:57.037Z
Answers.Text: The evaluation of every sharp position in chess is dependent on finding precise sequences of moves, playing the position out more or less randomly just doesn't give you much useful information. In go that's different because randomly played out games give you an estimate of the influence of certain stones and of potential area. In chess I would never look at the statistics of a database of 1300 players.
Answers.UserDisplayName: BlindKungFuMaster
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-15T09:13:52.747Z
Answers.Text: MCTS is not about randomness, it is about simulation. Basic introductory books about MC showing you an example of randomness only to show the point. You can play a sharp position many times with the node depth of 6 which is super fast (and still pretty reliable), and will allow you to to approximately estimate which move is better.
Answers.UserDisplayName: Salvador Dali
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-15T09:39:13.817Z
Answers.Text: That's why I wrote "more or less" randomly. It doesn't really matter. The winning rates of 1300 level players doesn't tell a 3000+ engine anything useful. Chess is too concrete. But you don't have to believe me, you can always go and implement it yourself.
Answers.UserDisplayName: BlindKungFuMaster
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-15T10:21:48.883Z
Answers.Text: 6 level depth is surely above 1300. I am not saying that MCTS is the only predictor, but if you have two moves which gives more or less the same evaluation, and for one MCTS gives 65% win and for another 24%, which one will you choose? I clearly do not believe you, especially if a quick search suggest that at least one strong engine has [MCTS evaluation](https://www.youtube.com/watch?v=0Uky4-9ZeTE) and up till now you gave no justification of rather bold statement.  Going and implementing anything by myself will not do any good (apart of me learning something).
Answers.UserDisplayName: Salvador Dali
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-15T10:42:57.077Z
Answers.Text: My statements aren't bold, they are mainstream. Just read some chess programming sites, you'll find more or less my arguments. MCTS has been known for a decade and in chess other stuff just works better. On the other hand I don't think your statements are based on anything more than gut feeling, so this'll be my last comment.
Answers.UserDisplayName: BlindKungFuMaster
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-16T20:12:15.887Z
Answers.Text: Could such an engine, solely by playing itself, teach itself to play well? With no outside database and no hand-tuned evaluation function, nor even a preconceived notion that, say, a rook is better than a knight? Or is this still impossible at state of the art?
Answers.UserDisplayName: thb
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-18T15:24:12.597Z
Answers.Text: Since you answered, new information regarding the go AI seems to have emerged. I have updated the question to link to the news, if this interests you.
Answers.UserDisplayName: thb
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-17T19:40:05.287Z
Answers.Text: +1 but only one answer can be *accepted,* regrettably. This one would have been quite worth *acceptance,* too, thanks.
Answers.UserDisplayName: thb
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-14T09:51:46.680Z
Answers.LastActivityDate: 2017-12-06T20:39:59.913Z
Answers.LastEditDate: 2017-12-06T20:39:59.913Z
Answers.UserDisplayName: BlindKungFuMaster
Answers.Body: <p>There is a project called <a href="http://spawk.fish/">spawkfish</a> that attempts to do just this. It is a neural network-based engine whose purpose "is to explore how recent advances in computer Go can be applied to the world of computer Chess".</p>
  
  <p>It is a young project and the engine is still quite weak. Playing it is interesting, because its positional play is better than its tactics.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-15T00:36:04.677Z
Answers.Text: You weren't kidding with that last sentence. I just played a couple games against it, and each one got well into a quite level endgame, only to see spawkfish suddenly drop material (in one case just hanging a rook out of nowhere). Strange.
Answers.UserDisplayName: ETD
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-18T15:24:32.003Z
Answers.Text: Since you answered, new information regarding the go AI seems to have emerged. I have updated the question to link to the news, if this interests you.
Answers.UserDisplayName: thb
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-04-08T10:01:29.587Z
Answers.Text: The website for spawkfish seems to have disappeared...
Answers.UserDisplayName: hkBst
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-14T23:49:40.937Z
Answers.LastActivityDate: 2016-03-14T23:49:40.937Z
Answers.UserDisplayName: Alexander Garden
Answers.Body: <blockquote>
    <p>Can a similar AI win at chess? Can it achieve pure self-training?</p>
  </blockquote>
  
  <p>The short answer is "No!"</p>
  
  <p>Chess and go are radically different in their relative simplicity and relative complexity which derives from their geometry and how you win. These combine to make a program which is good at one useless at the other.</p>
  
  <p>In chess you win by checkmating the opponent, points don't count. Of course a sensible opponent will often resign before you deliver checkmate but the principle is the same. In go you win by having more points at the end of the game. If I have a king and queen and you have a king, rook and pawn but you have built a fortress then it doesn't matter that I have 9 points for the queen and you have just 6 points for your rook and pawn. The game is a draw.</p>
  
  <p>This makes a fundamental difference in the complexity between chess and go. In go you can just keep score and you will know who is winning. In chess the only way you can know who is winning is by pure calculation. In this sense chess is much more complex than go.</p>
  
  <p>At the same time, because of the geometry of the two games, there are orders of magnitude more possibilities in go than in chess. In this sense go is much more complex than chess.</p>
  
  <p>A chess program works by brute force calculation of all the possible moves up to a certain depth which determines its strength. A go program cannot work like this and play anything more advanced than beginner level go.</p>
  
  <p>The basic aim of go is to control more territory than your opponent. At the end of a game it doesn't matter if the difference is 1 stone or 100 stones, both are wins. Every time you place a stone you do two things. You increase your territory, either potential or actual, and you decrease your opponent's. </p>
  
  <p>Sometimes, when it is actual increase or decrease in territory, it is easy to calculate the value of the move, but when it is potential it is very difficult to evaluate. As a weak go player I understand the "actual" much better than the "potential" and a stronger player will beat me by building much greater potential territory in the center while I build smaller actual territory on the edges and in the corners. The stronger player will have built up the ability to judge through intuition and feel from playing lots of games and recognizing how to build "potential" territory.</p>
  
  <p>Earlier I said that every time I place a stone it increases my territory (actual or potential) and decreases my opponent's (actually if it is a stupid move it will do the opposite!). In any given position not all moves are the same. A stone placed in one position can be worth much more or much less than a stone placed in another. </p>
  
  <p>Typically in a game there will be small "fights" where players place their stones near each other, marking out their territory and limiting their opponent's. Meanwhile there are possibilities to start staking out territory in another part of the board or switch to a fight somewhere else where both players already have stones.</p>
  
  <p>What is very important in these situations is knowing when to stop one fight, because the potential gains have diminished, and to either switch to another fight or perhaps strike out into virgin territory. Sometimes this depends on hard calculation but often it is much more nebulous and not subject to calculation. As a weak player this is where a strong payer will crush me every time.</p>
  
  <p>What the computer does in these situations is use probabilistic methods to generate an expected score for a particular move. Sometimes the actual value will turn out to be a little bit less, sometimes a little bit more but over the long haul it will even out more or less. It will keep picking the move with the highest expected value with the expectation that over the long haul of a game small errors will cancel out and its strategy will win.</p>
  
  <p>This is not a strategy which sounds familiar to chess players and is not one which is going to work in chess. It is something which sounds familiar to anybody who follows what goes on in the share markets. It sounds very similar to something called "high frequency trading" where computers will make thousands of small bets or just proposed bets every second to "nickel and dime" the market and perhaps even to move it very marginally in their favor over periods of milliseconds.</p>
  
  <p>Already the financial markets are dominated by these kinds of algorithmic trading which suggests that this kind of program has already triumphed in a far more lucrative area than a board game.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-14T11:54:56.627Z
Answers.Text: High frequency trading is nothing like go playing. Totally different algorithms afaik. Also, lot's of interesting stuff in your answer, but it's kind of hard to see the main point, maybe add a TL;DR. ;-)
Answers.UserDisplayName: BlindKungFuMaster
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-14T15:02:35.030Z
Answers.Text: @BlindKungFuMaster The underlying principle behind HFT and AlphaGo is a probabilistic one. Expected gain from this "move" is x%. Over the long term the accumulation of such moves/bets is going to win the game for AlphaGo or make a fortune for the HFT traders. However every now and then there will be a "flash crash" or a "wonder move" from a Lee Se-dol which turns a win/profit into a loss. That in no way invalidates its programming. It is not programmed to find the absolute best move each time. It is a bit like pseudo solutions to travelling salesman problem which try to get within 5% of best.
Answers.UserDisplayName: Brian Towers
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-18T15:25:01.957Z
Answers.Text: Since you answered, new information regarding the go AI seems to have emerged. I have updated the question to link to the news, if this interests you.
Answers.UserDisplayName: thb
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-06T22:06:15.903Z
Answers.Text: @thb, I believe this answer is now somewhat obsolete given the new success of AlphaZero, as in https://arxiv.org/abs/1712.01815
Answers.UserDisplayName: Mark S.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-01-31T04:03:06.067Z
Answers.Text: And these programs fail totally when a black swan occurs requiring the govt to bail them out with our tax money.
Answers.UserDisplayName: edwina oliver
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-03-14T10:56:25.963Z
Answers.LastActivityDate: 2016-03-14T10:56:25.963Z
Answers.UserDisplayName: Brian Towers
Answers.Body: <p>(Anyone how wants a deep technical discussion for AlphaGo can look at my <a href="https://datascience.stackexchange.com/questions/10932/difference-between-alphagos-policy-network-and-value-network">post</a>)</p>
  
  <p><strong>Short answer</strong>: No</p>
  
  <p><strong>Long answer</strong>:</p>
  
  <p>First, we need to understand why Google didn't implement alpha-beta into AlphaGo. Stockfish and Komodo (and all chess engines) have alpha-beta, why wouldn't AlphaGo?</p>
  
  <p><strong>Reason</strong>: there is no easy and cheap way that can accurately evaluates a Go position statically.</p>
  
  <p>In Chess, we can always count the materials, a very effective way to evaluate a position statically. Although not perfect, it's very fast and a very good proxy for chess.</p>
  
  <p>Searching the state space with Monte-Carlo is an <strong>inferior</strong> method to alpha-beta. Google would have implemented alpha-beta if they could, but they couldn't. Thus, they were forced to use something much slower.</p>
  
  <p>Chess engine would not play better with Monte-Carlo.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-04-03T07:39:00.690Z
Answers.Text: Time to reconsider, or maybe just not yet ?
Answers.UserDisplayName: Evargalo
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-04-02T11:06:55.387Z
Answers.LastActivityDate: 2016-04-02T11:06:55.387Z
Answers.LastEditDate: 2017-04-13T12:50:40.990Z
Answers.UserDisplayName: SmallChess
Answers.Body: <p>I disagree with the other answers. I am computer scientist who works professionally in the area of artificial intelligence and am also a candidate master in chess and 3 dan in igo.</p>
  
  <p>I think it is unclear at this time whether Deep Mind's methods could be applied to chess, but I think it is possible.</p>
  
  <p>Currently, the top chess-playing programs are increasingly relying on heuristics and attempting to use the AlphaGo architecture for chess would in some ways be in the same line of thinking.</p>
  
  <p>One key architectural feature of AlphaGo that would have to be altered is its method of identifying key squares (or heat maps), which is particular to igo-like games and is not directly applicable to chess. Some analog of this method would have to be developed to make the AlphaGo architecture relevant to chess. For example, we could have the concept of "key pieces" rather than key squares.</p>
  
  <p>I think the argument that the AlphaGo architecture is not relevant to chess because chess is more tactical is not a very good claim because ultimately both have search trees which are similar enough in shape that AlphaGo could definitely be adapted to chess.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-05T00:30:11.803Z
Answers.Text: I gave you a +1, as your claims could be correct but we don't know for sure until someone publishes a paper.
Answers.UserDisplayName: SmallChess
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-06T18:14:33.980Z
Answers.Text: Uh? The paper already exists, as pointed out by Brian Towers. The answer is a yes.
Answers.UserDisplayName: untreated_paramediensis_karnik
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-06T18:32:22.493Z
Answers.Text: Looks like I was right, heh.
Answers.UserDisplayName: Cecil De Vere
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-06T18:50:17.960Z
Answers.Text: @CecilDeVere not with disagreeing with the other answers, 2 of them pointed out the correct answer. And not by stating that it is unclear at this time, while it's crystal clear that that answer is yes (not a maybe).
Answers.UserDisplayName: untreated_paramediensis_karnik
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-03T19:03:09.860Z
Answers.LastActivityDate: 2017-12-03T19:03:09.860Z
Answers.UserDisplayName: Cecil De Vere
Answers.Body: <p>The answer is Yes! Google just proved this yesterday, when AlphaZero beat the best chess program using only knowledge about the rules and pure self training with no human chess knowledge used. The accepted answer is wrong. The link to the article is here :<a href="https://www.arxiv-vanity.com/papers/1712.01815v1/" rel="nofollow noreferrer">link</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-01-31T04:01:31.223Z
Answers.Text: i got an insecure site message when i clicked that link
Answers.UserDisplayName: edwina oliver
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-06T16:42:55.297Z
Answers.LastActivityDate: 2017-12-07T08:14:07.723Z
Answers.LastEditDate: 2017-12-07T08:14:07.723Z
Answers.UserDisplayName: zaifrun
Answers.Body: <p>To see AlphaZero in action, follow <a href="http://lczero.org/" rel="nofollow noreferrer">http://lczero.org/</a> or play at <a href="http://play.lczero.org/" rel="nofollow noreferrer">http://play.lczero.org/</a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-04-01T05:49:11.123Z
Answers.LastActivityDate: 2018-04-01T05:49:11.123Z
Answers.UserDisplayName: Junyan Xu
Answers.Body: <p>Well, well, well! <a href="https://arxiv.org/pdf/1712.01815.pdf" rel="noreferrer">DeepMind have published a paper</a> in which they say they have programmed and trained a neural network computer to beat Stockfish.</p>
  
  <p>With 1 minute thinking time per move their AlphaZero computer beat Stockfish by +25, =25, -0 with white and +3,=47,0- as black.</p>
  
  <p>They "trained" 3 separate computers to play chess, shogi and Go and beat their silicon rivals convincingly.</p>
  
  <p>Here is how the paper describes the training and evaluation -</p>
  
  <blockquote>
    <p>Self-play games are generated by using the latest parameters for this
    neural network, omitting the evaluation step and the selection of best
    player.</p>
    
    <p>AlphaGo Zero tuned the hyper-parameter of its search by Bayesian
    optimisation. In AlphaZero we reuse the same hyper-parameters for all
    games without game-specific tuning. The sole exception is the noise
    that is added to the prior policy to ensure exploration; this is
    scaled in proportion to the typical number of legal moves for that
    game type.</p>
    
    <p>Like AlphaGo Zero, the board state is encoded by spatial planes based
    only on the basic rules for each game. The actions are encoded by
    either spatial planes or a flat vector, again based only on the basic
    rules for each game (see Methods).</p>
    
    <p>We applied the AlphaZero algorithm to chess, shogi, and also Go.
    Unless otherwise specified, the same algorithm settings, network
    architecture, and hyper-parameters were used for all three games. We
    trained a separate instance of AlphaZero for each game. Training
    proceeded for 700,000 steps (mini-batches of size 4,096) starting from
    randomly initialised parameters, using 5,000 first-generation TPUs to
    generate self-play games and 64 second-generation TPUs to train the
    neural networks. Further details of the training procedure are
    provided in the Methods.</p>
    
    <p>Figure 1 shows the performance of AlphaZero during self-play
    reinforcement learning, as a function of training steps, on an Elo
    scale (10). In chess, AlphaZero outperformed Stockfish after just 4
    hours (300k steps); in shogi, AlphaZero outperformed Elmo after less
    than 2 hours (110k steps); and in Go, AlphaZero outperformed AlphaGo
    Lee (29) after 8 hours (165k steps).</p>
    
    <p>We evaluated the fully trained instances of AlphaZero against
    Stockfish, Elmo and the previous version of AlphaGo Zero (trained for
    3 days) in chess, shogi and Go respectively, playing 100 game matches
    at tournament time controls of one minute per move. AlphaZero and the
    previous AlphaGo Zero used a single machine with 4 TPUs. Stockfish and
    Elmo played at their strongest skill level using 64 threads and a hash
    size of 1GB. AlphaZero convincingly defeated all opponents, losing
    zero games to Stockfish and eight games to Elmo (see Supplementary
    Material for several example games), as well as defeating the previous
    version of AlphaGo Zero (see Table 1).</p>
  </blockquote>
  
  <p>Their computer used a new form of chip called a "TPU" (<a href="https://en.wikipedia.org/wiki/Tensor_processing_unit" rel="noreferrer">Tensor Processing Unit</a>) developed by Google for machine learning tasks.</p>
  
  <p>They also claim their Monte Carlo tree search algorithm is better and more "human like" than the traditional alpha-beta search algorithms -</p>
  
  <blockquote>
    <p>We also analysed the relative performance of AlphaZero’s MCTS search
    compared to the state-of-the-art alpha-beta search engines used by
    Stockfish and Elmo. AlphaZero searches just 80 thousand positions per
    second in chess and 40 thousand in shogi, compared to 70 million for
    Stockfish and 35 million for Elmo. AlphaZero compensates for the lower
    number of evaluations by using its deep neural network to focus much
    more selectively on the most promising variations – arguably a more
    “human-like” approach to search, as originally proposed by Shannon.
    Figure 2 shows the scalability of each player with respect to thinking
    time, measured on an Elo scale, relative to Stockfish or Elmo with
    40ms thinking time. AlphaZero’s MCTS scaled more effectively with
    thinking time than either Stockfish or Elmo, calling into question the
    widely held belief that alpha-beta search is inherently superior in
    these domains</p>
  </blockquote>
  
  <p>Here are some of the games -</p>
  
  <pre><code>[FEN ""]
  [White "Stockfish "]
  [Black "AlphaZero"]
  
   1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Bxc6 dxc6 
   6. O-O Nd7 7. Nbd2 O-O 8. Qe1 f6 9. Nc4 Rf7 10. a4 Bf8 11. Kh1 Nc5 12. a5 Ne6 
   13. Ncxe5 fxe5 14. Nxe5 Rf6 15. Ng4 Rf7 16. Ne5 Re7 17. a6 c5 18. f4 Qe8 
   19. axb7 Bxb7 20. Qa5 Nd4 21. Qc3 Re6 22. Be3 Rb6 23. Nc4 Rb4 24. b3 a5 
   25. Rxa5 Rxa5 26. Nxa5 Ba6 27. Bxd4 Rxd4 28. Nc4 Rd8 29. g3 h6 30. Qa5 Bc8 
   31. Qxc7 Bh3 32. Rg1 Rd7 33. Qe5 Qxe5 34. Nxe5 Ra7 35. Nc4 g5 36. Rc1 Bg7 
   37. Ne5 Ra8 38. Nf3 Bb2 39. Rb1 Bc3 40. Ng1 Bd7 41. Ne2 Bd2 42. Rd1 Be3 
   43. Kg2 Bg4 44. Re1 Bd2 45. Rf1 Ra2 46. h3 Bxe2 47. Rf2 Bxf4 48. Rxe2 Be5 
   49. Rf2 Kg7 50. g4 Bd4 51. Re2 Kf6 52. e5+ Bxe5 53. Kf3 Ra1 54. Rf2 Re1 
   55. Kg2+ Bf4 56. c3 Rc1 57. d4 Rxc3 58. dxc5 Rxc5 59. b4 Rc3 60. h4 Ke5 
   61. hxg5 hxg5 62. Re2+ Kf6 63. Kf2 Be5 64. Ra2 Rc4 65. Ra6+ Ke7 66. Ra5 Ke6 
   67. Ra6+ Bd6 0-1
  </code></pre>
  
  <p>Game</p>
  
  <pre><code> [FEN ""]
   [White "Stockfish "]
   [Black "AlphaZero"]
  
   1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Bxc6 dxc6 6. O-O Nd7 7. c3 O-O 
   8. d4 Bd6 9. Bg5 Qe8 10. Re1 f6 11. Bh4 Qf7 12. Nbd2 a5 13. Bg3 Re8 14. Qc2 Nf8 15. c4 c5 16. d5 b6 17. Nh4 g6 18. Nhf3 Bd7 19. Rad1 Re7 20. h3 Qg7 21. Qc3 Rae8 22. a3 h6 23. Bh4 Rf7 24. Bg3 Rfe7 25. Bh4 Rf7 26. Bg3 a4 27. Kh1 Rfe7 28. Bh4 Rf7 29. Bg3 Rfe7 30. Bh4 g5 31. Bg3 Ng6 32. Nf1 Rf7 33. Ne3 Ne7 34. Qd3 h5 35. h4 Nc8 36. Re2 g4 37. Nd2 Qh7 38. Kg1 Bf8 39. Nb1 Nd6 40. Nc3 Bh6 41. Rf1 Ra8 42. Kh2 Kf8 43. Kg1 Qg6 44. f4 gxf3 45. Rxf3 Bxe3+ 46. Rfxe3 Ke7 47. Be1 Qh7 48. Rg3 Rg7 49. Rxg7+ Qxg7 50. Re3 Rg8 51. Rg3 Qh8 52. Nb1 Rxg3 53. Bxg3 Qh6 54. Nd2 Bg4 55. Kh2 Kd7 56. b3 axb3 57. Nxb3 Qg6 58. Nd2 Bd1 59. Nf3 Ba4 60. Nd2 Ke7 61. Bf2 Qg4 62. Qf3 Bd1 63. Qxg4 Bxg4 64. a4 Nb7 65. Nb1 Na5 66. Be3 Nxc4 67. Bc1 Bd7 68. Nc3 c6 69. Kg1 cxd5 70. exd5 Bf5 71. Kf2 Nd6 72. Be3 Ne4+ 73. Nxe4 Bxe4 74. a5 bxa5 75. Bxc5+ Kd7 76. d6 Bf5 77. Ba3 Kc6 78. Ke1 Kd5 79. Kd2 Ke4 80. Bb2 Kf4 81. Bc1 Kg3 82. Ke2 a4 83. Kf1 Kxh4 84. Kf2 Kg4 85. Ba3 Bd7 86. Bc1 Kf5 87. Ke3 Ke6 0-1
  </code></pre>
  
  <p>White: AlphaZero Black: Stockfish</p>
  
  <pre><code> [FEN ""]
   [White "AlphaZero "]
   [Black "Stockfish"]
  
   1. Nf3 Nf6 2. c4 b6 3. d4 e6 4. g3 Ba6 5. Qc2 c5 6. d5 exd5 7. cxd5 Bb7 8. Bg2 Nxd5 9. O-O Nc6 10. Rd1 Be7 11. Qf5 Nf6 12. e4 g6 13. Qf4 O-O 14. e5 Nh5 15. Qg4 Re8 16. Nc3 Qb8 17. Nd5 Bf8 18. Bf4 Qc8 19. h3 Ne7 20. Ne3 Bc6 21. Rd6 Ng7 22. Rf6 Qb7 23. Bh6 Nd5 24. Nxd5 Bxd5 25. Rd1 Ne6 26. Bxf8 Rxf8 27. Qh4 Bc6 28. Qh6 Rae8 29. Rd6 Bxf3 30. Bxf3 Qa6 31. h4 Qa5 32. Rd1 c4 33. Rd5 Qe1+ 34. Kg2 c3 35. bxc3 Qxc3 36. h5 Re7 37. Bd1 Qe1 38. Bb3 Rd8 39. Rf3 Qe4 40. Qd2 Qg4 41. Bd1 Qe4 42. h6 Nc7 43. Rd6 Ne6 44. Bb3 Qxe5 45. Rd5 Qh8 46. Qb4 Nc5 47. Rxc5 bxc5 48. Qh4 Rde8 49. Rf6 Rf8 50. Qf4 a5 51. g4 d5 52. Bxd5 Rd7 53. Bc4 a4 54. g5 a3 55. Qf3 Rc7 56. Qxa3 Qxf6 57. gxf6 Rfc8 58. Qd3 Rf8 59. Qd6 Rfc8 60. a4 1-0
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-06T16:09:16.827Z
Answers.Text: Just read the paper. Really amazing. Of course this doesn't mean you couldn't build something even stronger with the traditional techniques combined with AlphaZero, but still ...
Answers.UserDisplayName: BlindKungFuMaster
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-06T14:19:58.670Z
Answers.LastActivityDate: 2017-12-06T18:08:52.393Z
Answers.LastEditDate: 2017-12-06T18:08:52.393Z
Answers.UserDisplayName: Brian Towers
Body: <p>One of the more popular questions asked on this site regards the prospect of <a href="https://chess.stackexchange.com/q/1003/315">a purely self-trained chess AI.</a></p>
  
  <p>Today, <a href="http://en.chessbase.com/post/alphago-vs-lee-sedol-history-in-the-making" rel="noreferrer">ChessBase is distracted</a> from its coverage of the FIDE Candidates tournament to report that a new AI is, for the first time, beating a leading master of the rather different game of go, which had resisted chess-style AIs for many years. An initial reading of the report suggests that the new go AI is unlike chess AIs, but is more nearly <a href="https://en.wikipedia.org/wiki/General_game_playing" rel="noreferrer">a general-game-playing (GGP) AI.</a> ChessBase's article does not however use the term GGP, but does seem to say that <em>the go AI can win at simple video games.</em></p>
  
  <p>Is there any reason such a winning go AI could not with minor adjustments also win at chess? If so, does such an AI show promise to achieve the pure self-training the several excellent answers to the earlier question have earlier discussed, which at that time was not yet possible? Why or why not?</p>
  
  <p>I suspect that no really complete, fully informed answer to my question is yet available, so even a partial answer based on related expertise would be appreciated.</p>
  
  <p>For additional reference, see also <a href="https://chess.stackexchange.com/q/9388/315">this related question and answers.</a></p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>When the above question was first posted five days ago and when some of the fine answers below were given, the first news regarding the victory of the go AI had just appeared. Since then, additional information and commentary have emerged.</p>
  
  <p>Particularly interesting since then has been a quite readable, five-sided <a href="http://fivethirtyeight.com/features/dont-forget-humans-created-the-computer-program-that-can-beat-humans-at-go/" rel="noreferrer">roundtable discussion</a> in which one Jonathan Schaeffer remarks:</p>
  
  <blockquote>
    <p>Learning from human games helps accelerate the program’s learning. AlphaGo could learn to become a strong player on its own, without using the human games. The learning process would just take longer.</p>
  </blockquote>
  
  <p>According to the roundtable's host, Schaeffer is "[c]omputer science professor at the University of Alberta and the man who solved checkers"; so, presumably, he might be qualified to comment.</p>
  
  <p>For further information, <a href="https://news.ycombinator.com/item?id=11257928" rel="noreferrer">here is the record of another, open discussion,</a> many of whose participants seem better informed than usual.  The discussion took place during the match.</p>
  
  <p><em>Further update, a year and a half later:</em> commenter @MarkS. writes:</p>
  
  <blockquote>
    <p>This is just a comment because it's about Go, not Chess, but AlphaGo Zero achieved "pure self-training" just from being told who won (and not the final score) and is stronger and vastly more efficient than the AI that beat Lee Sedol. For more information, see <a href="https://deepmind.com/blog/alphago-zero-learning-scratch/" rel="noreferrer">deepmind.com/blog/alphago-zero-learning-scratch</a></p>
  </blockquote>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-03-15T08:50:10.563Z
Comments.Text: I suggest you to ask this on more technical forums. AI is a complicated topic, and one should have a significant expertise to understand it. Looking at the answers here, I am not sure that you get a reasonable answer.
Comments.UserDisplayName: Salvador Dali
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-03-16T19:47:58.013Z
Comments.Text: The answers given are much appreciated. I have upvoted more than one. If I have not yet accepted any, this is not a criticism of the answers, but a recognition that the question is so hard, and the topic so new, that the acceptable answer may not be available yet. Let's leave this question open a while to see if, after a time, an answer not available today later becomes available. Thanks.
Comments.UserDisplayName: thb
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-12-11T06:47:22.267Z
Comments.Text: @thb I think AlphaZero is such an AI.
Comments.UserDisplayName: Myungjin Hyun
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-12-13T08:05:49.853Z
Comments.Text: As of Dec 2017 AlphaZero taught itself a style of chess from only the rules of the game https://arxiv.org/pdf/1712.01815.pdf and dismissed StockFish convincingly.
Comments.UserDisplayName: saille
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-11-18T16:47:07.270Z
Comments.Text: This is just a comment because it's about Go, not Chess, but AlphaGo Zero achieved "pure self-training" just from being told who won (and not the final score) and is stronger and vastly more efficient than the AI that beat Lee Sedol. For more information, see https://deepmind.com/blog/alphago-zero-learning-scratch/
Comments.UserDisplayName: Mark S.
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-01-31T04:05:43.980Z
Comments.Text: Having played well at both Go and Chess I doubt it but for different reasons than most would.   Go is larger and more complex but it can be subdivided into many smaller building blocks that are easy to train that way.  Then with the reduced load it is feasible to assemble blocks onto the larger board to train it to win at go by playing itself.  Chess is more complex so that self training would seem to be impractical as it would need too much time to do it.   You could learn to play very well but not the best possible.
Comments.UserDisplayName: edwina oliver
Tags: <engines>
Title: A new AI wins at go. Can a similar AI win at chess? Can it achieve pure self-training?
ThreadText: # A new AI wins at go. Can a similar AI win at chess? Can it achieve pure self-training?
  
  (Asked by: username_0 on 2016-03-13)
  
  One of the more popular questions asked on this site regards the prospect of [a purely self-trained chess AI.](https://chess.stackexchange.com/q/1003/315)
  
  Today, [ChessBase is distracted](http://en.chessbase.com/post/alphago-vs-lee-sedol-history-in-the-making) from its coverage of the FIDE Candidates tournament to report that a new AI is, for the first time, beating a leading master of the rather different game of go, which had resisted chess-style AIs for many years. An initial reading of the report suggests that the new go AI is unlike chess AIs, but is more nearly [a general-game-playing (GGP) AI.](https://en.wikipedia.org/wiki/General_game_playing) ChessBase's article does not however use the term GGP, but does seem to say that *the go AI can win at simple video games.*
  
  Is there any reason such a winning go AI could not with minor adjustments also win at chess? If so, does such an AI show promise to achieve the pure self-training the several excellent answers to the earlier question have earlier discussed, which at that time was not yet possible? Why or why not?
  
  I suspect that no really complete, fully informed answer to my question is yet available, so even a partial answer based on related expertise would be appreciated.
  
  For additional reference, see also [this related question and answers.](https://chess.stackexchange.com/q/9388/315)
  
  **UPDATE**
  
  When the above question was first posted five days ago and when some of the fine answers below were given, the first news regarding the victory of the go AI had just appeared. Since then, additional information and commentary have emerged.
  
  Particularly interesting since then has been a quite readable, five-sided [roundtable discussion](http://fivethirtyeight.com/features/dont-forget-humans-created-the-computer-program-that-can-beat-humans-at-go/) in which one Jonathan Schaeffer remarks:
  
  > Learning from human games helps accelerate the program’s learning. AlphaGo could learn to become a strong player on its own, without using the human games. The learning process would just take longer.
  
  According to the roundtable's host, Schaeffer is "[c]omputer science professor at the University of Alberta and the man who solved checkers"; so, presumably, he might be qualified to comment.
  
  For further information, [here is the record of another, open discussion,](https://news.ycombinator.com/item?id=11257928) many of whose participants seem better informed than usual. The discussion took place during the match.
  
  *Further update, a year and a half later:* commenter @MarkS. writes:
  
  > This is just a comment because it's about Go, not Chess, but AlphaGo Zero achieved "pure self-training" just from being told who won (and not the final score) and is stronger and vastly more efficient than the AI that beat Lee Sedol. For more information, see [deepmind.com/blog/alphago-zero-learning-scratch](https://deepmind.com/blog/alphago-zero-learning-scratch/)
  
  **Tags:** engines
  
  > **Comments:**
  > **username_1**: I suggest you to ask this on more technical forums. AI is a complicated topic, and one should have a significant expertise to understand it. Looking at the answers here, I am not sure that you get a reasonable answer.  
  > **username_0**: The answers given are much appreciated. I have upvoted more than one. If I have not yet accepted any, this is not a criticism of the answers, but a recognition that the question is so hard, and the topic so new, that the acceptable answer may not be available yet. Let's leave this question open a while to see if, after a time, an answer not available today later becomes available. Thanks.  
  > **username_4**: This is just a comment because it's about Go, not Chess, but AlphaGo Zero achieved "pure self-training" just from being told who won (and not the final score) and is stronger and vastly more efficient than the AI that beat Lee Sedol. For more information, see https://deepmind.com/blog/alphago-zero-learning-scratch/  
  > **username_2**: @username_0 I think AlphaZero is such an AI.  
  > **username_3**: As of Dec 2017 AlphaZero taught itself a style of chess from only the rules of the game https://arxiv.org/pdf/1712.01815.pdf and dismissed StockFish convincingly.  
  > **username_5**: Having played well at both Go and Chess I doubt it but for different reasons than most would.   Go is larger and more complex but it can be subdivided into many smaller building blocks that are easy to train that way.  Then with the reduced load it is feasible to assemble blocks onto the larger board to train it to win at go by playing itself.  Chess is more complex so that self training would seem to be impractical as it would need too much time to do it.   You could learn to play very well but not the best possible.  
  
  ---
  
  ## 8 answers
  
  ### Answer by username_10 on 2017-12-06. Score: 14 | Accepted answer
  
  Well, well, well! DeepMind have published a paper in which they say they have programmed and trained a neural network computer to beat Stockfish.
  With 1 minute thinking time per move their AlphaZero computer beat Stockfish by +25, =25, -0 with white and +3,=47,0- as black.
  They "trained" 3 separate computers to play chess, shogi and Go and beat their silicon rivals convincingly.
  Here is how the paper describes the training and evaluation -
  
  Self-play games are generated by using the latest parameters for this
    neural network, omitting the evaluation step and the selection of best
    player.
  AlphaGo Zero tuned the hyper-parameter of its search by Bayesian
    optimisation. In AlphaZero we reuse the same hyper-parameters for all
    games without game-specific tuning. The sole exception is the noise
    that is added to the prior policy to ensure exploration; this is
    scaled in proportion to the typical number of legal moves for that
    game type.
  Like AlphaGo Zero, the board state is encoded by spatial planes based
    only on the basic rules for each game. The actions are encoded by
    either spatial planes or a flat vector, again based only on the basic
    rules for each game (see Methods).
  We applied the AlphaZero algorithm to chess, shogi, and also Go.
    Unless otherwise specified, the same algorithm settings, network
    architecture, and hyper-parameters were used for all three games. We
    trained a separate instance of AlphaZero for each game. Training
    proceeded for 700,000 steps (mini-batches of size 4,096) starting from
    randomly initialised parameters, using 5,000 first-generation TPUs to
    generate self-play games and 64 second-generation TPUs to train the
    neural networks. Further details of the training procedure are
    provided in the Methods.
  Figure 1 shows the performance of AlphaZero during self-play
    reinforcement learning, as a function of training steps, on an Elo
    scale (10). In chess, AlphaZero outperformed Stockfish after just 4
    hours (300k steps); in shogi, AlphaZero outperformed Elmo after less
    than 2 hours (110k steps); and in Go, AlphaZero outperformed AlphaGo
    Lee (29) after 8 hours (165k steps).
  We evaluated the fully trained instances of AlphaZero against
    Stockfish, Elmo and the previous version of AlphaGo Zero (trained for
    3 days) in chess, shogi and Go respectively, playing 100 game matches
    at tournament time controls of one minute per move. AlphaZero and the
    previous AlphaGo Zero used a single machine with 4 TPUs. Stockfish and
    Elmo played at their strongest skill level using 64 threads and a hash
    size of 1GB. AlphaZero convincingly defeated all opponents, losing
    zero games to Stockfish and eight games to Elmo (see Supplementary
    Material for several example games), as well as defeating the previous
    version of AlphaGo Zero (see Table 1).
  
  Their computer used a new form of chip called a "TPU" (Tensor Processing Unit) developed by Google for machine learning tasks.
  They also claim their Monte Carlo tree search algorithm is better and more "human like" than the traditional alpha-beta search algorithms -
  
  We also analysed the relative performance of AlphaZero’s MCTS search
    compared to the state-of-the-art alpha-beta search engines used by
    Stockfish and Elmo. AlphaZero searches just 80 thousand positions per
    second in chess and 40 thousand in shogi, compared to 70 million for
    Stockfish and 35 million for Elmo. AlphaZero compensates for the lower
    number of evaluations by using its deep neural network to focus much
    more selectively on the most promising variations – arguably a more
    “human-like” approach to search, as originally proposed by Shannon.
    Figure 2 shows the scalability of each player with respect to thinking
    time, measured on an Elo scale, relative to Stockfish or Elmo with
    40ms thinking time. AlphaZero’s MCTS scaled more effectively with
    thinking time than either Stockfish or Elmo, calling into question the
    widely held belief that alpha-beta search is inherently superior in
    these domains
  
  Here are some of the games -
  [FEN ""]
  [White "Stockfish "]
  [Black "AlphaZero"]
  
   1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Bxc6 dxc6 
   6. O-O Nd7 7. Nbd2 O-O 8. Qe1 f6 9. Nc4 Rf7 10. a4 Bf8 11. Kh1 Nc5 12. a5 Ne6 
   13. Ncxe5 fxe5 14. Nxe5 Rf6 15. Ng4 Rf7 16. Ne5 Re7 17. a6 c5 18. f4 Qe8 
   19. axb7 Bxb7 20. Qa5 Nd4 21. Qc3 Re6 22. Be3 Rb6 23. Nc4 Rb4 24. b3 a5 
   25. Rxa5 Rxa5 26. Nxa5 Ba6 27. Bxd4 Rxd4 28. Nc4 Rd8 29. g3 h6 30. Qa5 Bc8 
   31. Qxc7 Bh3 32. Rg1 Rd7 33. Qe5 Qxe5 34. Nxe5 Ra7 35. Nc4 g5 36. Rc1 Bg7 
   37. Ne5 Ra8 38. Nf3 Bb2 39. Rb1 Bc3 40. Ng1 Bd7 41. Ne2 Bd2 42. Rd1 Be3 
   43. Kg2 Bg4 44. Re1 Bd2 45. Rf1 Ra2 46. h3 Bxe2 47. Rf2 Bxf4 48. Rxe2 Be5 
   49. Rf2 Kg7 50. g4 Bd4 51. Re2 Kf6 52. e5+ Bxe5 53. Kf3 Ra1 54. Rf2 Re1 
   55. Kg2+ Bf4 56. c3 Rc1 57. d4 Rxc3 58. dxc5 Rxc5 59. b4 Rc3 60. h4 Ke5 
   61. hxg5 hxg5 62. Re2+ Kf6 63. Kf2 Be5 64. Ra2 Rc4 65. Ra6+ Ke7 66. Ra5 Ke6 
   67. Ra6+ Bd6 0-1
  
  Game
   [FEN ""]
   [White "Stockfish "]
   [Black "AlphaZero"]
  
   1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Bxc6 dxc6 6. O-O Nd7 7. c3 O-O 
   8. d4 Bd6 9. Bg5 Qe8 10. Re1 f6 11. Bh4 Qf7 12. Nbd2 a5 13. Bg3 Re8 14. Qc2 Nf8 15. c4 c5 16. d5 b6 17. Nh4 g6 18. Nhf3 Bd7 19. Rad1 Re7 20. h3 Qg7 21. Qc3 Rae8 22. a3 h6 23. Bh4 Rf7 24. Bg3 Rfe7 25. Bh4 Rf7 26. Bg3 a4 27. Kh1 Rfe7 28. Bh4 Rf7 29. Bg3 Rfe7 30. Bh4 g5 31. Bg3 Ng6 32. Nf1 Rf7 33. Ne3 Ne7 34. Qd3 h5 35. h4 Nc8 36. Re2 g4 37. Nd2 Qh7 38. Kg1 Bf8 39. Nb1 Nd6 40. Nc3 Bh6 41. Rf1 Ra8 42. Kh2 Kf8 43. Kg1 Qg6 44. f4 gxf3 45. Rxf3 Bxe3+ 46. Rfxe3 Ke7 47. Be1 Qh7 48. Rg3 Rg7 49. Rxg7+ Qxg7 50. Re3 Rg8 51. Rg3 Qh8 52. Nb1 Rxg3 53. Bxg3 Qh6 54. Nd2 Bg4 55. Kh2 Kd7 56. b3 axb3 57. Nxb3 Qg6 58. Nd2 Bd1 59. Nf3 Ba4 60. Nd2 Ke7 61. Bf2 Qg4 62. Qf3 Bd1 63. Qxg4 Bxg4 64. a4 Nb7 65. Nb1 Na5 66. Be3 Nxc4 67. Bc1 Bd7 68. Nc3 c6 69. Kg1 cxd5 70. exd5 Bf5 71. Kf2 Nd6 72. Be3 Ne4+ 73. Nxe4 Bxe4 74. a5 bxa5 75. Bxc5+ Kd7 76. d6 Bf5 77. Ba3 Kc6 78. Ke1 Kd5 79. Kd2 Ke4 80. Bb2 Kf4 81. Bc1 Kg3 82. Ke2 a4 83. Kf1 Kxh4 84. Kf2 Kg4 85. Ba3 Bd7 86. Bc1 Kf5 87. Ke3 Ke6 0-1
  
  White: AlphaZero Black: Stockfish
   [FEN ""]
   [White "AlphaZero "]
   [Black "Stockfish"]
  
   1. Nf3 Nf6 2. c4 b6 3. d4 e6 4. g3 Ba6 5. Qc2 c5 6. d5 exd5 7. cxd5 Bb7 8. Bg2 Nxd5 9. O-O Nc6 10. Rd1 Be7 11. Qf5 Nf6 12. e4 g6 13. Qf4 O-O 14. e5 Nh5 15. Qg4 Re8 16. Nc3 Qb8 17. Nd5 Bf8 18. Bf4 Qc8 19. h3 Ne7 20. Ne3 Bc6 21. Rd6 Ng7 22. Rf6 Qb7 23. Bh6 Nd5 24. Nxd5 Bxd5 25. Rd1 Ne6 26. Bxf8 Rxf8 27. Qh4 Bc6 28. Qh6 Rae8 29. Rd6 Bxf3 30. Bxf3 Qa6 31. h4 Qa5 32. Rd1 c4 33. Rd5 Qe1+ 34. Kg2 c3 35. bxc3 Qxc3 36. h5 Re7 37. Bd1 Qe1 38. Bb3 Rd8 39. Rf3 Qe4 40. Qd2 Qg4 41. Bd1 Qe4 42. h6 Nc7 43. Rd6 Ne6 44. Bb3 Qxe5 45. Rd5 Qh8 46. Qb4 Nc5 47. Rxc5 bxc5 48. Qh4 Rde8 49. Rf6 Rf8 50. Qf4 a5 51. g4 d5 52. Bxd5 Rd7 53. Bc4 a4 54. g5 a3 55. Qf3 Rc7 56. Qxa3 Qxf6 57. gxf6 Rfc8 58. Qd3 Rf8 59. Qd6 Rfc8 60. a4 1-0
  
  > **Comments:**
  > **username_6**: Just read the paper. Really amazing. Of course this doesn't mean you couldn't build something even stronger with the traditional techniques combined with AlphaZero, but still ...  
  
  ---
  
  ### Answer by username_6 on 2016-03-14. Score: 10
  
  Ok, I have to admit that I was wrong. Though I would maintain that it was due to knowledge of the expert opinion, not general obtuseness: To cite the [paper](https://arxiv.org/pdf/1712.01815.pdf): "However, chess programs using traditional MCTS were much weaker than alpha-beta search programs, (4, 24); while alpha-beta programs based on neural networks have previously been unable to compete with faster, handcrafted evaluation functions."
  
  Apparently, chess is strategically deep enough, that you can out strategise somebody, who would be able to out calculate you. To me that's a big surprise because the development in chess engines had been going in the opposite direction. (Apparently there is still a slight caveat as to whether AlphaZero is really stronger than Stockfish: Stockfish played with just 1gb for the hashtables and 64 cores may not really be a match for four TPUs)
  
  It's also a really, really exciting thing to happen, because AlphaZero very likely has very different strengths from traditional engines.
  
  It also means that I update my belief of the significance of AlphaGo as a technological breakthrough by a lot. Basically smashing shogi, Go and chess with one single setup is completely amazing, not to mention dozens of other games that could likely be played on a superhuman level by AlphaZero.
  
  There is a nice explanation as to why MCTS is actually a decent idea even for chess compared to alpha-beta search (from the paper): "AlphaZero evaluates positions using non-linear function approximation based on a deep neural network, rather than the linear function approximation used in typical chess programs. This provides a much more powerful representation, but may also introduce spurious approximation errors. MCTS averages over these approximation errors, which therefore tend to cancel out when evaluating a large subtree. In contrast, alpha-beta search computes an explicit mini-max, **which propagates the biggest approximation errors to the root** of the subtree." (emphasis by me)
  
  Here is my old answer, still containing some valid points, despite the conclusion being superseded by reality.
  
  First of all Alphago is not a general game playing system. It is a program designed purely to play go and nothing else. It is however build from certain building blocks that have a much wider applicability, such as [convolutional neural networks](https://en.wikipedia.org/wiki/Convolutional_neural_network#Image_recognition), which have been used in image recognition and which have immediate application in medical diagnostics, and [reinforcement learning](https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf) which was used to master the Atari games mentioned in the article.
  
  Also, current engines do ["learn" by self-playing](http://www.bbc.com/future/story/20151201-the-cyborg-chess-players-that-cant-be-beaten): "Overnight, Lefler’s six computers play through over 14,000 games each during an eight-hour period. “Six machines times 14,000 games is a lot of games,” he says. And with every game played, the database gets deeper and richer.
  There is even sporting interest in watching computers play against one another
  The result of Lefler’s busily whirring machines is the ever-increasing prowess of Komodo."
  
  To come to the bulk of your question:
  
  There is an important difference between chess and go, at least from a programmer's perspective. Chess is more of a tactical game, whereas go is more of a strategic game. This means that in chess calculation depth trumps positional evaluation. That's basically the key insight that distinguishes the "old" engines like Fritz, Shredder, Junior and the newer generation like Fruit, Rybka, Houdini, Stockfish, Komodo. Because at the end of each line you have to evaluate the position and you want to calculate lot's of lines and the quality of the evaluation isn't as important as search depth, chess engines have lean and fast evaluation functions.
  
  In go on the other hand the tactical complexity is too big even for computers. Consequently evaluating positions and moves accurately is key. What Alphago brings new to the game is this evaluation power, which is based on [convolutional neural networks](http://arxiv.org/abs/1412.3409).
  
  To finally get to my point: Whereas chess evaluation functions are lean and fast, neural networks have millions, sometimes billions of parameters. Because "learning" in this context means tweaking parameters, there is much more possible progress for self learning go programs.
  
  So, yes you could use a setup like Alphago to create a chess engine, but it wouldn't be particularly good. Running the evaluation function would take so much time, that you'd have to utilise a huge cluster of gpus to get to necessary search depths (which is what Alphago does). You could create a [very good evaluation function](http://arxiv.org/abs/1509.01549), but the speed tradeoff isn't worth it.
  
  > **Comments:**
  > **username_1**: I would disagree with you on this **you could use a setup like Alphago to create a chess engine, but it wouldn't be particularly good**. I can bet something on the fact that in less than a year, there will be a chess engine that heavily relies on NN (it most probably will have a tree search and monte carlo, but this is not important), which will be close to state-of-the-art stockfish. And this engine will not be originated from super corporation (because interest in chess faded away from AI researchers long time ago), but rather from a strong hobbist.  
  > **username_6**: Monte carlo is completely useless in chess. And while NNs aren't useless, they are just way too slow.  
  > **username_1**: Why exactly is MCTS useless? It makes a lot of sense to run start from a current board position, run 1000 games with a node depths of 5 and see what node has a better chances. This is very similar to what you do, when you look at the statistic of moves in the database and see that after 14. Kg4 white wins 25%, but with 14. Rb2 it wins with 45%. Do you have any proofs of **completely useless** phrase.  
  > **username_6**: The evaluation of every sharp position in chess is dependent on finding precise sequences of moves, playing the position out more or less randomly just doesn't give you much useful information. In go that's different because randomly played out games give you an estimate of the influence of certain stones and of potential area. In chess I would never look at the statistics of a database of 1300 players.  
  > **username_1**: MCTS is not about randomness, it is about simulation. Basic introductory books about MC showing you an example of randomness only to show the point. You can play a sharp position many times with the node depth of 6 which is super fast (and still pretty reliable), and will allow you to to approximately estimate which move is better.  
  > **username_6**: That's why I wrote "more or less" randomly. It doesn't really matter. The winning rates of 1300 level players doesn't tell a 3000+ engine anything useful. Chess is too concrete. But you don't have to believe me, you can always go and implement it yourself.  
  > **username_1**: 6 level depth is surely above 1300. I am not saying that MCTS is the only predictor, but if you have two moves which gives more or less the same evaluation, and for one MCTS gives 65% win and for another 24%, which one will you choose? I clearly do not believe you, especially if a quick search suggest that at least one strong engine has [MCTS evaluation](https://www.youtube.com/watch?v=0Uky4-9ZeTE) and up till now you gave no justification of rather bold statement.  Going and implementing anything by myself will not do any good (apart of me learning something).  
  > **username_6**: My statements aren't bold, they are mainstream. Just read some chess programming sites, you'll find more or less my arguments. MCTS has been known for a decade and in chess other stuff just works better. On the other hand I don't think your statements are based on anything more than gut feeling, so this'll be my last comment.  
  > **username_0**: Could such an engine, solely by playing itself, teach itself to play well? With no outside database and no hand-tuned evaluation function, nor even a preconceived notion that, say, a rook is better than a knight? Or is this still impossible at state of the art?  
  > **username_0**: Since you answered, new information regarding the go AI seems to have emerged. I have updated the question to link to the news, if this interests you.  
  > **username_0**: +1 but only one answer can be *accepted,* regrettably. This one would have been quite worth *acceptance,* too, thanks.  
  
  ---
  
  ### Answer by username_7 on 2016-03-14. Score: 5
  
  There is a project called [spawkfish](http://spawk.fish/) that attempts to do just this. It is a neural network-based engine whose purpose "is to explore how recent advances in computer Go can be applied to the world of computer Chess".
  
  It is a young project and the engine is still quite weak. Playing it is interesting, because its positional play is better than its tactics.
  
  > **Comments:**
  > **username_8**: You weren't kidding with that last sentence. I just played a couple games against it, and each one got well into a quite level endgame, only to see spawkfish suddenly drop material (in one case just hanging a rook out of nowhere). Strange.  
  > **username_0**: Since you answered, new information regarding the go AI seems to have emerged. I have updated the question to link to the news, if this interests you.  
  > **username_9**: The website for spawkfish seems to have disappeared...  
  
  ---
  
  ### Answer by username_10 on 2016-03-14. Score: 4
  
  > Can a similar AI win at chess? Can it achieve pure self-training?
  
  The short answer is "No!"
  
  Chess and go are radically different in their relative simplicity and relative complexity which derives from their geometry and how you win. These combine to make a program which is good at one useless at the other.
  
  In chess you win by checkmating the opponent, points don't count. Of course a sensible opponent will often resign before you deliver checkmate but the principle is the same. In go you win by having more points at the end of the game. If I have a king and queen and you have a king, rook and pawn but you have built a fortress then it doesn't matter that I have 9 points for the queen and you have just 6 points for your rook and pawn. The game is a draw.
  
  This makes a fundamental difference in the complexity between chess and go. In go you can just keep score and you will know who is winning. In chess the only way you can know who is winning is by pure calculation. In this sense chess is much more complex than go.
  
  At the same time, because of the geometry of the two games, there are orders of magnitude more possibilities in go than in chess. In this sense go is much more complex than chess.
  
  A chess program works by brute force calculation of all the possible moves up to a certain depth which determines its strength. A go program cannot work like this and play anything more advanced than beginner level go.
  
  The basic aim of go is to control more territory than your opponent. At the end of a game it doesn't matter if the difference is 1 stone or 100 stones, both are wins. Every time you place a stone you do two things. You increase your territory, either potential or actual, and you decrease your opponent's.
  
  Sometimes, when it is actual increase or decrease in territory, it is easy to calculate the value of the move, but when it is potential it is very difficult to evaluate. As a weak go player I understand the "actual" much better than the "potential" and a stronger player will beat me by building much greater potential territory in the center while I build smaller actual territory on the edges and in the corners. The stronger player will have built up the ability to judge through intuition and feel from playing lots of games and recognizing how to build "potential" territory.
  
  Earlier I said that every time I place a stone it increases my territory (actual or potential) and decreases my opponent's (actually if it is a stupid move it will do the opposite!). In any given position not all moves are the same. A stone placed in one position can be worth much more or much less than a stone placed in another.
  
  Typically in a game there will be small "fights" where players place their stones near each other, marking out their territory and limiting their opponent's. Meanwhile there are possibilities to start staking out territory in another part of the board or switch to a fight somewhere else where both players already have stones.
  
  What is very important in these situations is knowing when to stop one fight, because the potential gains have diminished, and to either switch to another fight or perhaps strike out into virgin territory. Sometimes this depends on hard calculation but often it is much more nebulous and not subject to calculation. As a weak player this is where a strong payer will crush me every time.
  
  What the computer does in these situations is use probabilistic methods to generate an expected score for a particular move. Sometimes the actual value will turn out to be a little bit less, sometimes a little bit more but over the long haul it will even out more or less. It will keep picking the move with the highest expected value with the expectation that over the long haul of a game small errors will cancel out and its strategy will win.
  
  This is not a strategy which sounds familiar to chess players and is not one which is going to work in chess. It is something which sounds familiar to anybody who follows what goes on in the share markets. It sounds very similar to something called "high frequency trading" where computers will make thousands of small bets or just proposed bets every second to "nickel and dime" the market and perhaps even to move it very marginally in their favor over periods of milliseconds.
  
  Already the financial markets are dominated by these kinds of algorithmic trading which suggests that this kind of program has already triumphed in a far more lucrative area than a board game.
  
  > **Comments:**
  > **username_6**: High frequency trading is nothing like go playing. Totally different algorithms afaik. Also, lot's of interesting stuff in your answer, but it's kind of hard to see the main point, maybe add a TL;DR. ;-)  
  > **username_10**: @username_6 The underlying principle behind HFT and AlphaGo is a probabilistic one. Expected gain from this "move" is x%. Over the long term the accumulation of such moves/bets is going to win the game for AlphaGo or make a fortune for the HFT traders. However every now and then there will be a "flash crash" or a "wonder move" from a Lee Se-dol which turns a win/profit into a loss. That in no way invalidates its programming. It is not programmed to find the absolute best move each time. It is a bit like pseudo solutions to travelling salesman problem which try to get within 5% of best.  
  > **username_0**: Since you answered, new information regarding the go AI seems to have emerged. I have updated the question to link to the news, if this interests you.  
  > **username_4**: @username_0, I believe this answer is now somewhat obsolete given the new success of AlphaZero, as in https://arxiv.org/abs/1712.01815  
  > **username_5**: And these programs fail totally when a black swan occurs requiring the govt to bail them out with our tax money.  
  
  ---
  
  ### Answer by username_11 on 2016-04-02. Score: 4
  
  (Anyone how wants a deep technical discussion for AlphaGo can look at my [post](https://datascience.stackexchange.com/questions/10932/difference-between-alphagos-policy-network-and-value-network))
  
  **Short answer**: No
  
  **Long answer**:
  
  First, we need to understand why Google didn't implement alpha-beta into AlphaGo. Stockfish and Komodo (and all chess engines) have alpha-beta, why wouldn't AlphaGo?
  
  **Reason**: there is no easy and cheap way that can accurately evaluates a Go position statically.
  
  In Chess, we can always count the materials, a very effective way to evaluate a position statically. Although not perfect, it's very fast and a very good proxy for chess.
  
  Searching the state space with Monte-Carlo is an **inferior** method to alpha-beta. Google would have implemented alpha-beta if they could, but they couldn't. Thus, they were forced to use something much slower.
  
  Chess engine would not play better with Monte-Carlo.
  
  > **Comments:**
  > **username_12**: Time to reconsider, or maybe just not yet ?  
  
  ---
  
  ### Answer by username_13 on 2017-12-03. Score: 4
  
  I disagree with the other answers. I am computer scientist who works professionally in the area of artificial intelligence and am also a candidate master in chess and 3 dan in igo.
  
  I think it is unclear at this time whether Deep Mind's methods could be applied to chess, but I think it is possible.
  
  Currently, the top chess-playing programs are increasingly relying on heuristics and attempting to use the AlphaGo architecture for chess would in some ways be in the same line of thinking.
  
  One key architectural feature of AlphaGo that would have to be altered is its method of identifying key squares (or heat maps), which is particular to igo-like games and is not directly applicable to chess. Some analog of this method would have to be developed to make the AlphaGo architecture relevant to chess. For example, we could have the concept of "key pieces" rather than key squares.
  
  I think the argument that the AlphaGo architecture is not relevant to chess because chess is more tactical is not a very good claim because ultimately both have search trees which are similar enough in shape that AlphaGo could definitely be adapted to chess.
  
  > **Comments:**
  > **username_11**: I gave you a +1, as your claims could be correct but we don't know for sure until someone publishes a paper.  
  > **username_14**: Uh? The paper already exists, as pointed out by username_10. The answer is a yes.  
  > **username_13**: Looks like I was right, heh.  
  > **username_14**: @CecilDeVere not with disagreeing with the other answers, 2 of them pointed out the correct answer. And not by stating that it is unclear at this time, while it's crystal clear that that answer is yes (not a maybe).  
  
  ---
  
  ### Answer by username_15 on 2017-12-06. Score: 3
  
  The answer is Yes! Google just proved this yesterday, when AlphaZero beat the best chess program using only knowledge about the rules and pure self training with no human chess knowledge used. The accepted answer is wrong. The link to the article is here :[link](https://www.arxiv-vanity.com/papers/1712.01815v1/)
  
  > **Comments:**
  > **username_5**: i got an insecure site message when i clicked that link  
  
  ---
  
  ### Answer by username_16 on 2018-04-01. Score: 0
  
  To see AlphaZero in action, follow <http://lczero.org/> or play at <http://play.lczero.org/>
  
  
  ---
  
  