280 likes | 382 Views
Evolution in Computation. James A. Foster Initiative for Bioinformatics And Evolutionary Studies (IBEST), MRCI, CSDS, and Computer Science University of Idaho. Outline of Talk. Evolutionary computation (EC) Overview History Applications Optimization Automatic programming
E N D
Evolution in Computation James A. Foster Initiative for Bioinformatics And Evolutionary Studies (IBEST), MRCI, CSDS, and Computer Science University of Idaho
Outline of Talk • Evolutionary computation (EC) • Overview • History • Applications • Optimization • Automatic programming • Hardware design • Problems and promise • Code bloat: survival of the fattest • Robustness: why do evolved things endure? • Hardness: when is EC not efficient? • Randomness
Two Abstractions Evolution: population based process in which individuals reproduce, inherit information via a noisy transmission process, interact with an environment which defines a fitness gradient on which selection operates. Computation: information transformations induced by finite algorithms in discrete, well-defined steps. Evolution and computation are abstractions, which can be: studied independently of their implementations, implemented in new ways
EC History • ’50 A. Turing • ’66 I. Rechenberg, H.P. Schwefel, P. Bienert: fluid dynammics • ’66 L. Fogel, A. Owens, M. Walsh: machine intelligence • ’75 J. Holland: modeling natural evolution • ’85 J. Koza (and others): genetic programming
Optimization Problems • Minimize sorting network error • Maximize “locomotion”* • Optimizing a stock market portfolio • Fuel optimal two stroke engine • Drug design • Disease diagnosis *Not done in my lab, but sweet stuff
Case Study: Sorting Networks Robustness: an apparent intrinsic property of evolved systems - ability to degrade gracefully with the presence of local failures. (Robustness for free) • Is this effect real, and how strong is it? • What representations are best for developing robustness in circuits? • How does redundancy influence the robustness of evolved circuits? How much is enough? Method: evolve sorting networks, measure performance degradation with point failures in circuits
Inputs Output 0 0 1 0 1 1 1 0 1 0 Sorting Nets: Example
Sorting Nets: Example Inputs Output 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1
SN: Linear Individuals CE (1,4) CE (0,3) CE (1,3) CE (1,2) CE (2,4) CE (0,2) CE (3,4) CE (0,4) 001 100 000 011 001 011 001 010 010 100 000 010 011 100 000 100
CE (1,4) CE (0,3) CE (0,2) CE (1,3) CE (2,3) CE (2,3) CE (1,4) CE (1,2) CE (0,3) CE (3,4) CE (1,3) CE (2,4) CE (0,4) CE (1,2) CE (0,3) CE (0,1) SN: Crossover in Arrays CE (1,4) CE (0,3) CE (1,3) CE (2,4) CE (0,4) CE (2,3) CE (1,4) CE (1,2) CE (0,3) CE (3,4) CE (0,2) CE (1,3) CE (2,3) CE (1,2) CE (0,3) CE (0,1)
SN: Fitness Number of bits correctly sorted, biased exponentially toward low order bits: Where C(x)i and N(x)i are outputs of wire i from correct circuit C and evolved circuit N (resp.) on input x, and kis all k bit inputs.
SN: Robustness • Bitwise stability (bs): percentage of correctly sorted bits over all single point circuit failures • BS higher in evolved circuits than hand-designed ones • BS low for minimal circuits, high for circuits 5-10% larger than minimum, and decreases for larger circuits
SN: Robustness Size Data Here is some data
Case Study: Locomotion Karl Sims, Thinking Machines Inc., evolved “organism” descriptions and behaviors.
Evolving Software & Hardware • Sorting circuits • Robot control • Machine code • Growing chips • Image convolutions • Feature extraction
CE (1,4) CE (0,3) CE (0,4) CE (1,3) CE (1,2) CE (2,4) CE (0,2) CE (3,4) SN: Tree Representation
SN: Tree Crossover 1. Randomly select one node on each tree 2. Swap Nodes and subtrees
Stuck on One Stuck on Zero Pass Through All errors * * * * MSN Tree *** *** ** *** Linear ** ** *** ** SN: Representation Effects
SN: Evolving Physical Circuits 0 0 1 0 1 1 0 1 Cells ….. 64 Cells ….. 64
Evolving Circuits: More Results • 17 electrical circuits evolved to date which infringe on patents or rediscover prior best known designs • Filters, thermometers, amplifiers • Arithmetic circuits • Controllers (Higuchi’s prosthetic arm, missile guidance) • Image convolutions and classification
Case Study: Image Convolutions We evolved FPGA circuits to produce convolutions on laser diffraction patterns, pre-computed on special hardware.
Case Study: Regression Problem: given target function, evolve symbolic functional representation to approximate it. Fitness: square of errors on several points. GP Demo by Hans U. Gerber, Swiss Federal Inst. Of Tech.
EC: Limitations & Advantages • Robustness: inherent advantage of evolution • Survival of the fattest • Hardness: limitations from complexity theory, VLSI design, information theory • (Pseudo) randomness
Survival of the Fattest • Variable size genomes grow without correlation to fitness • Protective neutral code • Removal bias • Combinatorics (in trees) • Given insufficient selective pressure for parsimony • Only parsimony pressure helps • “Liposuction” does not • Trees converge toward a fixed shape
Concluding Thoughts • Bring more biology into engineering and Computer Science—it works • Bring more engineers and computer scientists into biology—it works • There are soooooo many interesting questions, and soooooo much data • And so very many interesting people • Gee, this is fun!
John Dickinson Jim Frenzel Deb Frincke Larry & Millie Johnston Steve McGrew Holly Wichman IBEST BMDO DOD/OST NIH/NIGMS John Cavalieri Bill Danielson Joe Dumoulin Brad Harvey Kosuke Imamura Jason Masner Mark Meysenburg Bart Rylander Jackie Shoaf Acknowledgements