riadsala

The inevitable happened: AI can now play Go

Recommended Posts

The tech may be really impressive, but to me it just feels like a fancier chessbot.

 

That's my point. Go is the kind of game that machines should be better at

 

You do understand that what you said would be completely ridiculous if it weren't for this news we are discussing?  And you are putting the significance of this AI development down at the same time???

 

This AlphaGo is in different league from traditional chessbots that just memorized all possible game alterations or bunch of complex search trees that we see in cutting edge video games.  Sure it's still far cry from a complete intelligence, but this kind of tech is closest we ever gotten to small aspect of intelligence and here we see it besting human mind, albeit in extremely narrow field but still.

 

Let's make this clear.  AlphaGo discovered strategies for Go that it's creators didn't know, and if it beats Lee Sedol this March, it's arguable that it uses strategies that no humans ever thought of.  Chessbots are so primitive compared to this because chessbots are more akin to recordings of all chess history.  But AlphaGo made something its creators didn't know.

Share this post


Link to post
Share on other sites

Let's make this clear.  AlphaGo discovered strategies for Go that it's creators didn't know, and if it beats Lee Sedol this March, it's arguable that it uses strategies that no humans ever thought of.  Chessbots are so primitive compared to this because chessbots are more akin to recordings of all chess history.  But AlphaGo made something its creators didn't know.

It used 30 million recorded human moves and then played itself a bunch to create new moves. I don't mean to denigrate the tech, I just don't find Go to be a good example of what this new tech is good for. Watson winning Jeopardy was IMO a lot more impressive because it had to use human language. This doesn't mean Watsons tech was better, just that its accomplishment seemed greater.

There is a lot of overexcited science reporting these days, a possible ninth planet, maybe exists, a new biggest prime that is pretty useless until we find bigger ones. 

Share this post


Link to post
Share on other sites

It used 30 million recorded human moves and then played itself a bunch to create new moves. I don't mean to denigrate the tech, I just don't find Go to be a good example of what this new tech is good for. Watson winning Jeopardy was IMO a lot more impressive because it had to use human language. This doesn't mean Watsons tech was better, just that its accomplishment seemed greater.

 

And that is a mere fraction of all possible moves in Go.  As for the latter... what...?

 

Edit: more precisely, recorded moves are something like 3 / 20816819938197998469947863334486277028652245388453054842563945682092741961273801537852564845169851964390725991601562812854608988831442712971531931755773662039724706

Share this post


Link to post
Share on other sites

And that is a mere fraction of all possible moves in Go.  As for the latter... what...?

 

Edit: more precisely, recorded moves are something like 3 / 20816819938197998469947863334486277028652245388453054842563945682092741961273801537852564845169851964390725991601562812854608988831442712971531931755773662039724706

AI has been beating humans at board games for a while now. I get that there is a history of using it as a tech demo, but surely if this tech is as impressive as it seems, it can do something far more interesting that winning another more complex board game.

Share this post


Link to post
Share on other sites

Not really. If you think about how the new Go AIs work, they use monte-carlo tree search algorithm, which has randomness built in, as it is impossible to read out every possibly move. So when the AI "thinks" about a move, it then randomly simulates loads of possible games from that point (and this is often done in a pretty crude manner) and concludes that it wins xx% of the games if it plays that move. It then does this for other moves, and then picks the move that gives it the best odds for winning. [i'm simplifying a lot, but this is the general gist as I understand it]. So fundamentally, there is no difficulty in adding in stochastic elements such as dice rolls and card packs. At all. I actually believe that this would make it easier to match human performance, as people are so bad at dealing with probabilities and rational decision making [and we're talking AI for consumer games here - it doesn't have to be able to beat the world champion, it just needs to be good enough to give a good game to most people without cheating]. If you'd like, I'd be happy to share some of my research on human decision making and how people fail at even the simplest choices when probability comes into the mix. Or, if you've heard of the Monty Hall Problem, you'll have the right idea.

Anyway, lets not argue past each other any more. We can agree to disagree.

If anybody is interested in learning go, a good place to start is here. Then after that, you can play at OGS (easier to use, but new and small community), KGS (java, but probably the main western online community?) or Tygem (crazy big, and where a lot of chinese, korean and japanese players play. Maybe not a good place for a new western player to start!)

 

I actually found "The Path of Go" on Xbox 360 Arcade to be a pretty good basic trainer. The AI isn't necessarily great, but it was good enough to beat me at least. Plus some good chess-playbook-type lessons. 

Share this post


Link to post
Share on other sites

It used 30 million recorded human moves and then played itself a bunch to create new moves. I don't mean to denigrate the tech, I just don't find Go to be a good example of what this new tech is good for. Watson winning Jeopardy was IMO a lot more impressive because it had to use human language. This doesn't mean Watsons tech was better, just that its accomplishment seemed greater.

 

See I understand, kinda, your lack of enthusiasm for a computer being good at Go. But your counter examples I don't understand. Human language processing seems magical but (as you admit) it's so much simpler a problem than playing Go (and then, of course, looking up answers in a database is trivial).

 

Is what makes artificial intelligence "impressive" mostly to do with its immediate applicability to becoming more human-like? If so, I still think the Go thing is a more substantial step in that direction... picking a move in Go is achieved through attempts at emulating how a human thinks about playing Go (because comprehensive possibility trees are impossible), while NLP can be boiled down to recording a long list of situational rules and applying them over and over. Both are pretty narrow aspects of "humanity", but the former is a lot more complicated and (until recently) elusive.

Share this post


Link to post
Share on other sites

AI has been beating humans at board games for a while now.

Those board games were vastly less complex. The ability to navigate an essentially unmappable possibility space (as reality is as well) in a fruitful is one of the prerequisites for true AI.

Share this post


Link to post
Share on other sites

See I understand, kinda, your lack of enthusiasm for a computer being good at Go. But your counter examples I don't understand. Human language processing seems magical but (as you admit) it's so much simpler a problem than playing Go (and then, of course, looking up answers in a database is trivial).

 

Is what makes artificial intelligence "impressive" mostly to do with its immediate applicability to becoming more human-like? If so, I still think the Go thing is a more substantial step in that direction... picking a move in Go is achieved through attempts at emulating how a human thinks about playing Go (because comprehensive possibility trees are impossible), while NLP can be boiled down to recording a long list of situational rules and applying them over and over. Both are pretty narrow aspects of "humanity", but the former is a lot more complicated and (until recently) elusive.

 

 

You sound like you know what you're taking about.

 

Watson winning Jeopardy is, IMO, way less an impressive feat than this. I read somewhere (sorry for not having the citation) that most of the Jeopardy answers are available straight from wikipedia. NLP isn't all that hard these days (sure, it's not a solved problem, but it works reasonably well a reasonable amount of the time).

 

if anybody is interested, there is some commentary from a 9dan pro on the alphaGo games here: https://www.youtube.com/watch?v=NHRHUHW6HQE.

Share this post


Link to post
Share on other sites

Also, I suspect making an algorithm that played more like an amateur Go player would be reasonably trivial now. Instead of training on pro games, you train on the millions of kyu game records on KGS, Tygem, etc. then simply restrict the number of possibilities investigated during tree search. I suspect that would lead to an AI that plays the same hopelessly optimistic mistakes that I (and many others) make from time to time. You could also go further and simply add in an "imaginary penalty" when scoring so the AI over-emphasis capturing its opponents stones and not losing its own stones.

 

And, if we can get back to my original point about computer game AI... we don't need a Civ AI that can beat the best civ player in the world. there would be little point in making such a thing. But an AI who can match most players without cheating would be great. So we're looking at something around Prince/King level in Civ right (I have no idea what most Civ-fans play on, but I'm pretty sure that most strategy fans would be able to beat civ on normal after perhaps one practise game?).

 

And you can easily mess with the heuristics to give the AI different personality (as I suggested above).... the heuristic they're trying to maximise doesn't need to be the victory condition. Perhaps you set the aggresive faction up so that it doesn't care about winning, it simply wants to maximise the number of enemy units it can kill over the whole course of the game. (this is just a daft example, as clearly this would lead to an AI that would avoid winning the  game at all cost, as once the game has been won, it can't kill enemy units anymore!). but you get the idea right.

Share this post


Link to post
Share on other sites

Games like checkers, chess, go etc are pretty solvable for AI.

 

Go has been insurmountable until recently for computers because the traditional approach to solving such games (directed graphs) don't work because Go has too many possible moves from any given game state. So AI for Go sucked until about 5 years ago when someone made a breakthrough, and that approach has been improving rapidly since then. Personally, I think this is really great because I love Go, but AI opponents have been terrible until recently. Less than 10 years ago it was possible to break the best Go AI by doing things that would be suicide in a normal game, like drawing a line of stones across the middle of the board. Now I can play a solo game on my phone and the AI is good enough that my game actually improves from the experience. It's awesome.

Share this post


Link to post
Share on other sites

a problem can be extremely difficulty and relatively easy at the same time

 

if a computer could play checkers in the 80s, chess in the 90s, and go in the 2010s, maybe it can finally play RTS games in 2050 and 4X games by 2100 :)

Share this post


Link to post
Share on other sites

I was talking with some comp sci friends about this topic tonight and asked the one question I still had. Why did none of the articles mention practical applications of this? Apparently all the tech used already existed and was already in use in other deep learning applications. Maybe that is why I found this development underwhelming, it isn't a technical advance, its using per-existing tech in a new way to solve a very specific problem.

Share this post


Link to post
Share on other sites

You'd be surprised how many "advancements" are actually just clever new applications of existing tech.  The achievement isn't necessarily in creating some crazy new tech, it can also be realizing how to use existing stuff in a different way.  What solving GO really boils down to is learning how to navigate an insanely large possibility space in a reasonable amount of time.  With some tweaks, the same method could probably be used to solve a myriad of other problems in the same manner.

Share this post


Link to post
Share on other sites

Something that was thought to be impossible for decades to come was achieved and it's not impressive because nothing's impressive. How quaint.

Share this post


Link to post
Share on other sites

Something that was thought to be impossible for decades to come was achieved and it's not impressive because nothing's impressive. How quaint.

 

Well said.

 

Yes - a lot of AlphaGo's strength comes from cNNs, which have already revolutionized computer vision. That doesn't stop it being an incredible demonstration of how quickly the AI field is developing, and how generalisable a lot of the tech is.

 

A friend made a video here outlining how some of the systems work:

Share this post


Link to post
Share on other sites

I've never been able to properly learn Go. The terrible AI that already existed could beat me :(

This is cool though. It's exciting to see AI approach problems in a more holistic way rather than brute forcing the problem.

Share this post


Link to post
Share on other sites

I've never been able to properly learn Go. The terrible AI that already existed could beat me :(

 

If you beat the AI you wouldn't learn anything. That the AI is actually good now means that you can try different things and see how it responds. For learning though, I'd pick up a program like SmartGo, work through problems, and play 9x9 games with the AI. The problems in SmartGo are ranked by difficulty and I think do a good job of teaching basics all the way up to a competitive level. It doesn't even burn up the CPU any more trying to come up with a good response for a move either, so if you're using a battery-powered device you'll get hours of play time in. Heck, I have it on my phone.

Share this post


Link to post
Share on other sites

If you beat the AI you wouldn't learn anything. That the AI is actually good now means that you can try different things and see how it responds. For learning though, I'd pick up a program like SmartGo, work through problems, and play 9x9 games with the AI. The problems in SmartGo are ranked by difficulty and I think do a good job of teaching basics all the way up to a competitive level. It doesn't even burn up the CPU any more trying to come up with a good response for a move either, so if you're using a battery-powered device you'll get hours of play time in. Heck, I have it on my phone.

 

 

Better yet, just play against other real people. And ask stronger players to review your games.

Share this post


Link to post
Share on other sites

That's definitely preferable, though it can be intimidating to go ask for matches against humans.

 

 

I can be, but it shouldn't be, and there's no (external) reason for it to be. So the sooner you get over it, the better.

 

How about, I start: I'm more than happy to play correspondence games (ie, a couple of moves a day) games with anybody who asks. We can play either handicap games, or a teaching game (where I'll comment on your moves after you play them). I can also help tell you about servers, how to enter your rank, and find other beginners to play against.

Share this post


Link to post
Share on other sites

That AI training video mentioned this:

 

https://www.gokgs.com

 

 

yup. that's the main western server, and where I mainly play (tygem is where a lot of the Japanese/Chinese/Korean players play, but I wouldn't recommend a new player it to a new player). KGS is pretty good, fantastic community, but aging and slightly crap java interface.

 

OGS has a much better web interface, but is quite new and the community is nowhere near as large. But it does offer correspondence games, so I play the odd game there. And DGS is another super simple correspondence site which I've used for years.

 

If you want to learn the basics, then this site is useful.

 

And there's a very good old proverb for new players: lose your first 100 games as quickly as possible. ie, don't worry too much about playing well, or winning. Just play. You'll start to recognize patterns and whatnot automatically.

Share this post


Link to post
Share on other sites

I bought SmartGo, just to have something for on the run, and man I am bad. I knew I was bad, but not quite this bad.

Share this post


Link to post
Share on other sites

I bought SmartGo, just to have something for on the run, and man I am bad. I knew I was bad, but not quite this bad.

 

 

Don't worry about winning and losing just now. Don't even worry too much about trying to play "the best" move. Just get used to playing moves and your brain will automatically start to recognise patterns (as long as you're paying attention).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now