Artificial Intelligence Bests Humans At Classic Arcade Games
sciencehabit writes The dream of an artificially intelligent computer that can study a problem and gain expertise all on its own is now reality. A system debuted today by a team of Google researchers is not clever enough to perform surgery or drive a car safely, but it did master several dozen classic arcade games, including Space Invaders and Breakout. In many cases, it surpassed the best human players without ever observing how they play.
Someone made a computer that's really good at reaction time, and at calculating trajectories.
Don't waste your vote! Vote for whoever you want, unless you live in a swing state it won't matter anyways
In other words, this is an example of good image recognition software, that's it.
Show me a game that beat a human on a strategy based game, then you have something.
excitingthingstodo.blogspot.com
Well, I outsourced my Donkey Kong playing before bots took it over, so there!
Table-ized A.I.
Wasn't the AI complaining about the ending of Mass Effect 3 pretty much the plot of Mass Effect 3?
Don't even need that. I made pong for the TI-82 instead of paying attention in calculus class in high school, my "AI" could not be beat. Because it's really easy to do things when you can precisely calculate vectors and positions... It's actually harder to have something that makes human-like mistakes.
I don't think actual breakout or space invaders would be significantly harder.
Artificial Intelligence is no match for natural stupidity.
This just in: Even in simplistic AAA games with bots, the AIs are better than human players, we have to dumb them down to keep the game fun.
First the prime challenge in the games you are talking about is lining up a crosshair with a pixel with a mouse and selecting fire.
If AI's had to do that they might have some difficulty. In practice the so-called AI bots already know where you are, and could keep their weapon lined up on your noggin through half the map without the need for line of sight. Tthey also get to target and fire at me without having to diddle around with a mouse or looking at the screen to see where I am.
Get a bot to actually play such a game with the same UI and world view I have (keyboard and mouse and what they can see on screen and hear on the speakers) and they tend to be quite abysmal.
Second, switch over to RTS games... and there the only way to give the AI any challenge is to stack the deck in its favor... whether its StarCraft or Supreme Commander or Wargame: Red Dragon. Or in a 4X game like Masters of Orion etc... we've yet to see an AI even really challenge a human being without giving it scripts to follow and extra resources to use.
This article reminds of this guy who did something similar a while back.
"Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
Damn, dude, you must be deaf, dumb, and blind.
Required reading for internet skeptics
Only if we put the heat exchanger on the Moon.
Learn to love Alaska
Seriously, you don't sound like you know what you're talking about.
Nor do you. Your AI doesn't have the same control interface as human players. An AI would never miss a stationary target unless you programmed it to or are really bad at programming. Humans do miss them. Humans have to deal with moving a mouse an exact distance. AIs don't. They simply move the exact distance required. No need to deal with mouse physics, no need to deal with running out of desk space, no need to estimate the amount of movement, etc... They don't need think which key does what then press the key, they just call the proper function. The UIs are completely different even if both have the same available actions.
If you're giving an AI millions of training iterations, you should be giving the human a similar level of training. The AIs trained on top players only learn what they've seen. They don't handle other things very well. Look at just about every released RTS game. When you play a round long enough, the AI mostly stops everything or ends up in a 96% predictable repeating pattern.
Almost no AIs work well in teams. Humans do far, far better.
I'm a RTS AI researcher. It sounds like you do something similar, so you should know that much "advanced academic AI" is also poor. Most papers restrict their game environments so far that their results are almost meaningless. Sure they can calculate optimal attack orders for a 6x6 battle, but there's not enough CPU or memory left to do anything else.
Your AI sounds like a normal case-based, reinforcement leaning AI that trains against itself. What game/paper is it?
The best entries, however, didn't rely on AI, but on the fact that the RNG of the arcade game isn't random. Once the Asteroids-bot figured out the internal state of the RNG, it could basically use hyperspace to make targetted jumps (and never one that lead to the destruction of the ship), shoot at asteroids that haven't appeared yet and various other tricks. It was very impressive to watch one of these bots in action.
When Id released Quake C, this "you have to dumb down the AI" idea became very apparent. Someone wrote a replacement AI for the enemies that allowed them to learn and communicate. They had to follow the rules and physics of the game - so if they were within earshot they could communicate your position to each other, otherwise they couldn't.
The first couple of interactions would be pretty easy kills. Then one enemy would see that you were better armed and run away. That would be the last enemy you would see for a while. Then, when you were in a vulnerable position, the entire population of the level would ambush you in a coordinated attack. Game over. They were way, way, way too smart to be beaten. It was pretty fun to explore their learning capabilities and watch how they would win. But it didn't make for engaging gameplay, unless you are a complete masochist.
The same AI was applied to deathmatch player bots. They had no prior knowledge of the level, or strategies for playing the game. The first few kills were very easy as they figured out what to do. But as they learned your tendencies, they would very quickly evolve into a circle-strafe master. They also learned the map layout pretty quickly, including drop sites and periods for weapons and health. They would then time their circle-strafe to always be on the spawn site immediately as the health or ammo spawned. They would invariably win against even the best human players by monopolizing all of the supplies and winning a war of attrition. Very impressive to watch.
This "AI" program was very rudimentary, and it was already much too difficult for human players, despite being limited to the same "in game" knowledge and input capabilities as the human players. It makes perfect sense that the challenge and complexity of programming the AI for games mostly revolves around "dumbing down" the AI in a way that makes the enemies challenging and interesting, but also the right amount of "beatable".
The same AI was applied to deathmatch player bots. They had no prior knowledge of the level, or strategies for playing the game. The first few kills were very easy as they figured out what to do. But as they learned your tendencies, they would very quickly evolve into a circle-strafe master. They also learned the map layout pretty quickly, including drop sites and periods for weapons and health. They would then time their circle-strafe to always be on the spawn site immediately as the health or ammo spawned. They would invariably win against even the best human players by monopolizing all of the supplies and winning a war of attrition. Very impressive to watch.
Yes, and it gives another example of the issue. The AI has access to a perfect clock, and perfect spatial awareness, and has perfect control over its movement, sees everything in its field of view no matter how briefly it sees it...
It can run and jump a maze of catwalks over lava with perfect reliability - BACKWARDS. It can do all that and land on a specific set of coordinates where it knows supplies are going to respawn the millisecond it respawns, because it can time to the millisecond when it last picked it up.
It's cool, and it is devilishly hard to compete against, but its not good "AI". Its not out thinking its opponents, its merely taking full advantage of its machine attributes.
For example, In quake I might know the location and approximate respawn time of the quad damage. I would certainly plan my route to be in the area when I was expecting it to respawn... or perhaps plan to have a sight line to it to pick off someone else making a run at it. I have a rough idea how long it takes me to get from where I am to the Quad damage spawn point from various places on the map.
A better player than me, will have smaller error bars on all of those things. A top player smaller still. But the "AI" it has perfection. It's not coming up with a BETTER strategy than me, its simply perfect at executing the same strategy because it can run the level backwards, and end up precisely where it wants to end up precisely when it needs to.
Making the AI human-like; imparts the same reaction times, the same imprecise lossy recollection of the map (I can run some maps backwards, but its usually at least a little bit of steer-by-wall... so if its catwalks over lava or freeform jump pads on a quake 3 open level I can't do that without looking. I can maintain approximate respawn cycles for a number of spawn points, and calculate approximate lenghts of time to get from point A to B... but not for every spawn point in the level, and not to within a millisecond,
Restricting the AI to human ability is not "dumbing it down" that's just putting us both on equal footing. Go ahead and make the AI as good as it can possibly be under all those constraints...if its truly a better than human AI it will come up with better strategies given those constraints.
Because I can come up with the strategy of run and jump backwards, never miss with the rail gun, and pick up the quad damage the instant it spawns; I just can't execute on that strategy with machine precision because I'm not a machine.
That echos my point, somewhat. It is pretty easy to design an AI for a lot of video games that can beat a human (without cheating). The AI code from Quake was only a couple of pages. Whether you use the moniker "constraints" or call it "dumbing down", it would take a lot more code to give the AI more human-like abilities. Probably several times as much code.
The same goes for the enemies. The code that gave them a degree of autonomy and communication was pretty small, but it made them unstoppable because they would just run away and warn all the other enemies and come attack en mass and from cover. It wasn't sophisticated AI at all. Making an AI that was competitive with humans required a lot more coding, restricting the capabilities of the enemies. It is odd that the hard part about making a game AI would be making an AI that isn't too competetive, but that's where we are.
As to your other point, making a machine think like a human strategically is probably much more difficult. But here's the philosophical question: does the motivation behind someone's actions really matter, or is what they actually do the only thing that actually counts? If the computer is unbeatable because it is just that much faster than you does it really make for a difference in gameplay as compared to a computer that is unbeatable because it truly understands better than you and always initiates a better strategy? Sure, one might be a lot more exciting from a programming point of view, but either way you still got beat by the computer.
That echos my point, somewhat. It is pretty easy to design an AI for a lot of video games that can beat a human (without cheating).
Yes, albeit, for a slightly strained definition of "without cheating" :)
Whether you use the moniker "constraints" or call it "dumbing down",
I think the distinction is important. Dumbing it down would be deliberately sabotaging its ability to make good decisions. The constraints certainly have the same effect, but we aren't sabotaging the decision making itself, but merely restricting the information it actually has to work with access to human levels.
No perfect clock. No perfect positioning. etc.
It is odd that the hard part about making a game AI would be making an AI that isn't too competetive, but that's where we are.
Not really. It's just that we've devised a game that's difficult and interesting for humans, but is very easy and trivial for the bot; especially given that by default it has world state information we just don't have. (It knows what time it is, what its x/y/z is.
It can:
advance 4 units at 1 unit per second,
turn 28.5 degrees at 5 degrees per second
retreat 12 units at 11 units per second
turn 19 degrees a 11.4 degrees per second
advance 72 units at 15 units per second
can be arbitrarily long, is trivial for the bot to execute, doesn't require any sensory input/feedback, and can be replayed backwards.
I can't do that. No human can. We aren't that precise. We maintain position and navigate only approximately with constant correction from sensory input. And if I'm playing a game where perfect navigation is demonstrably a very valuable skill then I can't compete with a bot that is allowed to do that. (And my performance against bots drops considerably on open or lava catwalk Quake 3 maps vs closed tunnels maps due to their inhuman ability to navigate exactly where they wish to go whether they are looking where they are going or not...)
That's not "advanced AI"; that's "giving it rudimentary AI paired with superhuman ability". That's not much fun.
But here's the philosophical question: does the motivation behind someone's actions really matter, or is what they actually do the only thing that actually counts?
No it doesn't matter if they do the same thing. But they don't do the same thing. The current process of tweaking the AI's super human abilities and tossing a wrench into their decision making so its not always the optimal choice etc to make them appear more human like vs actually being human-like in response to human constraints does not result in them doing the same thing.
Instead of being truly human like. They end up acting like superhumans with narcolepsy... brilliantly efficient but occasionally they just fall asleep; and worse they usually can be relied upon to fall asleep at the wheel in a given set of circumstances that can be manufactured by the opponent (aka exploited)
For example, in RTS with harvestors a human player might trap a bunch of the AI's harvestors -- a human opponent would not be fooled once he saw what happened, and he'd build more, and suicide/free/destroy the trapped units. But the AI? The average AI will just starve, because it hasn't been programmed to recognize that scenario or how to respond when it happens. It has enough harvestors, so it won't build more... it has sent them orders to harvest...and they aren't under attack... so mission accomplished. Resources will arrive soon.... any minute now... still waiting... oh my base is under attack... hope those resources show up soon... man where are my resources... shit I lost.
All manner of path finding exploits are common in RTS games. Getting his units to stumble over themselves and get in their own way. Funnelling them into kill zones. Etc.