
Show HN: Play Go Against a Deep Neural Network - c-clark
https://chrisc36.github.io/deep-go/
======
thaumaturgy
It was OK. I'm only about 6k, and I slaughtered it pretty badly (32 for black
to -47 for white), but it did a respectable job of playing fuseki and there
was an exciting semeai that pretty well decided the game.

It filled in some of its own territory to capture a dead group I had in a
corner. It's particularly vulnerable to trick moves -- I was able to set up
some pretty horrifying ripoffs by throwing a stone in to make a cut and reduce
a liberty, which it ignored, and then I could capture from the other side.

It plays joseki reasonably well and does pretty OK with shape. I think if
there were a way to train it against tsumego it would get a lot stronger.

It would be kinda neat to be able to download an sgf of the game with it.

edit: this might be fixable: it confuses snapbacks with kos; I set up a
snapback in a second game and it wouldn't let me capture the group because it
thought the situation was a ko.

edit #2: I played two more quick games, more honte this time, and it killed me
pretty badly. It's difficult to keep the game even during the opening and if I
don't set up a complicated fight then it wins by a handy margin.

~~~
iopq
it doesn't actually do any reading, it just plays moves that appear in pro
games

like for example, it will play out the ladder because a pro would play there
since the ladder doesn't work so escaping makes sense

however, if it works this loses the game

------
tasuki
It plays the opening and middle game impressively well - provided one plays
reasonable moves. I'm a 4 dan amateur player and it had me beat around move
40. Its strength deteriorates to a complete beginner fairly quickly whenever
there's a fight or a nonstandard situation.

~~~
c-clark
That's about what I would expect. The two major weaknesses of "naively"
training a Go player in this no-look-ahead purely-supervised way are:

1) The training data only consists of positions that occurred in professional
games. This means positions that are not likely to occur in that context have
no training data, making the network liable to play poorly.

2) The lack of any kind of planning ahead means situations that require
carefully working out future sequences of moves are not handled well.

However, even in those difficult situations the network is still usually able
to play passably showing that there is at least some generalization.

~~~
NhanH
This is quite exciting. I'd imagine combining the supervised version with the
usual Monte Carlo search would result in a huge jump in strength, and that
doesn't seem too difficult of a task to do. Normally the Monte Carlo bot has a
strong fighting ability, but about 0 knowledge of fuseki. This one seems to
have mid-high level dan in fuseki, and yet if you get a ladder, you win the
game.

------
cjbprime
Interesting! Other people seem to think it plays the opening well, but it
didn't seem that way to me. Consider this position:

[http://chris.printf.net/deepgo.png](http://chris.printf.net/deepgo.png)

Every corner shows a joseki, so there's been no non-standard play. But
globally, white (the computer) seems to me to have blundered by allowing the
combination of the lower-right and top-right joseki and N10.

Would be curious to hear if stronger players than me (~1d) agree. Maybe it's
actually just much better than me!

~~~
iopq
I'm 3k, but it doesn't seem that white is behind in this game because white
has komi and gets to move now

------
AaronBBrown
I am brand new to Go am trying to learn it together with my bright, but young
(6 year old) son. Can anyone recommend some good introductory resources for to
better learn the basic concepts and scoring? While general gameplay seems
relatively straight-forward, I've found there seem to be a variety of rules
and I don't understand the algorithm for scoring and determining the winner.

~~~
JeffL
Check out Sensei's Library Go wiki, Nick Sibicky on YouTube, and Janice Kim's
"Learn to Play Go" series of books, IMO.

Also, the "Hikaro no Go" anime series is absolutely wonderful, and that takes
Hikaro from a young and completely new to Go kid through to being a
professional, with short instructional videos for kids after each episode.

~~~
fiatjaf
Nick Sibicky seems great. Thank you.

------
panic
There doesn't seem to be a way to pass. How do you end the game?

As a very bad Go player, the bot managed to be even worse than me in several
key engagements, giving me territory I had no right to capture. It still beat
me by a little bit, though (I think -- the game never actually ended!) I
wonder if complementing the NN with a more traditional tree search would help
it play better tactically.

EDIT: Also, your paper link is broken for me: replacing [https://](https://)
with [http://](http://) makes it work.

~~~
c-clark
Thanks for catching that, I fixed the link.

The network itself has no capability to pass its turn, which is a consequence
of the fact it was only trained to predict player moves, not passes (we
thought trying to learn when to pass would be difficult and a complication
best avoided). So essentially you have to play until it seems clear to you the
position is won or lost. If you played on indefinitely the DCNN would start
playing terrible/suicidal moves rather then passing, so you could beat in the
long run.

~~~
w0bb13
But it doesn't seem possible on the web link for the player to pass and then
see the score?

~~~
kqr
No, you'll have to estimate or count manually, as it stands. An "end game now"
button sounds like a reasonable fix, though.

------
kyubic
This is cool, but it seems to think snapbacks are not allowed:
[http://i.imgur.com/HdOOpIr.png](http://i.imgur.com/HdOOpIr.png)

------
zorf
Didn't have time to play a full game, but it played quite well. As usual with
AIs, it made some strange decisions in life and death situations and ko-
fights.

~~~
tgb
Agreed, I was impressed with it! It killed me on the big picture stuff (I'm
not very good) but let me win a lot of life-and-death spots where I had no
right to survive. But still, it did much better than I was expecting.

The "show analysis" button seemed to suggest a lot of poor moves for me, which
surprised me given how the AI didn't actually seem to do anything like that
(such as playing into an eye with no chance to win).

------
fiatjaf
While other commenters only came here to say "I am a bad player, but I won" I
want to say I have lost.

The bot was better than me in the sense that he knew exactly the best thing to
do in "standard" situations and I don't. In a sense he looks more experienced
and studied than me. But he did some stupid moves in some other situations in
which he had to think more as a human, I imagine.

------
Tinyyy
Sometimes it says ‘Illegal move: Suicide is not allowed!’ after I play
(black), then it passes my white control to me. Is this intended or bug?

~~~
w0bb13
Ditto to me. Seems strange - maybe white tried suicide?

------
meekohi
Has a decent concept of high-level strategy, but performs very poorly
tactically. It makes predictable mistakes that look like what a player might
do by "knee-jerk reaction" without considering the entire board state.
Certainly the estimate of 4-5 kyu in the paper is ridiculous. Maybe 15kyu?

------
mathgenius
This is fun. My game is quite rusty. Love playing fast. Training that neural
net in my skull. This was how I originally learned the basics some 20 years
ago: by playing & undoing against an AI. It's a low-stress way to get into the
groove.

------
programd
Can somebody run the obvious experiment and make it play against another
instance of itself?

------
chillydawg
[http://www.computer-go.info/](http://www.computer-go.info/) has lots of info
on other bots and is run by Nick Wedd who is an admin on KGS and is involved
in running computer go tournaments. You can play vs lots of different bots
(some of which are virtually guaranteed to beat you, but not quite...) on KGS.

------
mark_l_watson
Nice job. I started a similar for-fun project a few weeks ago, but progress
has been slow and I am using a small board. Really nice!

------
serichsen
There seems to be a problem with ko: it alerts that retaking is forbidden even
though the board has changed. Afterwards, play seems to be ended.

------
cjbprime
Any chance of a source code release for the trainer?

