Plants have the interesting tendency to 'find' resources in their
environment. It is not uncommon to see plants whose leaves and stalks have
bent over time in the direction of nearby sunlight, or plants that have
grown long roots directed to a nearby source of moisture. It almost seems
as if these plants are actually scanning the environment around them to
find stable sources of nutrients. Since plants do not have eyes, we might
ask how they are able to accomplish this.

This model addresses the question of how a plant is able to effectively
locate resources in its environment, generally focusing growth in
'promising' areas. It is not intended to be biologically plausible.

The plant is composed of two kinds of cells - light collecting (leaves),
and water collecting (roots). The plant germinates with only one leaf cell
and one root cell, and will grow itself by adding new cells as long it has
the nutrients to sustain itself. Nutrients (sunlight and moisture) are
concentrated in randomly determined areas of the environment, and are
collected wherever a root or leaf of the plant is located. These nutrients
are then circulated around the plant as 'sugar' and water, as cells will
exchange resources with adjacent cells each turn. This circulation is
critical, since leaf cells do not collect any water and root cells do not
produce sugar. All cells of the plant use up a fixed amount of both sugar
and water every turn, and a cell will die if it run out of either resource.

The main problem that confronts the plant is that in order to explore the
environment it needs to grow outwards in many directions, but the
roots/leaves that result from this may be bad investments. That is, they
take up nutrients but do not contribute any. What rules can we introduce so
that the plant will focus growth mainly in sunny or watery areas?

The strategy employed here is to allow sugar to propagate down to the roots
more effectively than it propagates up to other leaves, and to allow water
to propagate up to the leaves more effectively than it propagates down to
other roots. This tends to isolate subsections of the plant that fail to
collect adequate nutrients.


First click the SETUP-PATCHES button to allocate moisture and light and to
setup the environment. You may want to click it again if you are not
satisfied with the allocation of these nutrients. To adjust how these
nutrients are distributed among the patches 1) use the NTR-DENSITY to
determine the density of loci of light/moisture, 2) the NTR-CONC slider to
determine the concentration of light/moisture at each locus.

Second, click the SETUP-PLANT button to create a 'seed'. This can be
clicked at any time to create a new plant so that it is possible to test
multiple plants over the same environment.

Finally, click the GO button to watch the seed develop.

Very often, due to a lack of nutrients in the immediate environment of the
seed, a new plant will fail. The plant (seed) begins with enough reserve
nutrients to explore some of the area around it, but it will quickly die if
it does not otherwise locate adequate nutrients in the environment. In this
case, try creating a new plant to see if perhaps another plant will take
hold (because of the use of a random function in the model, no two plants
fare the same - even in an identical environment). If this does not work,
then try resetting the environment, or even try increasing the concentration
or density of nutrients in the environment.

Also, for variety, the CACTUS/BUSH switch affects whether the plant will
grow taller instead of wider. 0 = cactus, 1 = bush.


Observe the location of nutrients within the environment before running a
plant. The colors in the environment are scaled to reveal where sources of
nutrients are. Squares of yellow with a dark center indicate sunny areas,
squares of blue with a dark center indicate watery areas.

How large do you expect a plant to grow (if at all) with the given setup?

Try growing a plant in different environments, and with different
CACTUS/BUSH settings. Do you notice any limits to how large the plant can

Are plants more likely to grow (i.e. not die) in cactus mode or bush mode?

What happens when a cell in the middle of a branch, formerly connecting
other cells to the rest of the plant, dies? Why, exactly, does this happen?


Sunlight and water are presented in this model as dots along a flat
landscape. Real sunlight beams down from above though, and real water is
generally present in a continuous gradient beneath the ground. Come up with
an alternative scheme for representing sunlight and water in this model.

Improve the growth rules used in this model. A simple way to explore this
would be to try and improve upon the parameters in the functions SHARE-UP,
SHARE-DOWN and SHARE-SIDE (which are fixed). A more in depth way would be
to come up with an entirely new set of sharing or growth rules, or a
different strategy altogether.

This model explores rules that will cause an artificial plant to grow in an
'efficient' manner. Efficiency can roughly defined here as the number of
leaves in the plant that are 'good investments' for the plant as opposed to
those that only use up resources but do not contribute any. An alternative
approach is to equate efficiency with the total amount of water and
sunlight collected by a plant in a given environment. Think of a
quantifiable measure of efficiency for a plant and add this measure to the
model. Now, use this measure in order to improve upon the growth rules of
the plant? Does any one set of such rules work better than all others for
all tested environments?

The settings in this model allow plants to grow in two varieties (cactus
and bush) by varying the rules for where a new cell can be located relative
to its parent cell. Can you come up rules that will yield alternative
shapes for the plant (i.e. palm tree, ivy...)?


Note the use of the DIFFUSE primitive to spread out the water and sunlight.