AI learns to balance a stick
AI learns to balance a stick
I've written a programme using Newton, Irrlicht, genetic algorithms and neural networks to learn how to balance a stick.
Details and download at http://www.topracket.com/Badmintology/R ... orAi01.php
Next is a bipedal walker hopefully
Joe
Details and download at http://www.topracket.com/Badmintology/R ... orAi01.php
Next is a bipedal walker hopefully
Joe
I didn't because learning takes quite a while so on faster machines I want the simulation to run faster.
You should find that when it gets to good solutions it is less manic. In fact, even on slow machines it should charge about a bit with some of the poorer solutions.
Generation 10 has some good solutions.
Regards
Joe
You should find that when it gets to good solutions it is less manic. In fact, even on slow machines it should charge about a bit with some of the poorer solutions.
Generation 10 has some good solutions.
Regards
Joe
thanks to you the robots in the future will be able to serve us alcoholic drinks without spilling them after first spilling 5000.... THANK YOU SO MUCH!!! lol
just kidding very cool little program but it raises the question...what is this good for besides a few mins of entertainment for geeks like myself?
just kidding very cool little program but it raises the question...what is this good for besides a few mins of entertainment for geeks like myself?
Midnight: the programme is a precursor to my walker (and future stuff) and will have applications in computer games, CG animation, biomechanics, motor learning and development, sport, robotics, etc...
p-Logic: Its a feedforward network with one hidden layer (plus one output layer of one node). I haven't tried different nets. I will for my walker though, especially recurrent nets, perhaps spiking NN.
This is my first NN ever and second GA ever (first was a sport league scheduler) so I'm quite pleased with its success.
Joe
p-Logic: Its a feedforward network with one hidden layer (plus one output layer of one node). I haven't tried different nets. I will for my walker though, especially recurrent nets, perhaps spiking NN.
This is my first NN ever and second GA ever (first was a sport league scheduler) so I'm quite pleased with its success.
Joe
Hey.
Nice thing.
Bay the way I was looking on the Internet for some resources about ODE an I have found something it might help you(it about AI creatures but it is an research,with source code of course):
http://www.erachampion.com/ai/
Good luck.
Nice thing.
Bay the way I was looking on the Internet for some resources about ODE an I have found something it might help you(it about AI creatures but it is an research,with source code of course):
http://www.erachampion.com/ai/
Good luck.
Kat'Oun
-
- Posts: 38
- Joined: Mon May 31, 2004 7:55 am
- Contact:
Yes, in fact my programme stores each generation as a file (e.g. generationxx.dat). If you rename one of the later generations as Generation0.dat and run the programme you'll see that one replayed instantly.
I'm currently trying to get my walker working. I'm finally happy with the physical model but the AI evolution is going poorly. Oh well, I'll keep trying until it works.
Joe
I'm currently trying to get my walker working. I'm finally happy with the physical model but the AI evolution is going poorly. Oh well, I'll keep trying until it works.
Joe
-
- Posts: 23
- Joined: Thu Apr 14, 2005 6:59 pm
- Location: Bushland
Neat - this is a classic GA and/or NN example. If you add wall limitations and a location input you can sometimes get advanced behaviours which will flip upside down and bang into the wall. Especailly if you add speed into the fitness algorithm. You'll get ones that will manage to hit the wall at just the right speed so that they can speed off in the other direction while maintaining balance.
I quite like working with neural nets and genetic algorithms like this. At the moment I'm working on making an OCR program that will use a GA to classify pixel data as letters. I'm also thinking about using them to detect and remove dust, but it might be possible to do this without them.
Its a cool program, but in my opinion it's too easy to solve the problem humanly with some simple equations. Throw speed into the fitness factor, and even segments and it'll give you some neat results hard to duplicate with humanly written algorithms.
For everyone else, I'd suggest looking into stuff like this. Particularly those of you making FPS/other games with AI. Instead of making some lame AI that just turns towards you, and fires while strafing, you could generate some AI by pitting them against eachother and taking the winner. They might be too good, however. Throw in some additional aiming inaccuracy to increase realism.
Seems to me it will be increasingly used in software development for effectiveness (even for simple problems totally novel solutions often are created) as well as ease (for complex problems writing a execution base and fitness algorithm is way easier).
I quite like working with neural nets and genetic algorithms like this. At the moment I'm working on making an OCR program that will use a GA to classify pixel data as letters. I'm also thinking about using them to detect and remove dust, but it might be possible to do this without them.
Its a cool program, but in my opinion it's too easy to solve the problem humanly with some simple equations. Throw speed into the fitness factor, and even segments and it'll give you some neat results hard to duplicate with humanly written algorithms.
For everyone else, I'd suggest looking into stuff like this. Particularly those of you making FPS/other games with AI. Instead of making some lame AI that just turns towards you, and fires while strafing, you could generate some AI by pitting them against eachother and taking the winner. They might be too good, however. Throw in some additional aiming inaccuracy to increase realism.
Seems to me it will be increasingly used in software development for effectiveness (even for simple problems totally novel solutions often are created) as well as ease (for complex problems writing a execution base and fitness algorithm is way easier).