PeterBarberURACx
Download
Report
Transcript PeterBarberURACx
Simulation of Plant Growth
using Genetic Algorithms
Peter Barber
Dr. John Bonomo
Project Goals
Strategy Game Proof of Concept
Original plan: an interactive game where players
grew a plant to compete with computer-created
opponents
Time constraints led to simulation
Goal: to show that a genetic algorithm could be
used to promote competition in a game type of
environment
Genetic Algorithm
What is it?
Adaptive heuristic search and optimization algorithm
Mimics genetics & natural selection
How does it work?
Initial solution population
Individuals represented by a genome
Apply the solutions to the problem
Rank the solutions
Individuals rated by a fitness function
Trim the population
Use survivors to populate next generation
GAs cont.
How does it work? (cont.)
Crossover
Combine two (or more) genomes
Mutation
Small chance for random mutation of genome
Start over with new generation
Repeat until optimal solution is reached
Simulation Details
Simple plant-like structures
Stems & Branches - shape
Leaves - sunlight
Roots - water
Simulation cont.
Two-dimensional environment
Sun moves across the sky as the “day” progresses
Plants interact with environment & one another
Leaves cast shadows
Roots compete for water
Plant Competition
Plant Growth
How do the plants grow?
Each plant starts as a seed with finite resources
Growth can occur at set intervals
Frequency is variable
On grow opportunity:
Chance to refuse growth
Else, traverse plant structure
Every existing piece has the possibility to make a
growth action
Growth
Growth Actions
Extend (Stems, Branches, Roots)
Branch (Stems, Branches, Roots)
Leaf (Branch)
Genome controls choices
Probabilities of growth actions
Structural information
Lengths, angles, etc.
Component properties
Plant properties
Growth
Genome Details
Growth specifics
Extend chance
Extend length
Branch chance
Branch angle
Branch location
Properties
Sunlight absorption
Water absorption
Judging Fitness
Need a way to determine how well a plant performs
Simple solution: resource levels
Plant compete in collecting resources
Plants consume resources:
Passively, by “living”
Actively, by growing
If a plant consumes all its resources, it dies.
Resource Spending
Passive consumption
Dependent on total size of plant
Growth consumption
Dependent on several factors
The type of growth (new vs. old)
How much it grows by
The “quality” of the growth
Challenges
How to keep plant structure “sane”
Nature is hard to mimic
Growth can lead to illogical and convoluted structure
Current Solution:
Component-specific structural constraints
Each component has its own set of instructions for how to
interpret each growth action
Challenges
How to balance resource expenditure
Adjusting values determines how algorithm performs
Unbalancing leads to “cornering” of the algorithm
Goal is to promote competition, not to find loopholes
Current Solution:
Provide checks & balances where possible
ex: High sunlight absorption -> High cost to grow leaves
Current Work
Implementation of the algorithm still in progress
Immediate goals:
Show noticeable evolution of plant “strategy”
Introduce environmental effects
Weather patterns (overcast skies, drought, etc.)
Future goals:
Further environmental effects
Insect life, terrain effects
More growth actions
Seed, Flower, Fruit, etc.
Applications
More complex versions of this type of simulation could
conceivably be used as:
Entertainment
Strategy game similar to original goal
Educational Tool
Simple, game-like version to interest young children in biology
and science
More complex implementations as a demonstrative tool for
teaching biology and evolution in high school and beyond
Agricultural Simulator
A realistic, highly evolved form of the simulation could be used
to test new crops and planting patterns
Thank You
Questions?