Frankencritters

Download Report

Transcript Frankencritters

Frankencritters
Greg Reshko and Chris Smoak
Background
1989
Larry Yaeger – Apple Computer
Polyworld – Artificial Life Software
Simulated small creatures that could eat,
mate, attack, see, and move
5 - 15 sec./frame
Some emergent behavior – showed promise
Artificial Life
Model and simulate complex biological
systems
Usually combines multiple traditional AI
parts
Introduces more biologically-based parts
Explore complex systems
Life, Tierra, Eden, Polyworld, etc.
Goals
Continue Polyworld’s intentions
Improve performance
Improve algorithms and correctness
Observe emergent behavior
Learn about ALife and complex systems
Validate biologically-based complex
systems
Simulated World
Large open space for critters to live in

Not too large to encourage interaction
Critters

50 – 100 at once
Obstacles
Plants
Long simulation time
Critter Design - Physical
Simple triangular shape
Vision
Sensitivity to color
 Adjustable field of view

Movement / Turning ability
Eating / Mating / Attacking / Lighting
Energy provides life

2 types of energy: stored and ready
Critter Design - Mental
BCM – like neural network brain


Model developed to approximate neurons in the visual
cortex
Adapt to changing inputs – plasticity
Vision and Energy inputs
Move / Eat / Attack, etc. outputs
Neurons appear in groups


10 – 32 neuron groups and same for neurons in groups
Neurons excitatory or inhibitory
Critter Design - Evolution
Employs standard genetic algorithm

No explicit fitness function


Fitness evaluated by “passing along your genes”
Crossover / Mutation of genes
Critter described by its genome
~1460 genes
 Describe all physical / mental aspects

Critter Design - Evolution
Physical genes
Energy usage rates
 Base metabolism / Max energy usage
 Indirectly describe size / strength

Mental genes
Describe general layout of brain and its
interconnections
 Brain “grown” from these parameters – no two
alike

Architectural Design
Distributed system with multiple cross-platform
clients (Windows / Linux / Solaris)




Server handles rendering the world and interactions
Clients process the neural networks
Real-time analysis client
IPC network protocol

Library by Reid Simmons (CMU/RI)
OpenGL rendering (5 – 15 frames/sec.)

User display and each critter’s view
Movie output (AVI format)
Analysis
Dumping of individual brains in multiple formats



Plaintext (in the future: import brains)
HTML (group connectivity overview)
.GDL (graphical layout)
Dumping of critter genome
Real-time dumping of various system-wide
statistics


HTML with JPEGs
Num. births / deaths, avg. critter energy, etc.
Analysis (cont)
Movie output
Speeds up visual observation
 Keeps record of interesting behavior

Critter selection / observation
Behind-the-shoulder view
 Eye view
 Various statistics

Lasers
Greg got bored and made our simulator a
“game”
You were the only one to have a weapon
It was a laser
It was red
It killed the other critters
Playtesting currently in progress
Behaviors
Interesting to note tendency of critters to
always be turning

Caused by the way the turn behavior is
expressed
Observed behaviors
Grazing – critter slows down when near food,
eats – multiple observations
 Prolific mating

Future Work
Getting all the bugs out
More analysis tools

Cross-generation genome analysis
Longer test-runs
Testing fitness
Placing existing critter in new environment
 Mixing separately-evolved populations

Increased performance