Is it possible for a genetic algorithm + Neural Network that is used to learn to play one game such as a platform game able to be applied to another different game of the same genre.

So for example, could an AI that learns to play Mario also learn to play another similar platform game.

Also, if anyone could point me in the direction of material i should familiarise myself with in order to complete my project.

  • Thats not how genetic algorithms work. – solarflare Sep 14 at 5:27
  • "Also, if anyone could point me in the direction of material i should familiarise myself with in order to complete such a project that would be greatly appreciated!" Yes, you should learn what a genetic algorithm is, what a neural network is. For Game AI, ayou should have a look at reinforcment learning – Jérémy Blain Sep 14 at 7:15
  • 2
    Could you please clarify: What part(s) of your combined Genetic Algorithm/Neural Network learning agent are you intending to re-use between games? For instance, are you asking if an individual evolved in Mario could be used directly in a similar game, or are you asking if the full GA/NN algorithm might be suitable for evolving new agents in a different game? – Neil Slater Sep 14 at 7:29
  • 1
    If the full algorithm could be reused for another game, sorry if that's a silly question. – Ryan Sep 14 at 10:10
  • @JérémyBlain There has definitely been work using GAs + Neural Networks for game AIs. See, for example, eng.uber.com/deep-neuroevolution – Dennis Soemers Sep 14 at 11:47
up vote 3 down vote accepted

Genetic algorithms and Neural Networks both are "general" methods, in the sense that they are not "domain-specific", they do not rely specifically on any domain knowledge of the game of Mario. So yes, if they can be used to successfully learn how to play Mario, it is likely that they can also be applied with similar success to other Platformers (or even completely different games). Of course, some games may be more complex than others. Learning Tic Tac Toe will likely be easier than Mario, and learning Mario will likely be easier than StarCraft. But in principle the techniques should be similarly applicable.

If you only want to learn in one environment (e.g., Mario), and then immediately play a different game without separately training again, that's much more complicated. For research in that area you'll want to look for Transfer Learning and/or Multi-Task learning. There has definitely been research there, with the latest developments that I'm aware of having been published yesterday (this is Deep Reinforcement Learning though, no GAs I think).

The most "famous" recent work on training Neural Networks to play games using Genetic Algorithms that I'm aware of is this work by Uber (blog post links to multiple papers). I'm not 100% sure if that really is the state of the art anymore, if it's the best work, etc... I didn't follow all the work on GAs in sufficient detail to tell for sure. It'll be relevant at least though.

I know there's also been quite a lot of work on AI in general for Mario / other platformers (for instance in venues such as the IEEE Conference on Computational Intelligence and Games, and the TCIAIG journal).

Definitely depends on the design of your algorithm. According to my knowledge, almost all ML algorithms are targeting at specific issues, thus it’s difficult for general usage. And you have to train again for any new issues. It’s also difficult to understand the internal working mechanism of those AI algorithms due to general statistics methods (and yes, they call AI). I will recommend a regional/encapsulated method applied on general methods, therefore algorithms are not specific and micro-structured for general purposes. If games are similar, definitely we can apply on both with appropriate designed methods. Hinton has started his Capsule network which I think is a good direction. Just beware, training shouldn’t be specific object related. Instead, it should be micro-structure related or feature (it’s hard to differ current AI feature from human insight feature). For example, human can easily differ differences even though never see those before. And human do not have to re-train nerve units except for better understanding or accuracy. Genetic algorithms should have the same ability to survive in different but similar environments. Unfortunately, we are at the beginning of AI era but also luckily we have a lot to do. In fact, almost all current techs imitate the nature. If the nature can, definitely we can at one day.

Genetic algorithms can learn multiple games, yes, in fact genetic algorithms is a bad term to describe this family, there is only one generic genetic algorithm with many variations depending on the problem at hand. I recommend this pdf for a introduction on how they work and how to build them:

http://www.boente.eti.br/fuzzy/ebook-fuzzy-mitchell.pdf

  • Thank you for the link to the PDF, I am reading through it now and it looks very useful. – Ryan Sep 14 at 11:06

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.