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?