Finding RtNEAT tutorial/example code

Started by
11 comments, last by IADaveMark 11 years, 11 months ago
Real time Neuroevolution of augmenting topologies (RtNEAT)

Where can I find a simple example of RtNEAT algorithms being applied?


Additional Information:
I'm interested in researching real time genetic algorithms and RtNeat has seemed to be the best one out there (at least the most promising) since its has been applied to a real game. Anyways so far, I've been doing some research merely looking at research papers, which has been all and good but understanding exactly how the algorithm is applied has proved to be a challenge.

Once I practically understand it, looking at its advantages and disadvantages, I was going to create to create a version of my own and then use it for my dissertation. Anyway from my final year research I wanted to find out why it had been so difficult/slow to get real time genetic algorithms working in games.
Advertisement
Here... About as much as I can help.

My question to you, however, is... what benefit do you see in using a GA in game?

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"


Here... About as much as I can help.

My question to you, however, is... what benefit do you see in using a GA in game?


Preventing further repetition since it has started to make the shooters particularly boring for me. I've learnt how to play against most shooter AI and it iritates me now. I've been wondering why AI characters aren't able to learnt like somebody you get to play online. Its just started to irritate me.
There are actually lot of reasons why bots in shooters don't play like humans... but that is done for design reasons rather than technical ones. Additionally, using a GA or NN isn't going to get you better results... but rather more vanilla ones. The thing that makes human play more interesting is the unpredictability. All of that unpredictability gets washed out in a derived solution such as a GA or NN. What you have in the end is simply a single algorithm no different that some sort of rule-based system like a behavior tree, expert system, utility-based system, planner, etc. The only difference was how you arrived at that single solution. (And the major weakness being that you might not be able to meaningfully tweak it later since you might not really know what any of the results "mean".) Really, all you are doing is "hoping for the best".

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"


What you have in the end is simply a single algorithm no different that some sort of rule-based system like a behavior tree, expert system, utility-based system, planner, etc. The only difference was how you arrived at that single solution. (And the major weakness being that you might not be able to meaningfully tweak it later since you might not really know what any of the results "mean".) Really, all you are doing is "hoping for the best".


I understand your thoughts here, but isn't your book suggestive in its attempt to generate a variety of 'correct' (human-like) responses, with the variability (on the fringes) of some unpredictability mixed in (some controlled 'noise')?

Also... is there any way I can read/hear the interview with Dwarf Fortress guy without paying $57/quarter at AIgameDev.com- is there a 'per article' fee possibly?

[quote name='IADaveMark' timestamp='1335886067' post='4936445']
What you have in the end is simply a single algorithm no different that some sort of rule-based system like a behavior tree, expert system, utility-based system, planner, etc. The only difference was how you arrived at that single solution. (And the major weakness being that you might not be able to meaningfully tweak it later since you might not really know what any of the results "mean".) Really, all you are doing is "hoping for the best".


I understand your thoughts here, but isn't your book suggestive in its attempt to generate a variety of 'correct' (human-like) responses, with the variability (on the fringes) of some unpredictability mixed in (some controlled 'noise')?
[/quote]

There's a difference between authoring a decision model and deriving one. While utility-based methods use math and formulas to craft decision models, each number and formula has a very specific role to play. If you want something to happen more or less often, you can change specific coefficients and weights in order to boost or cut its importance. Even the randomness factor in a utility-based model can be tweaked by changing the parameterized noise that you apply.

With a NN or GA, you certainly have a ton of numbers in the end, but they are all pretty vague -- especially in the NN field. If you want to tweak a behavior, you don't know which number will do what.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"


Real time Neuroevolution of augmenting topologies (RtNEAT)

Where can I find a simple example of RtNEAT algorithms being applied?


Additional Information:
I'm interested in researching real time genetic algorithms and RtNeat has seemed to be the best one out there (at least the most promising) since its has been applied to a real game. Anyways so far, I've been doing some research merely looking at research papers, which has been all and good but understanding exactly how the algorithm is applied has proved to be a challenge.

Once I practically understand it, looking at its advantages and disadvantages, I was going to create to create a version of my own and then use it for my dissertation. Anyway from my final year research I wanted to find out why it had been so difficult/slow to get real time genetic algorithms working in games.


Have you already seen Ken Stanley's NEAT users page? It has a bunch of implementations in various languages and lots of applications:

http://www.cs.ucf.edu/~kstanley/neat.html

For game applications there are at least two that I know of that use rtNEAT or a variant:

Neuro Evolving Robotic Operatives (free game): http://nerogame.org/

Galactic Arms Race (will be on Steam soon): http://gar.eecs.ucf.edu/

If you have any questions that aren't answered on there, you can email Ken and he will most likely try to help you out.

There are actually lot of reasons why bots in shooters don't play like humans... but that is done for design reasons rather than technical ones. Additionally, using a GA or NN isn't going to get you better results... but rather more vanilla ones. The thing that makes human play more interesting is the unpredictability. All of that unpredictability gets washed out in a derived solution such as a GA or NN. What you have in the end is simply a single algorithm no different that some sort of rule-based system like a behavior tree, expert system, utility-based system, planner, etc. The only difference was how you arrived at that single solution. (And the major weakness being that you might not be able to meaningfully tweak it later since you might not really know what any of the results "mean".) Really, all you are doing is "hoping for the best".


IADaveMark have got any research papers or books you written on the whole arguement of "rule based" vs NN/GA. It has just made my research proposal more interesting since I nolonger have to assume that GA or NN are the magic solution for everything.
I'm not sure why you would need a book or paper to analyze the fact that you can't easily tweak a "learned" algorithm without going back and retraining it. There are no well-labeled knobs to turn, no branch points to edit, no triggers to massage... it's a black box. You have to hope for the best.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"


I'm not sure why you would need a book or paper to analyze the fact that you can't easily tweak a "learned" algorithm without going back and retraining it. There are no well-labeled knobs to turn, no branch points to edit, no triggers to massage... it's a black box. You have to hope for the best.


Its an academic thing, the marking scheme's tick boxes must be filled, else the lecturers give a lower mark.

This topic is closed to new replies.

Advertisement