RubyConf 2015

Ganando en el juego del Go gracias al azar

Tobias Pfeiffer  · 
go

Presentación

Vídeo

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

(lively music) - Yeah. Thanks everyone for showing up. Year is 1997, the computer of IBM Deep Blue beats Garry Kasparov under tournament conditions, in I think a six or seven game series. This is the first time ever that a computer has won against the premier human player, and Garry Kasparov is considered to be one of the best players of all time in chess.

At around the same time, in computer Go we have the tournament from 1985 to 2000 which was called the World Cup with a total prize of a million dollars if someone would be able to beat 10 to 14 year-old Chinese children that were Go protégées in an even game.

So it was not for the like of trying. But in the same year, 1997, there was this tournament and the winner of the tournament plays against these Chinese so-called (mumbles). And the program won but by a huge handicap of, for those of you who did know Go, I think 11 handicaps stones which is pretty much the difference of a very amateur player and maybe an intermediate player, so to say.

So let's dig a bit more into the current history, in the more recent history of computer Go, and also why is Go so hard to master as compared to chess, why are we so much behind. This doesn't work. Okay. Year of 2001, an anime by the name of "Hikaru no Go" is launched in Japan revitalizing Go and making it more popular among the youth.

It has been going downhill in Japan for some time before that. But overall it's very popular in eastern Asia, so there are professional players that get paid to play. You can watch it on TV and everything. Year is 2009, Google invents a language called "Go" saying, "Oh there's a game that's like, "what, 4,300 years old.

"Oh we're just going to name it, "steam roll right over that old board game. " And of course there's also another programming language by the name of (mumbles) over that because, "What the hell? "We're Google. "We can do whatever we want. " Year 2014, on the right you see Remi Coulom, he's the programmer of a program called "Crazy Stone" and it's one of the two strongest programs that we have in Go, and he plays against a professional that's called Yoda, he's a 9th-dan professional player.

And Crazy Stone won of a handicap of 4 stones, which is a lot less than the other handicap but it's still a real big difference in playing strength. For the 1st of October 2015, in the Codecentric Go Challenge between the program Zen, which is one of the two most strongest programs, played in an even game against one of the strongest amateur of the world Franz-Josef Dickhut, a German 5-dan player.

The human prevailed in a best of five series feature one. This is the last move played in that series. Third in November 2015, Facebook publishes a black post that's like, "We're doing all this cool " machine learning stuff. "And by the way we wrote to Go engine.

"It's awesome and we don't really tell you "what we're doing exactly but pattern recognition. " And their CTO did not answer my Facebook message about what they're really doing, quite to my surprise. But we're going to get a bit into that and how strong that engine really is for all that we know.

13th of November 2015, this site (mumbles) it says "Play Go Against a Deep Neural Network", and we'll also have a look what's up with that, what's the science behind this. We're going to look at a lot of stuff that is in scientific papers. But don't be afraid, it's all cool.

And if you don't know Go, all cool. We're going to go over the basics of Go shortly. So this talk is "Beating Go Thanks To The Power of Randomness". Hi I'm Tobi. You can find me on Twitter, GitHub and everywhere else as PragTob. I'm out of Berlin all the way here.

I organized the Ruby User Group Berlin in Berlin, the React User Group in Berlin. I'm (mumbles) at Go which I do often. I do shoes. Who knows shoes? Like, "That's me!" Amazing stuff. Yeah. And we've got that great company called "bitcrowd" which is an agency.

So we help startups build things. It's lots of fun to work there. Right now we're actually hiring. So if you want to relocate to Berlin, one of the best cities, just say. And they paid for me to go here, so pretty great. So some of you might be concerned about my t-shirt because it's like, "Oh God, it's Yoda.

" Like, "Would Yoda allow him to wear the t-shirt of Yoda?" "Is that physically okay for him?" I can tell you, there's a saying that Superman wears like a Chuck Norris t-shirt. So Yoda obviously wears a Tobi t-shirt, so we're buddies. We made that out. So I think cool there.

So continuing with the basics of Go. And Go was played on a board with lines, intersections and the normal size is a 19 by 19 board, then we also have 13 by 13 and 9 by 9. Normal professional games played on the 19 by 19 board, but the 9 by 9 board is also still relevantly interesting.

So how does Go go? We start playing move like Start and we play on intersections. So that is now black move, then white moves, black, white, and whoa, too far, sorry. That's the basic thing. So taking further from that, a stone is so-called "liberties". Those are the adjacent cutting points.

They are empty, so this stone has four liberties. If you play another stone they form a group together and they have six liberties. When white plays next to the black stone both of the stones have free liberties because they take one liberty away from each other.

So if white continues to play, now I have two liberties and in the end three liberties. And now we're in a stage which is called "Atari". And Atari's company name was really chosen by that name of that Go term. And the term means "before capture", sort of.

So if white plays another move that removes the last liberty from the black stone and that means the black stone is captured and taken off the board and count as a point for white. Of course, black isn't stupid. Black knows how to play and can stretch out so now black has free liberties again and it's all good.

So I taught you right now that there is a point which white gains from the capture. So how do you win in the game of Go? The game of Go is basically about getting more territory than your opponent. You try to encircle territory and claim it for yourself. A territory is then one point of these intersections and in the end it is counted who made more territory.

So it's basically a game of dividing and trying to get more of the cake than my enemy does. So in this example, we would have encircled one point so that would be one point for black. If we go further, white could now encircle black. And now black is at one liberty so we know what's probably going to happen.

White can capture, thereby making eight captures so eight points. And of course this now also counts as white territory, so it's going to be eight points of territory so 16 points made in total which is pretty much a lot on a 9 by 9 board. Is it an endless game of capture and recapture? No, because there's also something in the state that a group is alive, so we say.

And this is a typical group that is alive. It has two eyes, which means we have two points of territory here. And white can simultaneously occupy both of those liberties because if white will play in there it would be immediately recaptured so these are called suicide move which is forbidden under Japanese rules but not under Chinese rules.

So this group cannot be captured and in the end all of them are alive. So what does the game look like in the end? This is the end position of a game played between a professional player and one of the strongest Go engine. I think it was Zen, but I'm not quite sure.

So how do we count that? Well, we remove the so-called "dead" stones that have no chance to live and then count the territory. This game was drawn. And if you see now it doesn't look like a draw, like black has way more points. Why was the game a draw? Well, there's a concept called "komi" and which is a set of bonus points that white gets because black makes the first move.

And so this game was a draw. But what does a real game look like on the 19 by 19 board? This is the first game between Franz-Josef Dickhut and Zen this year. And you usually start to occupy the corners first. And we can go through the full game so I'll fast forward.

So we can sort of see how the game starts forming here. Black claims sort of the lower right corner and the upper right corner. And there's also something very, like for me, interesting going on that you cannot see the immediate value of in the lower left corner.

[ ... ]

Nota: se han omitido las otras 4.097 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.