1 / 28

Evolvable Hardware and the Embryonics Approach

Evolvable Hardware and the Embryonics Approach. Matthew Ziegler CS 851 – Bio-Inspired Computing. Overview. POE Model The three axes of evolvable hardware Embryonics Overview and hierarchy Implementation approaches Example applications Evaluation and Conclusion. POE Model.

boyerm
Download Presentation

Evolvable Hardware and the Embryonics Approach

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Evolvable Hardware and the Embryonics Approach Matthew Ziegler CS 851 – Bio-Inspired Computing

  2. Overview • POE Model • The three axes of evolvable hardware • Embryonics • Overview and hierarchy • Implementation approaches • Example applications • Evaluation and Conclusion

  3. POE Model • Bio-inspired hardware can be partitioned along three axes • Phylogeny: temporal evolution (GAs) • Ontogeny: cellular division • Epigenesis: learning (ANNs)

  4. Phylogenetic Axis (Evolving) Phylogeny • All genetic operations carried out in hardware • Open-ended evolution (survivability) • All genetic operations carried out in hardware • Not open-ended evolution • Real Circuit • Some operations carried out in software • Evolutionary circuit design • All operations carried out in software online offline

  5. Ontogenetic Axis (Growing) • Ontogeny involves growth, replication, regeneration • Replication – exact duplicate, no genetic operators (ontogenetic) • Reproduction – genetic operators involved (phylogenetic)

  6. Epigenetic Axis (Learning) • Rote learning vs. Intelligent learning • Intelligent learning involves generalization • Predesigned systems can be viewed as a leaned systems with instinct • Learned systems are faster and less resource demanding • Artificial Neural Networks are primary example Learning Systems • Human brain consists of both learned and learning systems

  7. POE Space • PO plane – evolving hardware that exhibits replication characteristics • PE plane – evolving hardware that can learn • Instincts arise during the course of evolution (Baldwin effect) • Language – humans have innate ability to learn language, but do not know language at birth • OE plane – growing, learning hardware • Growing, adaptive neural networks based on information learned • POE space – ANN (E), implemented via self-replicating multicellular automaton (O), whose genome is subject to evolution (P)

  8. Embryonics Project Goals Multicellular organisms share the following features: • Multicellular Organization • Organism divided into a finite number of cells • Different types of cells realize different functions • Cellular Division • Cells generate one or two daughter cells • Entire genome copied in each daughter cell • Cellular Differentiation • Each cell has a particular function, genome expression • Cell function is determine by physical position in organism

  9. Embryonics Hierarchy • Population • group of organisms • Organism • group of cells • Cell • small processor and memory • Molecule • FPGA element

  10. Artificial Genome • Operative Genome (OG) • program containing all genes, position in array determines which gene is expressed • each cell contains entire OG, i.e., instruction for all cells • Ribosome Genome (RG) • configuration string to assign logic functions to each molecule • Polymerase Genome (PG) • height and width of the cell (number of molecules), number of spare columns

  11. Molecule • MUX based FPGA element • MOLCODE defines individual molecule configuration, portion of Ribosome Genome • Molecule-level redundancy and error detection • Only checks MUX failure, what about registers? • Could add third MUX and voter for triple-modular redundancy (TMR) MOLCODE + (stored in registers)

  12. Cell • Cells composed of a group of molecules • Spare columns included to account for faulty molecules • Ribosome Genome • configuration string to assign logic functions to each molecule • Polymerase Genome • height and width of the cell (number of molecules), number of spare columns

  13. Cellular Fault Tolerance • Faulty molecules replaced be spares • Polymerase Genome determines the number of spare columns • Example • Can tolerant one faulty molecule per column • Two faulty molecules results in a KILL No faults 1 fault / col 2 faults / column

  14. Cellular Replication Cell contains entire Operative Genome, but only one gene is expressed X-Y coordinates determine gene expression

  15. Organism • Group of cells forms an Organism X-Y coordinates determine gene expression

  16. Organism Fault Tolerance • A Faulty cell causes all cells in the column to be marked with a KILL • Faulty column replaced by spare column

  17. Population from Organism Replication • Organism replicates in X-Y directions • Organisms are required to be identical (apparently)

  18. Implementation • “Eventual Implementation” • Want flexible architecture that will eventually be implemented in a “new kind of fine-grained FPGA” • Each element consists of a MUX and programmable connection network ~ molecule • First Demonstration system • essentially removes the concept of a molecule • Artificial cell implementation called MICTREE (microinstruction tree), based on a binary decision machine

  19. MICTREE Implementation • MICTREE cell sequentially executes programs using the following instruction set: • Essentially a 4-bit wide processor • Limited to 16 x 16 array (256 cells, register sizes) • Microprogram limited to 1024 instructions (RAM size) • microprogram space for Operative Genome

  20. Simple Example - StopWatch • Simple organism with 4 cells • Countmod10 – counts tens minutes or seconds • Countmod6 – counts 6 tens minutes or seconds

  21. Other Simple Examples • Random number generator based of Wolfram’s CA • Specialized Turing machine for parenthesis checking

  22. Second Generation: MUXTREE Molecule • MICTREE applications limited to 1024 instructions and 16 x16 arrays • New molecule called MUXTREE (multiplexer tree) • Based on order binary decision diagrams • 20-bit configuration string

  23. Fault Tolerance in MUXTREE • Muxes and register duplicated, output compared for fault • Third copy of register is a present for self-repair (TMR) • Configuration register tested every time (shift register) • Faults in the switch block can be detected, but not repaired

  24. MUXTREE Shift Binary Decision Machine • 30 x 30 array (900) MUXTREE molecules, 2 Cells • Program memory is a shift memory using the D-flip-flops in the MUXTREEs • Most of resources in MUXTREE wasted • Difficult to embed typical RAM in MUXTREE arrays • Example application modulo-60 counter • Operative Genome has 36 instructions Shift Memory

  25. Mapping the MUXTREE to an FPGA • Storing the entire Operative Genome is in each cell is an inefficient use of hardware • Area for a living organism is less “expensive” than in hardware • 16 MUXTREEs could be mapped to FPGA is OP is fully specified for each cell • New version of MUXTREE, each cell stores only its own portion of the OG as well as all cells in a neighboring column • reduces storage requirements from n2 + 1 to n + 1 • 25 MUXTREEs mapped to FPGA in more recent work • example application is a frequency divider on one FPGA • Is this reasonable?

  26. Looking at the Numbers… • 900 MUXTREEs for a shift binary decision machine • programmed to act as a modulo 60 counter • 25 MUXTREE per FPGA • 900 / 25 = 36 FPGAs?! - way too big! • Optimal implementation of modulo 60 counter has • 6 Registers, 6 muxes, 6 nand gates • should only occupy a small portion of one FPGA • Frequency divider example • essentially a counter as well • Optimal implementation would occupy small percentage of FPGA

  27. Neat Idea, but Too Expensive • Embryonics approach looks to have around 10-100x area overhead • too costly for current technologies • living organisms grow/evolve into “free” area, where as all hardware area must be allocated initially • Speed and Power Consumption should lag behind conventional approaches as well • + Plus Side • evolvable, reconfigurable design paradigm • multiple levels of fault-tolerance (important for future technologies) • may be more appealing for future technologies, if “area grows on trees”

  28. Summary • POE model is a reference for many evolvable hardware researchers • Phylogeny axis: evolving • Ontogeny axis: growing • Epigenesis axis: learning • The Embryonics Approach is inspired by nature’s architecture • molecule, cell, organism, population • Functioning prototype systems based on Embryonics have been demonstrated • However, the hardware overhead is quite expensive for today’s technologies

More Related