Instructor: Dr. Phillip Jones

Slides:



Advertisements
Similar presentations
1 - ECpE 583 (Reconfigurable Computing): XPS / MP3 Overview + Midterm Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 15:
Advertisements

Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
Evolvable Hardware. 2 EWH EHW:  A bio-inspired technique for hardware design. Living beings:  DNA constitute the encoding of every living being on the.
Evolutionary Algorithms Simon M. Lucas. The basic idea Initialise a random population of individuals repeat { evaluate select vary (e.g. mutate or crossover)
Ontogenetic systems Drawing inspiration from growth and healing processes of living organisms… …and applying them to electronic computing systems Phylogeny.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
1 - CPRE 583 (Reconfigurable Computing): FPGA Features and Convey Computer HC-1 Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
1 - CPRE 583 (Reconfigurable Computing): Exam 1 Review Session Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 13: Wed 10/5/2011.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Archs, VHDL 3 Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
1 - CPRE 583 (Reconfigurable Computing): Floating Point Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 14: Fri 10/12/2011 (Floating.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Systems Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 8: Wed.
Rinoy Pazhekattu. Introduction  Most IPs today are designed using component-based design  Each component is its own IP that can be switched out for.
1 - CPRE 583 (Reconfigurable Computing): VHDL to FPGA: A Tool Flow Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: 9/7/2011.
1 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: Wed 10/14/2009.
1 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 11: Wed 9/28/2011.
“Politehnica” University of Timisoara Course Advisor:  Lucian Prodan Evolvable Systems Web Page:   Teaching  Graduate Courses Summer.
1 - ECpE 583 (Reconfigurable Computing): Map, Place & route Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map,
1 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 13: Fri 10/8/2010.
1 - CPRE 583 (Reconfigurable Computing): Compute Models Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 20: Wed 11/2/2011 (Compute.
1 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 21: Fri 11/4/2011.
Evolving, Adaptable Visual Processing System Simon Fung-Kee-Fung.
1 - ECpE 583 (Reconfigurable Computing): CoreGen Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 18: Wed 10/26/2011 (CoreGen.
1 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 24: Fri 11/18/2011 (Evolvable.
Ontogenetic hardware Ok, so the Tom Thumb algorithm can self- replicate an arbitrary structure within an FPGA But what kind of structures is it interesting.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
1 - CPRE 583 (Reconfigurable Computing): High-level Acceleration Approaches Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 23:
1 - CPRE 583 (Reconfigurable Computing): Compute Models Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 12: Wed 10/6/2010 (Compute.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
1 - CPRE 583 (Reconfigurable Computing): Floating Point Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 18: Fri 10/27/2010 (Floating.
1 - ECpE 583 (Reconfigurable Computing): Project Introductions Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 16: Wed 10/14/2011.
1 - CPRE 583 (Reconfigurable Computing): Design Patterns Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 19: Fri 10/28/2011 (Design.
1 - CPRE 583 (Reconfigurable Computing): Streaming Applications Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 10: Fri 11/13/2009.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
1 - ECpE 583 (Reconfigurable Computing): Midterm Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 17: Wed 10/21/2011 (Midterm.
Reconfigurable Computing1 Reconfigurable Computing Part II.
Introduction to Genetic Algorithms
Genetic Algorithm in TDR System
Instructor: Dr. Phillip Jones
Evolution Strategies Evolutionary Programming
Instructor: Dr. Phillip Jones
Reconfigurable Computing (High-level Acceleration Approaches)
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing
CPRE 583 Reconfigurable Computing Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
GENETIC ALGORITHMS & MACHINE LEARNING
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Ontogenetic hardware Ok, so the Tom Thumb algorithm can self-replicate an arbitrary structure within an FPGA But what kind of structures is it interesting.
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
A Gentle introduction Richard P. Simpson
Instructor: Dr. Phillip Jones
Genetic Algorithm Soft Computing: use of inexact t solution to compute hard task problems. Soft computing tolerant of imprecision, uncertainty, partial.
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Presentation transcript:

Instructor: Dr. Phillip Jones CPRE 583 Reconfigurable Computing Lecture 19: Fri 11/5/2010 (Evolvable Hardware) Instructor: Dr. Phillip Jones (phjones@iastate.edu) Reconfigurable Computing Laboratory Iowa State University Ames, Iowa, USA http://class.ee.iastate.edu/cpre583/

Announcements/Reminders MP3: Extended due date until Monday midnight Those that finish by Friday (11/5) midnight bonus +1% per day before new deadline If after Friday midnight, no bonus but no penalty 10% deduction after Monday midnight, and addition -10% each day late Problem 2 of HW 2 (will now call HW3): released by Sunday midnight, will be due Monday 11/22 midnight. Turn in weekly project report (tonight midnight)

Initial Project Proposal Slides (5-10 slides) Project team list: Name, Responsibility (who is project leader) Team size: 3-4 (5 case-by-case) Project idea Motivation (why is this interesting, useful) What will be the end result High-level picture of final product High-level Plan Break project into mile stones Provide initial schedule: I would initially schedule aggressively to have project complete by Thanksgiving. Issues will pop up to cause the schedule to slip. System block diagrams High-level algorithms (if any) Concerns Implementation Conceptual Research papers related to you project idea

Projects Ideas: Relevant conferences FPL FPT FCCM FPGA DAC ICCAD Reconfig RTSS RTAS ISCA Micro Super Computing HPCA IPDPS

Initial Project Proposal Slides (5-10 slides) Project team list: Name, Responsibility (who is project leader) Project idea Motivation (why is this interesting, useful) What will be the end result High-level picture of final product High-level Plan Break project into mile stones Provide initial schedule: I would initially schedule aggressively to have project complete by Thanksgiving. Issues will pop up to cause the schedule to slip. System block diagrams High-level algorithms (if any) Concerns Implementation Conceptual Research papers related to you project idea

Weekly Project Updates The current state of your project write up Even in the early stages of the project you should be able to write a rough draft of the Introduction and Motivation section The current state of your Final Presentation Your Initial Project proposal presentation (Due Fri 10/22). Should make for a starting point for you Final presentation What things are work & not working What roadblocks are you running into

Projects: Target Timeline Teams Formed and Idea: Mon 10/11 Project idea in Power Point 3-5 slides Motivation (why is this interesting, useful) What will be the end result High-level picture of final product Project team list: Name, Responsibility High-level Plan/Proposal: Fri 10/22 Power Point 5-10 slides System block diagrams High-level algorithms (if any) Concerns Implementation Conceptual Related research papers (if any)

Projects: Target Timeline Work on projects: 10/22 - 12/8 Weekly update reports More information on updates will be given Presentations: Last Wed/Fri of class Present / Demo what is done at this point 15-20 minutes (depends on number of projects) Final write up and Software/Hardware turned in: Day of final (TBD)

Project Grading Breakdown 50% Final Project Demo 30% Final Project Report 30% of your project report grade will come from your 5-6 project updates. Friday’s midnight 20% Final Project Presentation

What you should learn Understand Evolvable Hardware basics? Benefits and Drawbacks Key types/categories

Evolvable Hardware One of the first papers to compare reconfigurable HW with biological organisms (1993) “Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi Biological organism => DNA GATACAAAGATACACCAGATA Reconfigurable Hardware => Configuration bitstream 000100111011011011011010101

Evolvable Hardware One of the first papers to compare reconfigurable HW with biological organisms (1993) “Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi Biological organism => DNA GATACAAAGATACACCAGATA Reconfigurable Hardware => Configuration bitstream 000100111011011011011010101 GATACA

Evolvable Hardware One of the first papers to compare reconfigurable HW with biological organisms (1993) “Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi Biological organism => DNA GATACAAAGATACACCAGATA Reconfigurable Hardware => Configuration bitstream 000100111011011011011010101 GATACA GATAGA

Evolvable Hardware One of the first papers to compare reconfigurable HW with biological organisms (1993) “Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi Biological organism => DNA GATACAAAGATACACCAGATA Reconfigurable Hardware => Configuration bitstream 000100111011011011011010101 GATACA GATAGA

Evolvable Hardware One of the first papers to compare reconfigurable HW with biological organisms (1993) “Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi Biological organism => DNA GATACAAAGATACACCAGATA Reconfigurable Hardware => Configuration bitstream 000100111011011011011010101 0001 1100

Evolvable Hardware One of the first papers to compare reconfigurable HW with biological organisms (1993) “Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi Biological organism => DNA GATACAAAGATACACCAGATA Reconfigurable Hardware => Configuration bitstream 000100111011011011011010101 0001 1100 0001 0000

Evolvable Hardware One of the first papers to compare reconfigurable HW with biological organisms (1993) “Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi Biological organism => DNA GATACAAAGATACACCAGATA Reconfigurable Hardware => Configuration bitstream 000100111011011011011010101 DFF 0001 1100 0001 0000 DFF

Classifying Adaption/Evolution Phylogeny Ontogeny Epigenesis (POE) Phylogeny: Evolution through recombination and mutations Biological reproduction : Genetic Algorithms Ontogeny: Self replication Multicellular organism's cell division : Cellular Automata Epigenesis: adaptation trigger by external environment Immune system development : Artificial Neural Networks

Classifying Adaption/Evolution Phylogeny Ontogeny Epigenesis (POE) Phylogeny: Evolution through recombination and mutations Biological reproduction : Genetic Algorithms Ontogeny: Self replication Multicellular organism's cell division : Cellular Automata Epigenesis: adaptation trigger by external environment Immune system development : Artificial Neural Networks Phylogeny Epigenesis Ontogeny

Artificial Evolution 30/40 year old concept. But applying to reconfigurable hardware is newish (1990’s) Evolutionary Algorithms (EAs) Genetic Algorithms Genetic Programming Evolution Strategies Evolutionary programming

Artificial Evolution 30/40 year old concept. But applying to reconfigurable hardware is newish (1990’s) Evolutionary Algorithms (EAs) Genetic Algorithms Genetic Programming Evolution Strategies Evolutionary programming

Artificial Evolution 30/40 year old concept. But applying to reconfigurable hardware is newish (1990’s) Evolutionary Algorithms (EAs) Genetic Algorithms Genetic Programming Evolution Strategies Evolutionary programming

Genetic Algorithms Genome: a finite sting of symbols encoding an individual Phenotype: The decoding of the genome to realize the individual Constant Size population Generic steps Initial population Decode Evaluate (must define a fitness function) Selection Mutation Cross over

Initialize Population Genetic Algorithms Initialize Population 0000 1000 1010 1111 1100 0000 1111 0000 0000 0000 1111 1111 Evaluate Decode Next Generation Selection Cross Over Mutation

Initialize Population Genetic Algorithms Initialize Population 0000 1000 1010 1111 1100 0000 1111 0000 0000 0000 1111 1111 1010 0011 1010 0100 1100 0000 1111 0000 0000 0000 1111 0100 Evaluate Decode (0110 1000) Next Generation Selection Cross Over Mutation

Initialize Population Genetic Algorithms Initialize Population 0000 1000 1010 1111 1100 0000 1111 0000 0000 0000 1111 1111 1010 0011 1010 0100 1100 0000 1111 0000 0000 0000 1111 0100 1010 0011 (.40) 1010 0100 (.70) 1100 0000 (.20) 1111 0000 (.10) 0000 0000 (.10) 1111 0100 (.60) Evaluate Decode (0110 1000) Next Generation Selection Cross Over Mutation

Initialize Population Genetic Algorithms Initialize Population 0000 1000 1010 1111 1100 0000 1111 0000 0000 0000 1111 1111 1010 0011 1010 0100 1100 0000 1111 0000 0000 0000 1111 0100 1010 0011 (.40) 1010 0100 (.70) 1100 0000 (.20) 1111 0000 (.10) 0000 0000 (.10) 1111 0100 (.60) Evaluate Decode (0110 1000) Next Generation Selection Cross Over 1010 0011 (.40) 1010 0100 (.70) 1111 0100 (.60) Mutation

Initialize Population Genetic Algorithms Initialize Population 0000 1000 1010 1111 1100 0000 1111 0000 0000 0000 1111 1111 1010 0011 1010 0100 1100 0000 1111 0000 0000 0000 1111 0100 1010 0011 (.40) 1010 0100 (.70) 1100 0000 (.20) 1111 0000 (.10) 0000 0000 (.10) 1111 0100 (.60) Evaluate Decode (0110 1000) Next Generation 1110 0011 1010 0000 1110 0100 1010 1011 0010 0000 1111 0100 Selection Cross Over 1010 0011 (.40) 1010 0100 (.70) 1111 0100 (.60) Mutation

Initialize Population Genetic Algorithms Initialize Population 0000 1000 1010 1111 1100 0000 1111 0000 0000 0000 1111 1111 1010 0011 1010 0100 1100 0000 1111 0000 0000 0000 1111 0100 1010 0011 (.40) 1010 0100 (.70) 1100 0000 (.20) 1111 0000 (.10) 0000 0000 (.10) 1111 0100 (.60) Evaluate Decode (0110 1000) Next Generation 1110 0000 1010 0011 1110 0100 1010 0000 0010 1011 1111 0100 1110 0011 1010 0000 1110 0100 1010 1011 0010 0000 1111 0100 Selection Cross Over 1010 0011 (.40) 1010 0100 (.70) 1111 0100 (.60) Mutation

Initialize Population Genetic Algorithms Initialize Population 1110 0000 1010 0011 1110 0100 1010 0000 0010 1011 1111 0100 1010 0011 1010 0100 1100 0000 1111 0000 0000 0000 1111 0100 1010 0011 (.40) 1010 0100 (.70) 1100 0000 (.20) 1111 0000 (.10) 0000 0000 (.10) 1111 0100 (.60) Evaluate Decode (0110 1000) Next Generation 1110 0000 1010 0011 1110 0100 1010 0000 0010 1011 1111 0100 1110 0011 1010 0000 1110 0100 1010 1011 0010 0000 1111 0100 Selection Cross Over 1010 0011 (.40) 1010 0100 (.70) 1111 0100 (.60) Mutation

Evolvable Hardware Platform

Genetic Algorithms GA are a type of guided search Why use a guide search? Why not just do an exhaustive search?

Genetic Algorithms GA are a type of guided search Why use a guide search? Why not just do an exhaustive search? Assume 1 billion individuals can be evaluated a second The genome of a individual is 32-bits in size How long to do an exhaustive search?

Genetic Algorithms GA are a type of guided search Why use a guide search? Why not just do an exhaustive search? Assume 1 billion individuals can be evaluated a second Now genome of a individual is a FPGA 1,000,000 bits in size How long to do an exhaustive search?

Evolvable Hardware Taxonomy Extrinsic Evolution (furthest from biology) Evolution done in SW, then result realized in HW Intrinsic Evolution HW is used to deploy individuals Results are sent back to SW for fitness calculation Complete Evolution Evolution is completely done on target HW device Open-ended Evolution (closest to biology) Evaluation criteria changes dynamically Phylogeny Epigenesis Ontogeny

Evolvable Hardware Applications Prosthetic Hand controller chip Kajitani “An Evolvable Hardware Chip for Prostatic Hand Controller”, 1999

Evolvable Hardware Applications Tone Discrimination and Frequency generation Adrian Thompson “Silicon Evolution”, 1996 Xilinx XC6200

Evolvable Hardware Applications Tone Discrimination and Frequency generation Node Functions Node Genotype

Evolvable Hardware Applications Tone Discrimination and Frequency generation Evolved 4KHz oscillator

Evolvable Hardware Issues?

Evolvable Hardware Issues?

Evolvable Hardware Platforms Commercial Platforms Xilinx XC6200 Completely multiplex base, thus could program random bitstreams dynamically without damaging chip Xilinx Virtex FPGA Custom Platforms POEtic cell Evolvable LSI chip (Higuchi)

Next Lecture Overview the synthesis process

Notes Notes