Go, AlphaGo, and Artificial Intelligence
Image by calliope on Flickr
Learn the basics of Go plus neat math details about Go and AlphaGo, the computer that beat a human playing Go.
You and your rival just landed on a newly-discovered planet and seek to conquer unclaimed territory. You each do so by building stone walls to mark your land. As you build, you attempt to capture each other’s stones by surrounding them, thus cutting off their air and gaining more territory for yourself.
This is the game of Go. It originated in China over 2500 years ago, making it the oldest game still played in its original form. Chinese scholars, including Confucius, have written about it throughout history to describe correct thinking about human nature. Around the year 1600 it became one of the four accomplishments that must be mastered by Chinese gentlemen. Go plays an important role in Japanese society as well, appearing in literature, theater, and ukiyoe – woodblock prints. It is equally esteemed in South Korea, home to the current world champion player, where an entire television station is dedicated to Go. It is likely the most widely played game in the world, with over 40 million players, from toddlers on up.
Although not as known in the West, many great American and European minds were also Go players. Albert Einstein, Alan Turing, and accomplished mathematician Paul Erdos were all known to enjoy the game. Today there are hundreds of Go clubs across the United States where both children and adults can learn the game and even enter Go competitions.
The rules of Go are few and simple, yet the game is exponentially complex. In fact, Go is so complex that nearly 20 years passed between Deep Blue’s defeat of chess champion Garry Kasparov in 1997, and the January 2016 upset of European Go champion Fan Hui by AlphaGo.
Two months later in March, world Go champion Lee Sedol surrendered during his first of five matches with AlphaGo, signaling a major breakthrough in artificial intelligence. By the time you read this article, the world will know whether or not we still have a “deterministic perfect information game” — a game where no information is hidden from either player and there is no element of chance — in which humans out-perform machines.
Go is sometimes thought of as the far East’s chess game. However, although both chess and Go are exponentially complex, the game of Go has a far larger exponent. A full Go board is comprised of slightly rectangular grids formed by nineteen vertical lines intersecting nineteen horizontal lines, creating 361 intersections. Once the first player places a stone, the second player has 360 possible moves to choose from. This makes 129,960 possible moves after each player has taken just one turn, albeit many are not wise plays. Compare this to chess; once both players have played there are 400 possible board positions.
To calculate the theoretic number of possible moves in Go, consider that each intersection can be in one of three states: black stone, white stone, or empty. Thus the number of possible positions can be calculated as shown below:
3(19 x 19) = 3361
The rules of Go limit the number of legal positions to just over 1% of this theoretic possibility, leaving approximately 2.082 10170 possible plays (2 followed by 170 zeros). Compare this to the number of atoms in the universe, 1080, and it becomes clear that even a computer would not be able to cycle through all possible plays in anywhere close to a reasonable amount of time for a game.
In comparison, chess has approximately 1050 legal positions. Though still a formidable number, IBM’s engineers used a classical search algorithm to program Deep Blue. A search tree enabled the machine to make the best plays by simulating all possible games that might follow each move the machine made, at a mind-boggling rate of 200 million calculations per second. Additionally, the computer used techniques such as alpha-beta search and null-move to determine which moves deserve more attention.
These types of algorithms do not work well in Go. The number of possible positions is too great and it is difficult to determine which moves deserve the most attention. Another major challenge for machines programmed to play Go is that champion Go players rely on intuition to help guide their moves. They often cannot explain how they know where to place their next piece.
Computers do not have intuition. They can not “just know” much of anything. AlphaGo uses a Monte-Carlo tree search combined with deep neural networks to build up something of an intuition that its creators hope is comparable, or superior, to that of Go players. If they are successful, applications of AlphaGo abound in decision-making tasks from the medical field to business and beyond.
Ready to try a game? The book Graded Go Problems for Beginners combined with online play make for a good start. A popular first online stop is Consumi. Brace for rapid losses on a small board as you begin to develop the intuition that the masters build up over a lifetime of play.
Learn More
Pages for beginners
http://senseis.xmp.net/?PagesForBeginners
Consumi (online play)
Pandanet (Internet Go server)
http://pandanet-igs.com/communities/pandanet/49
Graded Go Problems for Beginners
American Go Association
American Go Federation
http://agfgo.org/pages/home.php
Where to play Go
http://www.usgo.org/where-play-go
The Surrounding Game (Go movie)
http://www.surroundinggamemovie.com/en
Garry Kasparov speaks at Google
https://www.youtube.com/watch?v=9hf31xOhchY
Nature article
http://www.nature.com/news/go-players-react-to-computer-defeat-1.19255
Wired article (2014)
http://www.wired.com/2014/05/the-world-of-computer-go/
Deep Mind
https://deepmind.com/alpha-go.html
Mastering Go with Deep Neural Networks and Tree Search
http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
Google Blogspot
http://googleresearch.blogspot.com/2016/01/alphago-mastering-ancient-game-of-go.html
The Computer that Mastered Go
https://www.youtube.com/watch?v=g-dKXOlsf98
Lee Sedol
https://en.wikipedia.org/wiki/Lee_Sedol
Google’s AI won the game Go by defying millennia of basic human instinct
http://qz.com/639952/googles-ai-won-the-game-go-by-defying-millennia-of-basic-human-instinct/
Also In The April 2016 Issue

The iDTech summer camp recently posted 102 questions. Here are a few with links to the full list.

The choice of a first programming language can be overwhelming, from simple drag and drop to full languages.

10 steps you can take to improve your skills as a programmer.

REST is a standard way for software applications to work with each other to do things.

Blockchain software technology works as a distributed ledger to record what was done and when.

This online emulator lets you learn and try out a little of the Ruby programming language.

Here's a fun way to learn about telnet and watch the original Star Wars movie in ASCII format.

Believe it or not, computers and keyboards were not invented together.

Learn the basics of Go plus neat math details about Go and AlphaGo, the computer that beat a human playing Go.

If you were a wizard, wouldn't you want to know how to scale your spells for maximum effect?

This programming language is both easy to learn and teaches excellent coding form.

Code Monster from Crunchzilla is a fun online emulator used to learn JavaScript.

A phone and tablet app exposes the invisible world of radio, phone, and satellite waves that connect our computers.

ASCII is a set of letters, numbers, and characters computers use to communicate accurately.

Links from the bottom of all the April 2016 articles, collected in one place for you to print, share, or bookmark.

Computing at School (CAS) provides resources and support for computer science teachers and parents.

Interesting stories about computer science, software programming, and technology for April 2016.