AI Cheats at Old Atari Games By Finding Unknown Bugs in the Code (theverge.com) 45
An anonymous reader shares a report: AI research and video games are a match made in heaven. Researchers get a ready-made virtual environment with predefined goals they can control completely, and the AI agent gets to romp around without doing any damage. Sometimes, though, they do break things. Case in point is a paper published this week by a trio of machine learning researchers from the University of Freiburg in Germany. They were exploring a particular method of teaching AI agents to navigate video games (in this case, desktop ports of old Atari titles from the 1980s) when they discovered something odd. The software they were testing discovered a bug in the port of the retro video game Q*bert that allowed it to rack up near infinite points. As the trio describe in the paper, published on pre-print server arXiv, the agent was learning how to play Q*bert when it discovered an "interesting solution." Normally, in Q*bert, players jump from cube to cube, with this action changing the platforms' colors. Change all the colors (and dispatch some enemies), and you're rewarded with points and sent to the next level. The AI found a better way, though: "First, it completes the first level and then starts to jump from platform to platform in what seems to be a random manner. For a reason unknown to us, the game does not advance to the second round but the platforms start to blink and the agent quickly gains a huge amount of points (close to 1 million for our episode time limit)."
At that time, Pointy-Haired Boss walks in: (Score:2)
"The robot will be sitting in for me when I'm on vacation."
Water (Score:2)
Water cheats at elevation level by finding cracks in rock.
Cheating (Score:4, Interesting)
For those who didn't read the reddit thread hours ago: The bug only exists in the bad port they used for the AI, not the real version.
It's not like the SMW-bug where the real deal allows you to inject arbitrary code with clever positioning.
Re: Cheating (Score:2)
Re: (Score:2)
"Assembly language." An assembler is like a compiler.
Re: (Score:3)
"Machine Code". It's the actual instruction binaries that get executed. It's only assembly language while it's in text form.
Re: (Score:2)
Atari 2600 games were written in assembly language, however.
Not cheating ... (Score:2, Interesting)
That's not cheating, that's winning according to the rules as discovered by the AI.
In other words, it tried pretty much everything, discovered a corner case nobody knew of, and concluded if it's possible, it's a valid option.
Which, while a silly example, tells us that if an AI determines "kill all the humans" is possible and achieves its goals, it will.
Machine learning just finds optimal solutions. If the inputs allow for it, those 'optimal' solutions could include some outcomes we don't like ... and since
Re: (Score:2)
- Human normally stops AI before going home.
- AI kills human and continues to live.
- Human 2 comes to check on first human.
- AI kills human and continues to live.
- ??
- Profit, by killing all humans.
Re: (Score:2)
Which, while a silly example, tells us that if an AI determines "kill all the humans" is possible and achieves its goals, it will.
Machine learning just finds optimal solutions. If the inputs allow for it, those 'optimal' solutions could include some outcomes we don't like ... and since nobody really knows the decision process and what rules it's made for itself, you'll simply never know until it's too late.
Sooner or later, one of these things is going to do something exceedingly dangerous and costly, and nobody will see it coming or know why it happened.
Machine leaning doesn't think outside the box. It always optimizes within the constraints you give it. It's not going to jump to "hey, baby, want to destroy all humans?" unless you deliberately put that option there. These systems do not and cannot have "general intelligence".
None of which has anything to do with machine intelligence, or "strong AI" as some like to call it - a machine with general intelligence, the ability to generalize not merely optimize. Let's not build those.
I fully expect any AI applied to the stock market would eventually conclude stock manipulation would maximise return, and start breaking the law.
That's of course been ha
Re: (Score:2)
It's how speedrunners do games as well.
Sometimes a quicker way through the level is discovered by mere accident, othertimes it's discovered through glitches.
That's why they have two separate times - one for tool-assisted speedruns and one using regular controls. Glitches discovered during a TAS will often be attempted by regular speedrunners to see if the glitch is ex
Just found out something similar yesterday (Score:2, Interesting)
I was playing a retro cabinet game called Rampage that eventually was ported to the PS3. You play a giant monster and try to destroy all the buildings before the humans kill you. Yesterday, one building that I destroyed wasn't tallied as destroyed. So the level never completed. But without buildings to hide in, the humans were less frequent sitting ducks. They kept sending commandos to try to dynamite this collapsed building, and I kept eating them, which also heals your monster. And I got the game in
Bug in the Code or in the Emulation? (Score:3)
Actually there is a major bug in the 2600 version of Q*Bert that I'm surprised the AI didn't take advantage of. If you time it right and jump towards an enemy right as they're jumping towards you, you'll pass right through each other. This is because in the 2600 version you don't actually jump between cubes, you just 'teleport' between them due to system limitations. Once you get the timing down it's actually pretty hard to die.
Re: (Score:2)
Re: (Score:2)
Didn't the Atari 2600 use player-missile graphics? For the Atari series of computers, there were two or four sprites each represented as a band of bytes that stretched down all the scan-lines of the screen (256 in total but only between 16 to 192 visible on screen due to overscan). Each bit would correspond to one pixel. Then auxiliary bytes would set the X-coordinate, scale (x1, x2, x4) and colour. Collision detection was handled using simple bit masking. If any two bits of two different players overlapped
Relevant (Score:2)
"John, the kind of control you’re attempting simply is it’s not possible. If there is one thing the history of evolution has taught us it’s that life will not be contained. Life breaks free, it expands to new territories and crashes through barriers, painfully, maybe even dangerously, but, uh well, there it is."
-Dr. Ian Malcolm
no Gottlieb game had a pinball knocker in it (Score:2)
no Gottlieb game had a pinball knocker in it
Chess and Go (Score:1)
Can this be applied to App Test/Security Testing (Score:2)
Very cool and a great application for AI.
Any comments on whether or not this technique can be used for testing apps (or even unit testing methods) as well as security testing?
I realize that this approach requires mondo cycles and a fair amount of time, but if the end result was insight into algorithm (and maybe compiler) flaws as well as new security exploits, it would be worth the investment.
Re: Can this be applied to App Test/Security Testi (Score:1)
Yes, it's called fuzzing. Nothing in TFA describes an AI.
The younger Millennial: (Score:2)
Re: (Score:2)
Ai in drag (Score:1)
I immediately wondered if this would wind up vindicating Todd Rogers and his impossibly fast Dragster score.
Probably not.
The fucking AIs are like all the kids (Score:2)
Way too much time on their hands and they do nothing but playing video games.
Developer reaction (Score:3)
When reached for comment about this AI cracking their game, the developers' only response was: "@!#?@!"
Q-Bert is a Gottlieb game. (Score:1)
C'mon
Here's a legit case (Score:1)
Computer program that learns to play classic NES games [youtube.com]