Preface

When AlphaGo hit the news in early 2016, we were extremely excited about this groundbreaking advancement in computer Go. At the time, it was largely conjectured that human-level artificial intelligence for the game of Go was at least 10 years in the future. We followed the games meticulously and didn’t shy away from waking up early or staying up late to watch the broadcasted games live. Indeed, we had good company—millions of people around the globe were captivated by the games against Fan Hui, Lee Sedol, and later Ke Jie and others.

Shortly after the emergence of AlphaGo, we picked up work on a little open source library we coined BetaGo (see http://github.com/maxpumperla/betago), to see if we could implement some of the core mechanisms running AlphaGo ourselves. The idea of BetaGo was to illustrate some of the techniques behind AlphaGo for interested developers. While we were realistic enough to accept that we didn’t have the resources (time, computing power, or intelligence) to compete with DeepMind’s incredible achievement, it has been a lot of fun to create our own Go bot.

Since then, we’ve had the privilege to speak about computer Go on quite a few occasions. As we are both long-term Go enthusiasts and machine learning practitioners, it was at times easy to forget just how little the general public picked up from the events we followed so closely. In fact, it was a little ironic to see that while millions watched the games, at least from our perspective in the western world, there seem to be essentially two disjointed groups:

  • Those who understand and love the game of Go, but know little about machine learning.
  • Those who understand and appreciate machine learning, but barely know the rules of Go.

To an outsider, both disciplines might seem equally opaque, complicated, and hard to master. While in the last years more and more software developers picked up machine learning and in particular deep learning, the game of Go remains largely unknown to many in the west. We think this is very unfortunate and it is our sincere hope that this book brings the above two groups closer together.

We strongly believe that the principles underpinning AlphaGo can be taught to a general software engineering audience in a practical manner. Enjoyment and understanding of Go comes from playing it and experimenting with it. It can be argued that the same holds true for machine learning, or any other discipline, for that matter.

If you share some of our enthusiasm for either Go or machine learning (hopefully both!) at the end of this book, we’ve done our job. If, on top of that, you know how to build and ship a Go bot and run your own experiments, many other interesting artificial intelligence applications will be accessible to you as well. Enjoy the ride!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset