Software developers 

Framsticks-related software development

Food gradients instead of food balls?

I've been thinking about why it is relatively easy to evolve creatures that
can move pretty fast but so much more difficult to evolve a creature that
can find food. I've heard the idea put forward in this forum ( I think by
MacKo himself) that the smell sensors are too strong, but I'm not sure that
this is the key problem.

I'm wondering if instead the problem would be solved if the food balls could
be replaced with food gradients. A food gradient would have a center where
the energy was at its highest concentration, with diminishing concentration
farther away from the center. This would be a diffuse field at lest ten
times the radius of the current food balls.

The advantage of the graidients is that any move up the gradient would
bestow an advantge and any move down the gradient would bestow a detriment.
There can thus be many more increments of fitness than in the current
situation. Right now, a creature that moves half of the way toward a
foodball is no more fit than a creature that moves only a quarter of the
way.

Currently, selecting for speed instead of foodfinding is easier because in
selecting for velocity, there are many more oppurtunities for incremental
progress. A creature that moves a little bit faster is a little bit fitter.
But with food balls instead of the food gradients, a creature that moves a
little bit toward the food is not necessarily a little bit fitter for it.

The question might arise of how biologically realistic the food gradients
might be. I think they are quite realistic if we compare them to the
nutrients in solution that bacteria, euglena, or small animals depend on. It
is my understanding that studies of chemotaxis in, say, the nemotode worm c
elegans invovle nutrient gradients, not discrete pieces of nutrient.

--
___________________________________________
P E T E M A N D I K
Assistant Professor and
Associate Director, Cognitive Science Laboratory
Department of Philosophy
William Paterson University of New Jersey
265 Atrium Building
300 Pompton Road
Wayne, NJ 07470
(973)-720-2173
mandikp@wpunj.edu
http://www.wpunj.edu/cohss/philosophy/faculty/mandik

Generation counter...

Please implant a genotype generation counter in v2 this could be done
without any complications and it would give a better indication of how long
a genotype have been evolving.

Example of generation counter:

Generation 1
|
--- Gen. 2
| |
| ---Gen. 3
| |
| ---Gen. 3
|
--- Gen. 2
|
---Gen. 3
|
---Gen. 3
|
---Gen. 4

Hope you can figure out what i mean...

Regards
Johannes Hansen

Where did you get the physic model of the world ?

I am trying to make(program) a model of the world to train some sceletal
structures using the reinforcement algorythm, but i can't find documents
(only document 's i can find are about physics of rigid body) and the model
you use is really good.
Maybe you could give me some useful links ?

Qzma

Dead way

To say the truth I thought a lot about writing a program like this(i
mean alife).

And I came to the same idea that the best way to achieve something
unexpected and unpredictable like Earth life evolution is to create a
world where everybody is made of
what may be called atoms or quants.To say the truth it's obvious idea
:)

And at last what I gonna say : the world you've created is VERY pour,it
is limited with
very strict laws:body is made of only sticks,a bit of receptors and same
bla,bla,bla about
brain,I think you understand what I mean.So the great idea about atoms
written above doesn't
works in full strength.Dead way.No reason to develop this any
more.You've got an ordinary alife(i guess you wanna get something
better),not the Earthlike evolution.

My (right) opinion on what is your mistake:world is to be more
complicated :more sorts of
atoms ,more relations between atoms.This is the only way to obtain
something worth saying:
"Yes,it resembles life and very likely it may produce thinking
creatures".

mathematics

Hi again,

I'm no computer programmer, so I can't really offer my
services in that way, but if you all have any problems with
the math, let me know. I'm currently a math grad student,
so I have a bit of experience with the subject. (Read "bit
of experience" as "there is nothing else in my life")
Anyhow, I'm not sure exactly what I might do, but I know you
might need some chaotic systems built, or something. So let
me know if you all have any ideas--or even things I might
consider for generating ideas of my own.

Zach

Family tree

Hi all,

I apologize if this has been suggested, but I feel it would
be nice to generate an automatic family tree. To some
extent, you can do this manually by saving every million
steps or so, but it is quite difficult to do this.

I imagine you could have several levels of sophistication
for such a tree. A simple on that just has nodes and lines
to offspring would be interesting for a user who isn't too
involved. The next step up could include % of mutation
along the lines--a weighted family tree of sorts.

Finally, the ultimate would track the genotype and fitness
ratings. Of course, I realize that such a file could be
huge, but there are ways of limiting the size:

Don't include names, as they are of little import.

Track only the differences from parent to child. Simply set
up a little viewer for the file so that if a node is queried
for genotype, it reads the ancestors of the node to
determine the genotype.

Fitness ratings are more difficult to minimize, as they are
so specific. I'm not sure what to do about those.

It would also be a good idea to indicate if the parameters
are changed.

One unrelated feature I would add is automatic additional
testing for the upper and lower ends of the fitness scale.
It often seems somewhat arbitrary which fram is highest
rated, as there are so many factors. The lowest rated are
the worst of the two, especially if you have destructive
collisions on. If they are hit in their "wait4freeze"
period, that's it, regardless of how fit they may have been.

Perhaps it would be sufficient to simply not allow a fram to
enter the highest (respectively lowest) 10 ratings until it
has been simulated twice, or maybe even three times (No more
than 3, I imagine). I'm not sure how important this is for
the higher ratings, but I think it would be quite helpful
for the lower ratings.

I know this seems like it is tricking evolution in a way, as
any given life form only has one chance, but in reality,
populations are much larger, so to some extent, there often
is a second chance of sorts. Certainly not for the exact
same organism, but perhaps for a similar trait.

In the end, though, it probably doesn't matter much, as it's
ancestor is still on the list--probably. And to some
extent, I suppose that is why you can choose how often you
want to simulate a fram on the list, and how often you want
to simulate an ancestor. But I still think it might be a
nice option.

Thanks for the fun program,
Zach

P.S. What does "wait4freeze" mean? What exactly is
happening at that point? How about "wait4up"?

Selection criteria and reproduction

I have just downloaded Framsticks and I am impressed.

Most of my suggestions seem to require additional features in the engine
itself -- I don't know whether such suggestions are sought, but for what
it's worth here they are:

I would like to see less goal-driven selection criteria. Could a
reproductive fitness criterion be introduced? You would not need to actually
implement sexual reproduction, but could model it crudely by counting the
number of times an individual makes physical contact with a conspecific
individual.

Some other ideas which might be interesting to explore:

Communication. Individuals can emit/detect a signal which identifies
their genotype (like a pheromone).

Learning. Neural weights could be modified during the individuals
lifetime. (Hebbian or Competitive Learning rules would be worth exploring).
This might require a higher level genetic representation format.

I am a C/matlab programmer with knowledge of neural nets and GAs and would
like to contribute, but don't have much free time.

Tom

Checking for interest.

Hello I'm creating a program that allwos you to combine .gen files into
one file. it selects the best of the genotypes based on fitness params
that you define and takes the resulting batch and puts them into a file
for futher evolving.

Jon Fetting

Maciej Komosinski's picture

Framsticks Development Center

Dear developers,

The site for you is

http://www.framsticks.com/dev/

Best wishes,

Maciej

@HOME

What do you think about idea to create framsticks@HOME
like SETI@HOME

Pages

Subscribe to RSS - Software developers