Automatic Categorization Algorithm for Evolvable Software Archive
Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.
-
Upload
roderick-mckenzie -
Category
Documents
-
view
216 -
download
2
Transcript of Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.
Matthew ZieglerCS 851 – Bio-Inspired Computing
Evolvable Hardware and the
Embryonics Approach
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)
• 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
Phylogeny
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:
1. Multicellular Organization• Organism divided into a finite number of cells• Different types of cells realize different functions
2. Cellular Division• Cells generate one or two daughter cells• Entire genome copied in each daughter cell
3. 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