120 likes | 132 Views
Explore the concept of programming inspired by biological processes, including evolutionary programming, genetic algorithms, and genetic programming. Learn from nature's programs and harness the power of millions of organisms to lead towards good programs. Discover the remarkable expressiveness of biological systems and build robust, survivable systems from unreliable components.
E N D
Programming the Way Biology ProgramsDavid EvansUniversity of Virginia, Department of Computer Science NSF Advanced Computation Inspired by Biological Processes Conference, Arlington, VA 7-8 April 2003
Copying How Nature Programs • Mimic the Process • Evolutionary programming, genetic algorithms, genetic programming • Mimic the Results (this talk) • Take advantage of the trillions of organisms that have died already to lead nature towards good programs swarm.cs.virginia.edu
Observations About Nature’s Programs • Responsive • Aware of state of self and surroundings • Localized • Communication through chemical diffusion • Redundant • Millions of cells die every second, but humans keep working • Remarkably Expressive • Human genome – 3B base pairs (~250MB) • Two human programs differ by about 500KB swarm.cs.virginia.edu
Research Goal • Build robust, survivable systems from unreliable components • Learn from biological systems that do this • Learn about biology by building biological programs (speculative) swarm.cs.virginia.edu
Cell-Based Programming Model • Correspondence to biological cells • Genes turn on and off state changes • Emit different chemicals depending on state, sense chemicals in surroundings • Cells can divide asymmetrically • Lots of simplifications: not simulating reality • Mass conservation optional • No chemical interactions • No physical forces (except collisions) swarm.cs.virginia.edu
Building a Sphere state center emits (radius, 6), (alive, 1) transitions (alive < 1) from d (center, fill) d state fill emits (alive, 1) diffuses radius transitions (alive < 1) from d and (radius > 1) (fill, fill) d Selvin George http://swarm.cs.virginia.edu/cellsim swarm.cs.virginia.edu
Radius 7 “sphere” (1200 cells) swarm.cs.virginia.edu
Distributed Wireless File ServiceFile Distribution and Update Server inhibit replicate swarm.cs.virginia.edu
Distributed Wireless File ServiceFile Distribution and Update swarm.cs.virginia.edu
Amorphous Computing • MIT AI/LCS Research Project • Growing Point Language (Daniel Coore) • Botanical model of programming • Able to make complex topologies using gradients • Origami Shape Language (Radhika Nagpal) swarm.cs.virginia.edu
Education • “Education across the Biological, Mathematical, and Computer Sciences” (last month) • Work toward curricula that require all CS students to learn biology, and all biology majors to learn computer science • Requires CS courses that teach computer science to non-majors • Requires Biology courses that don’t require 4 semesters of Chemistry swarm.cs.virginia.edu
Summary • Biology has killed trillions of organisms to solve complex engineering problems • We should be able to learn from both the process and the solutions nature found • Fifty years ago, biology and computer science became deeply intertwined • Academia still hasn’t caught up swarm.cs.virginia.edu