Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
simulating_photosynthesis [2008-10-06 09:54] – davegriffiths | simulating_photosynthesis [2008-10-09 11:08] (current) – davegriffiths | ||
---|---|---|---|
Line 1: | Line 1: | ||
===Making plants grow towards light=== | ===Making plants grow towards light=== | ||
+ | |||
+ | Using lindenmayer systems and genetic algorithms to simulate plant growth. | ||
+ | |||
+ | Plants are given a " | ||
+ | * How much do they face the light? | ||
+ | * Are they too close to other leaves? | ||
+ | * Are they in shadow from another leaf? | ||
+ | * Are they below the ground? | ||
+ | * The fitness drops as the plant description (a linenmayer system string) gets too long. | ||
{{http:// | {{http:// | ||
Line 5: | Line 14: | ||
{{http:// | {{http:// | ||
- | Plants are given a " | + | The leaf score is indicated by it's colour |
- | * How much do they face the light? | + | |
- | * Are they too close to other leaves? | + | |
- | * Are they in shadow from another | + | |
- | * Are they below the ground? | + | |
- | * Also - the fitness drops as the plant description | + | |
Using this measurement, | Using this measurement, | ||
Line 17: | Line 21: | ||
<embed src=" | <embed src=" | ||
</ | </ | ||
- | Each frame is the fittest of a new population | + | |
+ | The simplest strategy is to " | ||
{{http:// | {{http:// | ||
- | The result of a long run with many thousands of generations. | + | |
+ | The result of a long run with many thousands of generations. Many leaves circle the light to get the maximum photosynthesis possible. | ||
{{http:// | {{http:// | ||
+ | |||
You can also evolve from a starting point - in this case a simple tree is modified to create a bigger and more suitable one for the environment. | You can also evolve from a starting point - in this case a simple tree is modified to create a bigger and more suitable one for the environment. | ||
+ | Code: http:// | ||
+ | |||
+ | < | ||
+ | <embed src=" | ||
+ | </ | ||
+ | |||
+ | Another evolutionary run, a bit more interesting than the one-leaf approach. |