Can AI Evolve to Master Super Mario? A Look at NEAT and Lua Programming

  • Thread starter Drakkith
  • Start date
  • Tags
    Ai
In summary: Earlier this year, an algorithm designed by Google defeated the top-rated Go player in the world. Go is an ancient Chinese board game which has simple rules, but is very complex because of the number of possible moves (there are many more possible games of Go than there are of chess, for example).In the final game of their historic match, Google’s artificially intelligent Go-playing computer system has defeated Korean grandmaster Lee Sedol, finishing the best-of-five series with four wins and one loss.This NEAT algorithm might be quite useful for applications where well defined training sets are not practical.
  • #1
Drakkith
Mentor
23,094
7,503
Here's a neat video I found of an evolving AI that plays the video game Super Mario. The AI is based off of something called NEAT, or Neuro Evolution of Augmenting Topologies (paper here), and was programmed in Lua (source code here). I thought it was pretty cool, so I just figured I'd share.

 
  • Like
Likes Hoophy, mister mishka, collinsmark and 5 others
Physics news on Phys.org
  • #2
It's fascinating how artifical learning algorithms are advancing.
 
  • Like
Likes Drakkith
  • #3
Borg said:
It's fascinating how artifical learning algorithms are advancing.

Indeed. I actually created a really simple simulation of some evolving cells about a year ago, but it was nothing like this. There was no learning involved, the cells just adapted over time without any "intelligence".
 
  • Like
Likes Borg
  • #4
This month's Scientific American happens to have several articles on AI. It also refers to neural networks similar to what is mentioned in the video.
 
  • Like
Likes Drakkith
  • #6
I've heard that numerous games are played successfully this way. It was a key step on the way to the Go championship.
 
  • #7
Hornbein said:
I've heard that numerous games are played successfully this way. It was a key step on the way to the Go championship.

The "Go" championship?
 
  • #8
Drakkith said:
The "Go" championship?

Earlier this year, an algorithm designed by Google defeated the top-rated Go player in the world. Go is an ancient Chinese board game which has simple rules, but is very complex because of the number of possible moves (there are many more possible games of Go than there are of chess, for example).
In the final game of their historic match, Google’s artificially intelligent Go-playing computer system has defeated Korean grandmaster Lee Sedol, finishing the best-of-five series with four wins and one loss.
http://www.wired.com/2016/03/googles-ai-wins-fifth-final-game-go-genius-lee-sedol/

Here's a link to the academic paper on the algorithm: http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
 
Last edited by a moderator:
  • Like
Likes Drakkith
  • #9
Several times I've created Artificial Neural Networks (ANN) for fun and kicks (various languages: Matlab, C++ and C#). Thus far they were only more conventional feed-forward networks that were trained using back-propagation with well defined training sets.

I think this NEAT algorithm might be quite useful for applications where well defined training sets are not practical.
 
  • Like
Likes Drakkith
  • #10
I did not think Go would be solved in my lifetime. It was an epoch-making event, IMO.
 

FAQ: Can AI Evolve to Master Super Mario? A Look at NEAT and Lua Programming

What is "Evolving AI Plays Super Mario"?

"Evolving AI Plays Super Mario" is a research project that uses artificial intelligence (AI) algorithms to teach a computer program how to play the popular video game Super Mario Bros. The AI program learns and improves its gameplay through a process called evolution, where it adapts and evolves its strategies based on different challenges and rewards.

Why is this research important?

This research has important implications for the field of artificial intelligence and gaming. By teaching AI programs to play complex video games like Super Mario Bros, we are able to test and improve their abilities to learn and adapt in dynamic environments. This can also help us understand how AI can be used in other applications, such as self-driving cars or medical diagnosis.

How does the AI program learn to play Super Mario Bros?

The AI program uses a technique called genetic algorithm, which is inspired by the process of natural selection in evolution. The program starts off with a population of randomly generated solutions (or game strategies) and then repeatedly refines and improves them through a process of selection, crossover, and mutation. This allows the program to gradually learn and evolve its gameplay strategies.

Can the AI program beat the game?

Yes, with enough time and iterations, the AI program can eventually learn to beat the game. However, it may not play the game in the same way that a human player would. The AI program may find alternative strategies or shortcuts that humans may not have thought of. Additionally, the program may continue to improve and find even more efficient ways to beat the game.

What are the potential applications of this research?

Aside from improving AI capabilities in gaming, this research can also have practical applications in other industries. For example, the techniques used in this project can be applied to optimize complex systems, such as transportation networks or supply chains. It can also help us better understand how AI can be used in decision-making processes, such as in finance or healthcare.

Back
Top