Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Question: Wich Neural-net to use for Evolution?

0 views
Skip to first unread message

Martin Bartels

unread,
Jan 24, 1994, 5:13:23 AM1/24/94
to
Question: Which neural-net to use for evolution?

I am putting this question on comp.ai.neureal-net and comp.ai.genetic. (If
any one has other suggestions where to place this message please let me
know.) I don't have much experience in both fields (I've read Beale, R. and
Jackson, T. (1990). Neural Computing, an Introduction. and as a biologist
I've given the concept of evolution some thought. and yes I RTFAQ) I hope
someone with more experience can give me his/her time, first to understand
the question because it is a bit complex and then to help me find an
answer.

Question: What kind of neural network might I use to represent the "genes"
of the cells of a growing Dynamic particle system if I want the decision
rules on cell-division to be the result of evolutionary programming?

Let me explain.

I am a biologist following an MA-course in computer graphics at SCAN
Groningen the Netherlands. This is a study somewhere between art and
technology. For my final project I want to grow 3-D models of plants that
react on their virtual environment. 3-D plant models are usually built by
using a mathematical algorithm, the Lindenmayer system, to determine where
to place cylinders and prefab leafs. Granted, the branching pattern thus
described has its aesthetic value, but for me, a biologist this solution is
very dissatisfying. A real plant betrays its history in the way it looks.
Its shape is determined by its genetic code and its environment at each
stage of its existence. So I want to make a system that really grows and
reacts on its virtual environment and I want it finished by June. Well, I
can try can't I ?

At this moment I have succeeded in building a 2D growing dynamic particle
system. The basic elements of a dynamic particle system are point masses.
They have position and a mass and a velocity and they obey the Newtonian
laws of dynamics. The particles are attached to each other by springs. I
call a couple of springs enclosing an area a cell. A cell can split by
adding two masses and a spring cutting the area in two. (Try to imagine,
it's a pity I can't draw it for you.) The cells push their walls outward
proportional to their surface. (Small surface big push.) I call this
osmotic pressure. The combination of the springs and osmotic pressure make
the newly formed cells expand until after a couple of calculations they
have approximately the same size as the other cells. When the whole system
is reasonably in balance again I can start the next divisions. When I let
one cell divide and keep the rest the same, the result is a two cell broad
band growing at the tip. If I let the right cells divide at the right time
at the right angle I should be able get more complex structures and side
branches, but I don't know when is the right time, and what is the right
angle and I don't think I will be able to find out unless I use an
evolutionary approach.

I am not interested in building a model of an existing plant. I want to
grow a model that has some resemblance to plants. I will let the growing
structure struggle for limited environmental elements (light and water) and
I will measure it's success by means of an energy parameter.

I will need a procedure that evaluates for each cell weather or not to
divide and if yes at what angle. The procedure needs to take into account
the cells present situation (amount of available energy, is it lying at the
edge or in the middle of the plants, how old is it etc.) it has to compare
this with the cell's genes, and has to give a yes/no and angle as output.
It seems to me that a neural network is the best way to interrelate all
these data. So that's why I need to know what kind of network is best
suited for this. I need a network with about 100 nodes input and 25 output
nodes. How do I connect them? What kind of threshold function do I need?

I could program this but sourcecode to help me would be very useful. (I
program in object oriented Think C for Mac.) I have seen in the FAQ that a
lot is available but I have no idea what's good for my situation.

If anyone can help me with these questions, I f anyone has any suggestions,
If anyone thinks he might help me better if he new more of my program, if
any one wants to know more of what I'm doing, Please contact me.

Michiel van der Haagen
at SCAN
sc...@knoware.nl

0 new messages