riadsala

The inevitable happened: AI can now play Go

Recommended Posts

I'm guessing most people have already seen this in the news.

 

http://www.deepmind.com/alpha-go.html

 

A little sad to see the human brain lose to the machine, but i've done enough with in computer science to know that it was only a matter of time.

 

The good news for us is that there's now no excuse for crap AI in strategy games :P Making it "fun" to play against is another challenge,, but at least the days of terrible AI in Civ, TW, etc, should (should) be numbered.

Share this post


Link to post
Share on other sites

Games like checkers, chess, go etc are pretty solvable for AI. I will get a lot more worried when AI can beat champions at games that have a lot of chance involved. Being able to build a winning strategy out of a bad set of rolls or draws is much more impressive/terrifying. Daft Souls latest episode had a good discussion about how AI in 4X don't hold grudges or really think long term. You can declare war on them over and over, betray them, steal from them, but if an alliance looks good to them in the short term they will make it again.

Share this post


Link to post
Share on other sites

Games like checkers, chess, go etc are pretty solvable for AI. I will get a lot more worried when AI can beat champions at games that have a lot of chance involved. Being able to build a winning strategy out of a bad set of rolls or draws is much more impressive/terrifying. Daft Souls latest episode had a good discussion about how AI in 4X don't hold grudges or really think long term. You can declare war on them over and over, betray them, steal from them, but if an alliance looks good to them in the short term they will make it again.

 

 

Trust me, computers are better than people at dealing with probability. I am speaking professionally as a Post Doctoral Research Fellow in Psychology. People are really bad at dealing with probabilities. Really really bad. And even worse at rational decision making when chance is involved. 

Share this post


Link to post
Share on other sites

Yeah, and to add to that: comparing 4X game AI (usually a set of if-then-else decisions written by a human) to a machine-learning system that has actually trained to win entire games of go (instead of losing entertainingly to a human player) is not exactly correct.

I've also read exactly that kind of post when Deep Blue won but with Go as the "I'll worry when X happens" bit by the way.

Share this post


Link to post
Share on other sites

Yeah, and to add to that: comparing 4X game AI (usually a set of if-then-else decisions written by a human) to a machine-learning system that has actually trained to win entire games of go (instead of losing entertainingly to a human player) is not exactly correct.

I've also read exactly that kind of post when Deep Blue won but with Go as the "I'll worry when X happens" bit by the way.

 

 

But the machine learning system is very general. it's based on cNNs which were developed for object recognition in computer vision. I think this is a really good step forward. 

 

And, people are already doing some cool ML work with games (there's an AI for natural language processing that can play CivII reasonably well based on reading the manual. Which I think is very cool. And there's some cool work being done on Starcarft1. Exciting times. the only downside is that a lot of the experts in the field are being snapped up by Google, Apple, Microsoft, Facebook, so it will be hard for the much smaller game developers to recruit people with the know-how (not to mention university departments which are finding it hard to hang on to their best staff in these fields). So it's a question of whether these companies decide it's worth cracking more computer game AI projects for the free publicity. As, you know, there's a lot more money to be made with self driving cars and image understanding.

 

Did you read about Deepminds previous project, learning to play old console games just through trial and error?

 

but like I said, the trickier part will be making FUN AI.

Share this post


Link to post
Share on other sites

I think there is a major difference in complexity between reacting to another players moves and reacting to their moves, what random card you drew/roll you got and what the did along with what they maybe drew or will roll.

Share this post


Link to post
Share on other sites

I think there is a major difference in complexity between reacting to another players moves and reacting to their moves, what random card you drew/roll you got and what the did along with what they maybe drew or will roll.

 

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!)

Share this post


Link to post
Share on other sites

I think there is a major difference in complexity between reacting to another players moves and reacting to their moves, what random card you drew/roll you got and what the did along with what they maybe drew or will roll.

I disagree, for pretty much the reasons riadsala stated. The possibility space is not altered by the presence of randomness.

Share this post


Link to post
Share on other sites

I disagree, for pretty much the reasons riadsala stated. The possibility space is not altered by the presence of randomness.

 

 

Fantastic!

 

like I said before, the difficult thing is to design a game which is fun when playing against a strong AI opponent. Civ and the ilk are games that are very much designed around the idea that the human player will win - the AI is there simply to through up some interesting challenges.

 

With Go, I don't think I would enjoy playing a bot, as simply losing is no fun (although learning from stronger players is great). But I'm always more than happy to play against a stronger human player, as I can set myself the goal of making them think (or laugh at an unexpected move, etc).

Share this post


Link to post
Share on other sites

I'm guessing most people have already seen this in the news.

 

http://www.deepmind.com/alpha-go.html

 

A little sad to see the human brain lose to the machine, but i've done enough with in computer science to know that it was only a matter of time.

 

The good news for us is that there's now no excuse for crap AI in strategy games :P Making it "fun" to play against is another challenge,, but at least the days of terrible AI in Civ, TW, etc, should (should) be numbered.

 

I don't see why this means that strategy games will have better AI. The issue with AI in games like Civ isn't a technology one - the problem is time, money and labour. Deep Blue was 20 years ago and I don't think any modern games have AI that compares to that.

Share this post


Link to post
Share on other sites

I don't see why this means that strategy games will have better AI. The issue with AI in games like Civ isn't a technology one - the problem is time, money and labour. Deep Blue was 20 years ago and I don't think any modern games have AI that compares to that.

 

 

Somebody correct me if I'm wrong, but I believe that the methods used by DeepBlue were not as easy to generalise to other domains. It was a chess AI and that was that. However, the methods that behind AlphaGo are incredibly generalisable (cNNs and MCTS). You can download the caffe library for python and have a close to state-of-the-art library (it's used a lot in cutting edge academic research) for machine learning. So yes, you still need time, money and labour, and perhaps, more importantly, willpower to actually bother (see the terrible state of AI in Total War games). These tools are only going to become easier to use and interface with.

 

The way it is more likely to happen is via mods, if a developer opens up the game enough. Then I can imagine some phd students (with access to their university's computing cluster) giving it a shot as a pet project. See this for a fun example of what people have done previously.  And this was in 2011, a year or so before AlexNet blew the previous state of the art out of the waters.

 

There are plenty of people smarter than I am who believe that these recent developments will usher in a step change similar in scope and magnitude to the internet. Have a read. http://www.computervisionblog.com/2015/11/the-deep-learning-gold-rush-of-2015.html.

Another really cool application would be for procedural generation. Hand the cNN a high definition map of the whole globe, and it should be able to easily synthesis maps, globes, etc.

On a less excitable note: I am rooting for Lee Sedol in his upcoming match against AlphaGo! I'm not sure I'd place money on the result, but I may well try and watch some of it live.

Share this post


Link to post
Share on other sites

With Go, I don't think I would enjoy playing a bot, as simply losing is no fun (although learning from stronger players is great). But I'm always more than happy to play against a stronger human player, as I can set myself the goal of making them think (or laugh at an unexpected move, etc).

That is kind of what I was trying to say. This GoAI feels more incremental, they made a GoBot. The tech may be really impressive, but to me it just feels like a fancier chessbot. As opposed to making an AI that plays more like a human in a game that allows for more complex player actions. 

Share this post


Link to post
Share on other sites

That is kind of what I was trying to say. This GoAI feels more incremental, they made a GoBot. The tech may be really impressive, but to me it just feels like a fancier chessbot. As opposed to making an AI that plays more like a human in a game that allows for more complex player actions. 

 

in which case you are wrong, and misunderstood my point.

 

On the first point, a number of the top players in the world have said how surprised they are by how human AlphaGo appears to be in its play. For example, Ke Jie, the current number one player in the world has this to say:

 

Q: Can you tell from the records that AlphaGo is not a human but a computer?

 

A: No. I reviewed all five records but I didn't see the names of the two players. I had no idea which player is AI. AlphaGo plays like a human. It abandoned stones that should be abandoned, and made a concession when it is needed. AlphaGo plays in good balance and it is hard to imagine that it is a computer. Previous Go problems such as Zen, may, from time to time, make some nonsense moves. AlphaGo won't. It always plays important moves and that is strong.

Share this post


Link to post
Share on other sites

A: No. I reviewed all five records but I didn't see the names of the two players. I had no idea which player is AI. AlphaGo plays like a human. It abandoned stones that should be abandoned, and made a concession when it is needed. AlphaGo plays in good balance and it is hard to imagine that it is a computer. Previous Go problems such as Zen, may, from time to time, make some nonsense moves. AlphaGo won't. It always plays important moves and that is strong.

Again, its a very good GoAI, it doesn't make stupid mistakes. Not sure how that makes it more human as opposed to just better programmed.

Share this post


Link to post
Share on other sites

If an AI can ever be "more human", how would this be achieved if not through "better programming"?

Share this post


Link to post
Share on other sites

If an AI can ever be "more human", how would this be achieved if not through "better programming"?

Being really good at following rules and best strategy in a board game doesn't feel particularly human to me. The nonsense moves, and not abandoning at the right time actually seem more human to me, since we are prone to mistakes and doubling down on failing strategies in the hope that it will turn into a win.

Share this post


Link to post
Share on other sites

Oh ok. I didn't track where in the thread your points transitioned from "AI being good at games that involve chance and hidden information" to "AI passing a board game turing test", but I see it now.

Share this post


Link to post
Share on other sites

Being really good at following rules and best strategy in a board game doesn't feel particularly human to me. The nonsense moves, and not abandoning at the right time actually seem more human to me, since we are prone to mistakes and doubling down on failing strategies in the hope that it will turn into a win.

 

But the point of AlphaGo wasn't to create a human like AI.  The point was to create an AI capable of beating an expert human player in one of the most complex games ever created.  An expert level player isn't expected to make mistakes or commit to failing strategies.  If anything, a human player should be expected to play like a machine.

Share this post


Link to post
Share on other sites

But the point of AlphaGo wasn't to create a human like AI.  The point was to create an AI capable of beating an expert human player in one of the most complex games ever created.  An expert level player isn't expected to make mistakes or commit to failing strategies.  If anything, a human player should be expected to play like a machine.

That's my point. Go is the kind of game that machines should be better at, making machines there are the best possible machines is cool, but I don't know how it gets us closer to something we would consider truly intelligent.. I am far more interested in AI that is able to be duplicitous, to react and change strategies drastically on the fly, that is able to judge trustworthiness as a way to make and break alliances. Some sort of politicsbot perhaps.

Edit: now that I think about it making an AI that is really good at lying and scheming is probably a terrible idea. GoBots for everyone! 

Share this post


Link to post
Share on other sites

That's my point. Go is the kind of game that machines should be better at, making machines there are the best possible machines is cool, but I don't know how it gets us closer to something we would consider truly intelligent.. I am far more interested in AI that is able to be duplicitous, to react and change strategies drastically on the fly, that is able to judge trustworthiness as a way to make and break alliances. Some sort of politicsbot perhaps.

 

Edit: now that I think about it making an AI that is really good at lying and scheming is probably a terrible idea. GoBots for everyone!

 

It's the complexity involved in solving this problem that makes it an advance towards intelligence.  You make it sound as if Go is a simple problem to be solved when in reality it's much more than that.  Being able to explore the immense possibility space and come up with a winning strategy is far from trivial.  The things you describe probably require an intelligence capable of doing things similar to what AlphaGo is doing.

Share this post


Link to post
Share on other sites

It's the complexity involved in solving this problem that makes it an advance towards intelligence.  You make it sound as if Go is a simple problem to be solved when in reality it's much more than that.  Being able to explore the immense possibility space and come up with a winning strategy is far from trivial.  The things you describe probably require an intelligence capable of doing things similar to what AlphaGo is doing.

 

"The challenge lies in the nature of the game. Even the most powerful supercomputers lack the processing power to analyze the results of every possible move in any reasonable amount of time. When Deep Blue topped world chess champion Gary Kasparov in 1997, it did so with what’s called brute force. In essence, IBM’s supercomputer analyzed the outcome of every possible move, looking further ahead than any human possibly could. That’s simply not possible with Go. In chess, at any given turn, there are an average 35 possible moves. With Go—in which two players compete with polished stones on 19-by-19 grid—there are 250. And each of those 250 has another 250, and so on. As Hassabis points out, there are more possible positions on a Go board than atoms in the universe."

What this says to me is, if we had better processors Go would totally be solvable with brute force. The solution used by AlphaGo is interesting and could be broadly useful, but winning Go itself seems like an incremental move up from Deep Blue, even if the technology isn't.

"AlphaGo is a long way from real human intelligence—much less superintelligence. “This is a highly structured situation,” says Ryan Calo, an AI-focused law professor and the founder of the Tech Policy Lab at the University of Washington. “It’s not really human-level understanding.” "

http://www.wired.com/2016/01/in-a-huge-breakthrough-googles-ai-beats-a-top-player-at-the-game-of-go/

Share this post


Link to post
Share on other sites

Hmm. I understand why you aren't impressed I suppose. But technological progress is always incremental. People have spent a long, long time working on computer Go, and this is exciting because that chapter of computer science is finally coming to a climax. But you're right, this is not a sign of the technological singularity or anything.

Share this post


Link to post
Share on other sites

Cordeos, I think you're looking for more out of AlphaGo than it was designed for.  It was made to solve a specific problem and it will likely lead to other advances but no one is touting this as a human-level intelligence.  Like dium said, progress is made in steps and this is a significant one.  For an AI to do what you want it to requires the ability to explore a possibility space like that of Go.  Finding a way to do that in a reasonable amount of time is hard.  It's a piece of the puzzle, more is yet to come.

Share this post


Link to post
Share on other sites

What this says to me is, if we had better processors Go would totally be solvable with brute force. The solution used by AlphaGo is interesting and could be broadly useful, but winning Go itself seems like an incremental move up from Deep Blue, even if the technology isn't.

But that's just what's got everyone so excited - this system *is* a non-brute force solution that has *learned* to be good. It's managed to win without the hypothetical ridiculous processor and memory advances that would be required to make a brute-force go computer.

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