Artificial Life: Where to Start? [Archive] - C Board

PDA

View Full Version : Artificial Life: Where to Start?


Mr.Sellars
08-10-2007, 10:43 AM
Hello all,
I have some concepts for artificial life experiments that I would like to implement. However, I know next to nothing about the actual implementation of artificial life programming. Notice I say artificial life and not artificial intelligence, they are two very separate things in my mind. By artificial life I mean non-sentient (maybe eventually sentient, who knows...? but not to begin with) beings who are capable of self-replication, self-defense, and resource allocation, and eventually self-organization...Now I understand that it's a conceptually difficult, not to mention technically difficult, experimental field to begin in as well as to be successful in. So all I'm asking is this:

Where do I start? That is to say, where can I find suitable source code for simple life emulation programs? The only thing I've found so far has been certain Java classes for pre-existing Alife like floys. I guess what I'm looking for is a tutorial or small examples with explanations...

Is C++ a suitable language for artificial life? From my novice perspective it seems that it should be, being object oriented and all.

Is there a good site that thouroughly explains genetic algorithms? After the beginning stages I'd like to eventually be able to implement genetic algorithms, or something with equal functionality, if such a thing exists, for an evolutionary approach to artificial life.

Any information is of use to me so please, whatever suggestions or clarifying questions you may have, post away!

swgh
08-10-2007, 11:03 AM
Im not a really a C++ guy but I would say C++ is a good choice as you could encorperate the expericent as program objects. You say you have seen some code in Java, well that uses Object Orientated ideas, so C++ would be an ideal language to use if you liked the Java concept of it all.

Only my two cents but others will be able to help you better Good luck with your endevors :)

siavoshkc
08-10-2007, 12:29 PM
Why not googling?

laserlight
08-10-2007, 12:46 PM
Moving this thread to the AI board as it seems that artificial life is related, though different.

Yarin
08-12-2007, 12:00 PM
I have made AL simulations before, I used "creatures", and they where in a simple 2D world, looking from above. Something I would disagree with is that AL is not AI. IMO AL is just a type of AI. C++ is actually a very good lang to use for AI (including AL) programming, maily because it's generaly a high-level lang making it easier to preform simpler binary operations in C++, nice for genetic algorithims.

abachler
08-16-2007, 04:37 PM
Artificial Life is not an 'experimental' field, its been around for nearly a century (http://en.wikipedia.org/wiki/Alan_Turing).

Mr.Sellars
08-16-2007, 09:31 PM
A statement like that really shouldn't be acknowledged, but since I started the post it is only a responsibility to answer. I fail to see in what way the multidisciplinary field so generally called "artificial life" is not experimental. How does time have anything to do with current research in a field? Physics has been around for centuries yet new discoveries are made everyday. Would you argue that physics is not an experimental field? Following that line of thought, ANY science for that matter can be said to be experimental. Only those who choose to stop learning and believe they know everything there is to know about a subject would agree with you in saying that artificial life, or any topic of current research "is not an experimental field."

psychopath
08-16-2007, 10:11 PM
I think it depends on how you interperet "experimental". For example, the subjects studied in the feild of physics are experimental, but physics itself as a field isn't.

Makes sense to me anyway :p.

Bubba
08-19-2007, 05:01 AM
I'm going to research these algorithms just as soon as Spore comes out. :) Call it...homework.

goatslayer
09-12-2007, 08:02 PM
Man, I'm looking forward to spore!

On AL though, how would one normally expect to "store" the intelligence?

If you have one creature in a program and you have it set up to learn to avoid walls for example because walls are dangerous to it, are you expected to keep the program running constantly and store data in variables, or can you store it elsewhere like a text file? - is a text file ideal? robust?

ok it sounds stupid, but i am asking at a high level just where do you store the intelligence?

goatslayer
09-17-2007, 07:14 AM
Although unrelated, in another thread I created on this post twomers suggested SQLlite, which also looks like a nice solution to my question above.
http://cboard.cprogramming.com/showthread.php?t=93603

ggs
09-22-2007, 03:03 AM
this is a really old topic so theres probably no chance the original poster will read this, but a high level language like scheme is a better choice for this than c++