Advertisement

Functioning natural evolution!

Started by October 28, 2005 06:19 PM
2 comments, last by Sagar_Indurkhya 19 years ago

So I got it actually WORKING!

It's a simulator. You can see small bugs on the screen, and a few scripted monster bugs eating the smaller ones. There's food and water lying around for the little bugs to eat. The bugs have a set number of actions they can perform, and only their behaviour in which situations to use them are evolved. They have the ability to move around, flash with red light, bite, put scent traces and so forth. They start off really stupid, but after time evolve into more productive behaviour. Earlier I asked for your help since I was having trouble. What was the problem? I almost dare not say it. It was such a simple little logic error at the very core of the program. Let me give you guys a laugh:

void CopyAI(sourcecreature, targetcreature)
{
   sourcecreature = targetcreature;
}
That was it. IT. Everything worked as soon as I fixed it. Okay, so it doesn't evolve democracy or dictatorship. It does not evolve deceptive strategies nor does it even evolve counter-monster tactics. But it DOES learn how to eat food! =D I've only had patience to leave it running for fifteen minutes, so I haven't seen any more progress than that. I BELIEVE it won't get much more evolved than that, even if left running for a few hours. This is because I haven't optimized much at all. So don't expect anything fancy! =) If you wish to try it out, go here to download it: (winzip required) http://www.nordquistart.com/files/EvoAI_ReleaseVersion09.zip (there's a helptext within the simulator) You will best see the evolving behaviour if you are in lesson-mode. The quickest results appear if you generate a map where the bug starts right next to some water. Hit the L-key and you get to normal mode, which contains way much more complex enviroment and thus it takes a MUCH MUCH longer time to evolve good behaviour in that mode. (which you probably don't have the patience for) It doesn't get very smart though. I think it COULD get further if I optimized parts of the evolution logic. You're free to give me suggestions for this program, but I don't believe I will work on it any longer. I'm interested in a more advanced project, preferably on neural nets or evolving AI. Anyone got an interesting suggestion?? =)

Thanks for all help!

[Edited by - NQ on October 29, 2005 7:04:42 AM]
----------------------~NQ - semi-pro graphical artist and hobbyist programmer
I receive the error: "This application has failed to start because stlport_vc646.dll was not found. Re-installing the application may fix the problem."
Advertisement
Ah, I forgot to include it.
Here's a link to download that file alone:

http://www.nordquistart.com/files/stlport_vc646.zip

I also included it in the original ZIP above.

[Edited by - NQ on October 28, 2005 6:38:47 PM]
----------------------~NQ - semi-pro graphical artist and hobbyist programmer
I'm doing a very similar project to this. See the "What do you think of my project!" thread.

The point is, the reason I believe that this type of program has trouble is that you need to provide sufficient ways for the bug thingies to interact with the world. The more features you put in, the longer it takes. I had vision, stereo-scopic hearing, rotation, movement(backwards and forwards), a laser gun, etc. You can see that even when i keep settings to a minimum, the game tree explodes at 60,000 possible actions per iteration.

In my paper, I derived a formula for the runtime. It doesn't look pretty :(.

I think this type of AI approach is on the right path, but won't work until we can work with robots. Then all calculations are calculated instantaneously.

This topic is closed to new replies.

Advertisement