AI Learns To Program Super Mario Bros
AI Learns To Program Super Mario Bros
Written by Mike James   
Wednesday, 13 September 2017

This sounds like another thing to be worried about, if that is, you are worried about AI taking over the world. We might be getting used to AI learning to beat humans at arcade games and even Chess and Go, but now it is learning to program games just by watching.

This is interesting and has practical applications, but it's not the same sort of AI breakthrough that we have been getting used to with neural networks of all types, even though some reports would have us think so.

Research presented at the International Joint Conference on Artificial Intelligence, Aug. 19-25, in Melbourne, Australia relates to a much more structured approach and it relies on pre-engineered frameworks. Before neural networks took off this is what AI was like and there is no reason to dump this sort of approach. For many tasks it is actually better. For one thing, it learns a lot faster than generalized AI approaches that involve long and costly training. 

What do I mean by "pre-engineered" frameworks?

Well in this case the program was given a set of sprite images that it could use to find sprites within video footage of the game being played. It was then able to deduce the rules by which the sprite moves. Basically it inferred a set of if..then style rules for the motion of each sprite. This provides a framework for the environment that would have taken a lot of time and training to learn from scratch. As a result, the AI learned the game in less than 2 minutes watching a video of the game that was played from the start to end. 

According to Matthew Guzdial, lead researcher and Ph.D. student in computer science at the Entertainment Intelligence Lab at Georgia Tech:

“Our AI creates the predictive model without ever accessing the game’s code, and makes significantly more accurate future event predictions than those of convolutional neural networks. A single video won’t produce a perfect clone of the game engine, but by training the AI on just a few additional videos you get something that’s pretty close.” 

Notice that while the rules were derived from a video, when applied to a game engine they produced a version of the game that could be played and was judged to be a good copy. 

marioclone

 

While the achievement is important and useful it isn't quite as spectacular as you might be led to believe. This isn't a neural network being shown a video game and it learning to construct the program in sone sense. The team did try a neural network on the same task of predicting the next frame in the video sequence and they had to reduce the resolution and still it didn't do too well.

This illustrates the usefulness of the method. If you can put structure into the solution of an AI-like problem, then it can result in something that works much better. 

 

mario

More Information

Game Engine Learning from Video  by Matthew Guzdial, Boyang Li, and Mark Riedl.

Related Articles

AI and Games Pioneer, A L Samuel

The Malmo Challenge - Collaborative AI

Google's DeepMind Learns To Play Arcade Games

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.

 

Banner


Gordon Bell Prize For Earth Shattering Research
22/11/2017

For the second year in a row a Chinese team has been awarded the ACM Gordon Bell Prize, presented annually to recognize outstanding achievement in high-performance computing. This year the focus  [ ... ]



Apache PredictionIO Reaches Top Level Status
26/10/2017

PredictionIO is an open source machine learning platform that has been primarily supported by Salesforce. Having been donated to Apache last summer,  it has now graduated from the Apache Incubato [ ... ]


More News

 
 

 

blog comments powered by Disqus

 

Last Updated ( Wednesday, 13 September 2017 )
 
 

   
Banner
RSS feed of news items only
I Programmer News
Copyright © 2017 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.