self-reproduction

Started by
21 comments, last by GameDev.net 17 years, 5 months ago
I'm actually having kind of a similar problem.

I have a neural network (NN) that controls a ragdoll. The NN is modified using a genetic algorithm (GA). The fitness function of the GA determins how the ragdoll moves.

For instance, if the fitness function only rewards forwards torso movement without taking any other measures into consideration, the NN evolves so that the ragdoll crawls along the ground. It will more or less use any of it's appendages in any way it can to generate forward movement.

Now, if I add to that fitness function the stipulation that the head be kept above a certain hight, and that the center of the torso be in certainly alignment with the head (so that he's not diving through the air), then somewhat "normal" walking is generated. Although, in most cases, it's seems to turn out as hopping with a controlled fall.

The problem here is, how does one determine the best fitness function? Well, this requires a lot of thought into exactly what one is trying to accomplish. If one's goals are vague, then one will have trouble coming up with a good fitness function. If you are certain on the outcome you are trying to achieve, then a sort of layered fitness function may be best. For example, you have a fitness function

Fitness = (torsoDistance * weightA) + (skullStability * WeightB) - (energyConsumption * weightC); //


We know that we are taking torsoDistance, skullStability, and energyConsumption into consideration. But which one is more important? This is where the weights come in. You can run a GA on top of this one to determine which weight proportions are the best.
Advertisement
i didnt read all the replies, so excuse me if I repeat something

but it seems like this is a simple tree structure, just find two nearby orbs, combine the two together in a way that makes your root orb. . .

i.e. the "a" orb is formed by combining (i.e. +) your "3" and "4" orbs together

hope that helps
Hi, just noticed the post above referencing a paper I wrote (A Graph-based Reflexive Artificial Chemistry). the follow-up (which demonstrates some interesting results), you can find here:

http://sacral.c.u-tokyo.ac.jp/~chris/pubs/alife10.pdf

All other papers I've written are posted here:

http://sacral.c.u-tokyo.ac.jp/~chris/?CV

I won't check this page again, most probably (just stumbled on it). if you have questions just email me (see my webpage above).

Chris

This topic is closed to new replies.

Advertisement