
The Mystery of Go, the Ancient Game That Computers Still Can’t Win - relampago
http://www.wired.com/2014/05/the-world-of-computer-go/
======
mark_l_watson
That was a good read!

I wrote a Go playing program ("Honinbo Warrior") in UCSD Pascal on my Apple II
in the late 1970s. I made some money selling it commercially, but it was
mostly a hobby.

Also in the 1970s, I had the privilege of playing the women's world champion
and also the national champion of South Korea. They both gave me huge
handicaps, and still easily beat me - I am not a very strong player. Go really
is a great game.

I bought Crazy Stone for my droid phone, and it really is a fine program.

~~~
thangalin
A paper written by Albert Zorbist contains a Go record of the very first
human-computer Go game.

[http://www.computer.org/csdl/proceedings/afips/1969/5073/00/...](http://www.computer.org/csdl/proceedings/afips/1969/5073/00/50730103.pdf)

The transcribed game record is at:

[http://eidogo.com/#3BfnBvgMz](http://eidogo.com/#3BfnBvgMz)

I have asked Albert if he can find the old ALGOL code, as it is of some
historical value. The code might be stored on tape, which can be read by
Scotch brand IBM tape drives ([http://3480-3590-data-
conversion.com/](http://3480-3590-data-conversion.com/)). He's going to look
for his old dissertation, as well, to see if the listing was included.
Otherwise, the tapes will be mailed for a data dump.

~~~
mark_l_watson
Reading Zorbist's paper on computer Go sparked my interest in Go playing
programs. It would be great to have his old code, papers, etc. on something
like github for a historical record.

------
btbuildem
> Caught between atheism and a crippling fear of death, Ray Kurzweil and other
> futurists feed this mischaracterization by trumpeting the impending
> technological apotheosis of humanity, their breathless idiocy echoing
> through popular media.

An unexpected jab in the second-last paragraph, seems the author has some
strong opinions about AI. I wonder how he'd respond to Hawking's recently
newsworthy worries.

~~~
DanAndersen
Yeah, that felt like a weird and very out-of-place insult. I also thought this
was an odd assertion:

>In fact, computers can’t “win” at anything, not until they can experience
real joy in victory and sadness in defeat, a programming challenge that makes
Go look like tic-tac-toe.

It seems like when it comes to AI advances, there's always a shifting of
goalposts as soon as an AI is able to do a task that was once thought to be a
defining characteristic of human cognition. Why does it matter if a computer
"feels good or bad" at the outcome of a competition for that competition to be
somehow valid?

~~~
bpyne
I'm unsure sometimes if the AI moniker isn't misleading people as to what is
really happening. We (human beings) aren't creating an artificial
intelligence. We are learning about our own intelligence and then trying to
put instructions to a machine so it can process them and simulate our
intelligence. Beating Kasparov wasn't the result of powering up a machine and
letting it learn on its own: on its own it would just sit there with a light
on indicating power is passing through the on/off switch. People spent perhaps
thousands of hours studying how chess experts approached the game and
developed algorithms from it. I think of what they did as not so much
artificial intelligence as collective intelligence in which the computer was
just a medium.

~~~
jules
That's not a correct characterization of what happened with chess. Computer
chess programs do not work the same way as the human mind. The human mind uses
very strong heuristics, and then simulates the game to a relatively small set
of positions. We do not really understand how that heuristic part works. On
the other hand, computers use very simple and weak heuristics, but search a
huge space of possible moves. I'd argue that we learned relatively little
about how humans play chess from chess AI. The same goes for most other kinds
of AI. AI/machine learning isn't studying how the human mind does it an
replicating that, it is developing a method that is effective for computers.

~~~
wtbob
I love that great Dijkstra quote, about how the question of whether a computer
can think is as interesting as whether a submarine can swim.

------
ogig
Tangential curiosity I didn't knew,

> The first chess programs were written in the early fifties, one by Turing
> himself

When readed that I wondered in what computer could possibly that chess program
ran. The amazing answer is: nowhere. Turing executed himself the orders of the
program he wrote acting as cpu.

[http://chessprogramming.wikispaces.com/Alan+Turing#Chess%20a...](http://chessprogramming.wikispaces.com/Alan+Turing#Chess%20and%20Go)

~~~
fduran
A chess-playing computer had been suggested as early as 1864, and the first
machine able to carry out a "program" was invented in Spain in 1914 by the
engineer Leonardo Torres-Quevedo and called Ajedrecista
[http://en.wikipedia.org/wiki/El_Ajedrecista](http://en.wikipedia.org/wiki/El_Ajedrecista)

~~~
jfoutz
Site in general is NSFW, this specific comic has some swearing.

Disclamer aside, I always thought this was a pretty hilarious alternative to
real automation, in the spirit of the xkcd security wrench.

[http://media.oglaf.com/comic/theautomaton.jpg](http://media.oglaf.com/comic/theautomaton.jpg)

------
captaincrowbar
"It is neither daring nor original to predict that within decades the world's
best chess player will be a machine ... Other games such as Go are presently
less susceptible to machine analysis, a fact which sometimes provokes
incredible displays of intellectual snobbery from Go players who like to
denigrate chess as a child's game. When in due course a machine also becomes
the top Go player, such people will no doubt move to games like snakes-and-
ladders where computers have no detectable advantage." \-- David Langford
(1979)

------
hyperpape
One falsehood in the article is that Go is the only game where computers
"don't stand a chance."

In fact, computers are substantially worse than the best humans at Go, Arimaa,
Hex and maybe Havannah [1], to take some games that I know.

Arimaa is underexplored for both humans and computers, but there are several
programmers working on it, and there is a modest prize available. Hex and
Havannah are less explored, but they also have academic work done on them, and
their human communities are also small, which means that we're not getting the
best humans can do.

[1] Havannah has a pretty good bot, Castro, but I think it's still quite
beatable.

~~~
VLM
From the article a criteria often missed in the discussion is "...of all the
world’s perfect information games..."

Virtually all tabletop grognard games are perfect information games. I say
virtually because there might be one I can't think of at this time, maybe a
card driven game. I suppose the COIN series is partially imperfect
information... Even a noob player can crush an AI trying to play grognard
games so usually the computer cheats or is given a massive handicap, like,
say, your human controlled division is up against two, maybe three AI
divisions. I've played a lot of grognard games both computer and tabletop and
I've never found a worthy evenly matched AI opponent although humans can kick
my butt. Some computer implementations implement a fog of war which would
certainly be imperfect information, but not tabletops or faithful
reimplementations of tabletops. A "good" grognard scenario/game doesn't depend
on FoW anyway, or at least many people share that belief.

You can model a stereotypical grognard game as "chess with a large hex board,
more pieces, and wider variety of pieces". I guess that gives some idea what a
computer-proof abstract game would look like. "GO" on a 171x171 grid, perhaps,
or chess with 50 kinds of pieces.

~~~
hibikir
You must have a very restrictive definition of grognard games. There are
hundreds of wargames out there that would not qualify as perfect information.
For instance, anything made by Columbia Games.

If you study them mathematically, many of those games are actually quite a bit
simpler than chess or go, because despite the large number of pieces, turn
limits, order limits and very limited setup options will shrink the decision
space in a major way.

Those games are also easier to solve because, often to provide a light
semblance to how history actually turned out, the rules are set up so that
entire avenues of approach are restricted.

So why are AIs worse? because when you make a videogame, getting the hardest
AI possible is not really a selling point. We worry instead about not taking
too much time, or, in case of a mobile game, not eating the processor alive.
Those limits make entire sets of approaches to AI unworkable altogether. If a
machine was allowed to think as long as the human does, and we had a reason to
actually built said AI, you'd see humans losing a whole lot in wargames. You'd
get a similar thing in Euros too, as entire avenues of playing just go away
because they are mathematically inferior.

~~~
ulisesrmzroche
Strong AI is for sure a selling point, though. Who wants to play an easy
shooter, for example? I believe you when you say if we threw the amount of
power required at it, it would work, but then why not? We don't have that
amount of computing power available at all?

------
ronaldx
One additional issue for computers is that humans don't play the game tree out
to its conclusion - humans recognise winning and losing positions rather than
playing a much longer (perhaps infinite) prove-out game.

A naive game theory strategy runs into a disasterous problem - the game tree
is extensively longer than the 200 moves that a human will play.

So, a computer has to recognise a winning position, in a heuristic way, as
well as the best players do. But, even as a total beginner, it's easy to
notice Go programs sometimes get the end-of-game scoring totally wrong.

Once you've overcome this first problem, you've reduced Go to "just" a
200-move game tree.

~~~
ama729
> humans recognise winning and losing positions rather than playing a much
> longer (perhaps infinite) prove-out game.

If true, does it mean a computer (or an Human) could win by just not
conceding?

~~~
tinco
No, a game is only over when both sides concede, and players concede when they
recognize that any move they could make either does not change the score or
would cost them a point (playing in territory that is already yours
effectively reduces your territory as only empty territories are counted as
points (in standard japanese rules)).

If one player would never concede you would keep playing until the board is
full except for the unfillable eyes of the player that wins. Obviously that
would take a long time and many negative moves of the losing player.

So you stop playing when both players are confident the game is over and agree
on who has won.

~~~
pmontra
That problem of "negative moves" is solved by the Chinese rules. A point is
scored under them for each surrounded intersection plus each stone on the
board. So you can defend any supposed weakness without losing points (you
still lose sente and points if you needlessly defend when the score is not
settled yet). You can even reduce your territories to two eyes each if you
feel like.

By the way, the Chinese rules let solve neatly all those cases handled by
special rules in the Japanese rules. The bent four in the corner is the most
notable one. Playing it out with the Chinese rules is a neat explanation why
that corner is defined to be dead: the surrounding player defends any weakness
without losing points and starts the ko. The other player has no ko threats
and dies. Those defensive moves lose points under the Japanese rules so they
have to make a special rule for that shape and many others.

The only problem with the Chinese rules is that scoring takes longer and
completely destroy the shape of the game: you fill in the territory of one
player, take out the other's stones and count by grouping the stones in
convenient shapes. Furthermore if you want to count during play you must
remember how many stones have been captured because prisoners are returned to
their bowl and are not stored in plain view (the score penalty is paid by not
having those stoned on the board). Japanese rules are a shortcut that makes
scoring easy but the tradeoff is the dictionary of special cases at the end of
the game.

------
wtbob
> Crazy Stone and Nomitan are locked in a game of Go, the Eastern version of
> chess.

Ummm, the Japanese version of chess is…chess. It's called shogi. There's also
a Chinese version of chess, xiangqi. There are, I believe, Vietnamese, Korean,
Burmese and perhaps other varieties of chess. There's certainly no common
'Eastern version of chess' any more than there's a common 'Easter version of
food.'

Go is a Japanese game of considerably greater complexity than chess.

~~~
jamesli
Thumb up on the comments on "the East Version of Chess".

Go is not a Japanese game, though. It was originated in China more than 2000
years ago. It is very popular in both China, Japan, and South Korea. [I don't
know how it is in North Korea.]

~~~
hyperpape
North Korea has a number of strong players--probably better than those in
Europe and the US. They've competed in a few international events.

------
conanbatt
First of all, let me share that what Remi achieved with bots is incredible for
Go players. When I was 16, the best bots out there were 6kyu, 5 ranks below
the median rank for Go players.

Now, CrazyStone and Zen achieved 5d consistently on Go Servers, thats 5 ranks
above the median. I have played Zen once, and I was utterly impressed by the
quality of its play.

However, my game with the bot confirmed to me how bots WILL NOT beat
professionals in a LONG LONG time. The bot excelled at tactical situations,
and endgame. Maybe almost professional level. But the strategy is so weak,
that the game turns into taking advantage in the first stage of the game, and
then not losing it in the rest of it.

Until the computational power is strong enough to develop new openings,
computers will always lag behind professionals in Go.

~~~
sanxiyn
I don't agree with this. You can handle openings by using a pre-computed book.

If you think about it, this is actually how humans handle openings. There is
an opening theory, to which huge amount of analysis(pre-computation) was done.
Even professionals don't do impromptu opening analysis over the board.

On the other hand, in my opinion computer tactics are nowhere close to
professional level. Not even close.

~~~
hyperpape
Openings can't be handled by a pre-computed book. What we humans call the
opening can be 40 moves, and professional games often feature unique moves
within the first 10-20 moves.

The situation with regard to the opening is quite different from chess.

------
rockdoe
This is one of the best mainstream articles on the subject I have ever seen.

------
mickeyp
I've always wondered if it's possible to inductively teach a computer to play
Go using some form of machine learning by playing tens of thousands of games;
perhaps games with annotations by humans following a simple format to guide
the fledgling AI: "Good move", "Bad move", etc.

I used to play Go but stopped a long time ago. It was a game where you had to
train your brain to recognise patterns and act on them.

~~~
itry
"teach a computer to play Go using some form of machine learning"

It would work. Even unsupervised. Let random programs play against each other.
Let the losers die and the winners breed offsprings with mutations. If you let
that run long enough, i tend to think that the new world champion would arise
with certainty.

The question is how long "long enough" is. Probably "too long" on current
hardware.

Would be nice to let this experiment run and draw a graph showing the elo of
the best program over time.

~~~
sp332
Random? Like code with random logic statements? Random for-loops, and random
data structures initialized with random values, and random exit codes?

~~~
itry
Yes. See "Genetic Programming" by John R. Koza for empirical research and in
depth analysis of this approach.

~~~
sp332
Yeah, I know what genetic programming is. But your programs don't just have to
beat each other, they have to beat expert humans. Since there isn't a way to
"crossover" operations from human players to the next generation of programs,
crossover is of limited use. That means the only way to progress will be
through random mutation, which will take a very long time.

~~~
ianopolous
I actually tried this for fun during my PhD I made sure the program
instruction set was Turing complete and ran it along Koza's lines. As
predicted, it took too long. On any reasonable time scale, the best evolved
program was to play randomly.

------
RRRA
My impression was that recently Go had fallen too...

[http://www.newyorker.com/online/blogs/elements/2014/03/the-e...](http://www.newyorker.com/online/blogs/elements/2014/03/the-
electronic-holy-war.html)

~~~
DerpDerpDerp
> The victory was not quite a Deep Blue moment; Crazy Stone was given a small
> handicap, and Ishida is no longer in his prime.

As I heard the story, the computer received something like 4 stones (a
moderate handicap), and was playing against someone who no longer was top-of-
the-world, but was still a strong player.

This is very different than beating the world champion in a fair game.

~~~
karamazov
A four-stone handicap is not small: a beginning professional player could give
any top Go player (there are several major championships) a run for his money
with 4 stones.

~~~
NhanH
Just to clarify: a beginning professional player (as in, a player who is
considered of professional rank in the Go world, but just in the beginning of
their career) will beat any top Go player with 99%+ certainty at 4 stones. The
difference between professional players are far less than 4 stones.

If you meant a student studying to be a professional, then 4 stones would
probably be true for an even chance game.

------
ivanca
>In fact, computers can’t “win” at anything, not until they can experience
real joy in victory and sadness in defeat

Nothing farther from the truth, there are emotion-less people (alexithymia),
and that doesn't mean that they can't win or lose.

------
nabla9
Go is very complex.

How about game with much smaller search tree complexity first, like poker.

We don't have computers winning professional poker players yet. They are quite
good in heads up game (one to one), but full table is beyond them. The problem
in poker is not the complexity of the game, it's in learning how your opponent
thinks and how they adjust to your play.

~~~
gabemart
> How about game with much smaller search tree complexity first, like poker.

I presume you're talking about limit poker. In pot-limit or no-limit poker,
the search tree is large, especially (as you say) for 6-max or full-ring. I
don't have much of a frame of reference, but I'm tempted to say "very large".

> The problem in poker is not the complexity of the game, it's in learning how
> your opponent thinks and how they adjust to your play.

I don't understand this distinction. It seems to me that learning how your
opponent thinks and how they adjust to your play are a central part of the
difficulty in most deep games of strategy.

~~~
aninhumer
>It seems to me that learning how your opponent thinks and how they adjust to
your play are a central part of the difficulty in most deep games of strategy.

For human players perhaps, but my impression is that most Chess playing
software simply tries to find the strongest move, without considering the
opponent to any great extent.

The opposite extreme here is Rock Paper Scissors AI, where there is evidently
no strongest move, and the only way to do better than a draw is to identify
the opponent's strategy.

~~~
aetherson
I think you may be talking past each other. Chess programs, for example,
certainly "consider" the opponent. Indeed, they consider the opponent to the
extent of mapping out tens of billions of possible opponent moves.

What I believe you're saying is that they don't do is consider the opponent as
a unique individual, rather than as a generic opponent to be brute-forced.
They don't say, "Oh, well I'm playing against Kasparov, who plays
aggressively, so I'll set a trap," versus "I'm playing against Karpov, who
overvalues his knights, so I'll threaten them." (Note: these are not actual
foibles of Kasparov or Karpov).

Knowing your particular opponent is, it seems to me, a tree-pruning technique,
in much the same way that the Monte Carlo approach that is highlighted in the
article. If you can anticipate ALL possible opponent responses to an
acceptable depth, that's clearly better than making assumptions about how your
opponent will respond.

~~~
aninhumer
Yeah, they said they didn't understand the distinction, so I was clarifying.
Poker leans a lot more towards the Rock Paper Scissors style of AI, where
determining the best move becomes much more dependent on understanding your
opponent's strategy.

------
matthewwiese
Loving the article so far, interesting read and makes me interested in reading
more into the AI Go scene. Any HNers have links that would an excited learner
make?

also

> computer game theory genius Alfred Zobrist

I couldn't help but laugh, because I read this an entirely different way than
the author intended. I assume he just meant 'game theory' without the computer
prefix

~~~
alasarmas
I see on the Wikipedia article for Zobrist hashing[1] there is a reference to
Albert Zobrist, who doesn't appear to have a Wikipedia page, but has pages at
[2] and [3].

1\.
[http://en.wikipedia.org/wiki/Zobrist_hashing](http://en.wikipedia.org/wiki/Zobrist_hashing)

2\.
[http://chessprogramming.wikispaces.com/Albert%20Zobrist](http://chessprogramming.wikispaces.com/Albert%20Zobrist)

3\.
[http://senseis.xmp.net/?AlbertLZobrist](http://senseis.xmp.net/?AlbertLZobrist)

------
coldcode
The problem is inherently parallel but not obviously what each task should be
doing. The experienced brain clearly can see the whole board and recognize
what to do next but a computer can't right now.

If I had more time this would be a lot of fun to work on. My approach would be
to find some way to evolve a Go player. People clearly learn over time by
playing a lot, which is basically programming their brain to recognize state
and options.

------
thewarrior
This only deepens the mystery of humans are able to do it. I really hope I
live long enough to learn how human intelligence works.

~~~
hasenj
Keep in mind it's only the "Top" professional players who have spent hours
every day for several years studying the game.

The best "Bot" when I last checked was 5dan level; at this level it can
probably beat > 90% of human go players? (I don't actually stats ..)

------
S_A_P
Isn't this really mis-titled? "Computers" don't win anything. The software is
what cant "win" right now. Even though Im sure there is a lot of effort by
various companies, academia and individuals into AI, is there really much
development being put into beating a go grand master?

------
CurtMonash
Some years back, I played a lot of Igowin on my home PC. At that time it was
restricted to a 9x9 board.

I'm not a very good go player at all, but I actually had one game in which I
gave it a 5 stone advantage and managed to beat it.

I should add that the current IOS Igowin seems to be decidedly better than I
am, or than I was then.

------
shmageggy
Does anyone have a link to more information about the percolated fractal and
how it relates to Go positions? A quick googling wasn't satisfying.

------
h1karu
HIKARU!!!!!!!! NO GO!!!!

[http://www.youtube.com/watch?v=E-LHI1MC6Gc](http://www.youtube.com/watch?v=E-LHI1MC6Gc)

------
michaelochurch
_Caught between atheism and a crippling fear of death, Ray Kurzweil and other
futurists feed this mischaracterization by trumpeting the impending
technological apotheosis of humanity, their breathless idiocy echoing through
popular media._

Wat. Why was this bit of out-of-place and mostly off-topic divisiveness
dropped into an article about Go?

I don't expect "the Singularity" to come in my lifetime, although smaller
victories in "AI" have _already_ proven themselves very useful; but let's
leave God out of AI debates. Whether there exists a God or gods (all "atheism"
means is not believing in gods, and nothing either way about life after
death), whether there is life after death, and what AI can do are orthogonal
matters. The one that we can do something about, is the last of these.

For me, I'm a huge fan of AI and would love to see more research in that vein,
but I don't dread or fear my eventual death. I don't intend to bring death on
prematurely, but my curiosity has me looking forward to it. I certainly don't
expect to see a "Singularity" by 2045. That said, if I could program a
computer to (say) cure cancer, or extend the human lifespan, I would do it in
a heartbeat.

The stereotype that all AI researchers are "atheists" (as if that were a
negative, or even a meaningful category) driven by a "fear of death" is (a)
untrue, and (b) irrelevant. The great thing about science is that _it doesn 't
matter_ what your religious beliefs are, and it seems to work regardless of
whether gods exist.

~~~
trendoid
Not sure why he put atheism bit but considering how many pills Ray Kurzweil
takes per day(200?) to increase his age by keeping himself young, it wont be
surprising if he has a genuine fear of death.

Some of his claims are quite ridiculous and PZ has done a good job of pointing
out why so :

[http://scienceblogs.com/pharyngula/2010/08/21/kurzweil-](http://scienceblogs.com/pharyngula/2010/08/21/kurzweil-)
still-doesnt-understa/

------
civilian
Obviously we should teach Octopi how to play Go!
[https://news.ycombinator.com/item?id=7730808](https://news.ycombinator.com/item?id=7730808)

------
dlecorfec
Damn game, because of it we are forced to use "golang" in search engines.

~~~
raverbashing
Darn those who call their languages something ungoogleable by itself (yes R
I'm talking about you)

Anything bigger than 2 letters and having a name that's not a (very) common
word should be fine.

~~~
datashaman
[https://www.google.com/#q=R](https://www.google.com/#q=R)

R you sure about that?

~~~
raverbashing
The bubble may be helping, but see this:

[https://duckduckgo.com/?q=go](https://duckduckgo.com/?q=go)

Also, I think there might have been some tuning by search engines/web pages (a
couple of years ago I remember it was more difficult getting a good result)

~~~
datashaman
Using an incognito window with Google results in pretty much the same results
as before.

You're right, they must have tuned something.

Interestingly, the DDG results feature a precis block where Go the game is
first and GO the language is second.

