180 likes | 197 Views
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.
E N D
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