Evolutionary Programming using Ptolemy II Greg Rohling Georgia

  • Slides: 16
Download presentation
Evolutionary Programming using Ptolemy II Greg Rohling Georgia Tech Research Institute Georgia Institute of

Evolutionary Programming using Ptolemy II Greg Rohling Georgia Tech Research Institute Georgia Institute of Technology Greg. Rohling@gtri. gatech. edu 5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003

Evolutionary Algorithms (EA) • Evolutionary Algorithms – Inspired by Holland 1975 – Mimic the

Evolutionary Algorithms (EA) • Evolutionary Algorithms – Inspired by Holland 1975 – Mimic the processes of plant and animal evolution – Find a maximum of a complex function. New Gene Pool Fitness Evaluation Mutation Child Genes w/ Measure Selection Mating Parental Genes Ptolemy Miniconference 2

Multiple Objective Evolutionary Algorithms (MOEA) Genome • Any multi-input, single output function New Gene

Multiple Objective Evolutionary Algorithms (MOEA) Genome • Any multi-input, single output function New Gene Pool Genes w/ Measure Natural Selection Mutation Child Genes Fitness Evaluation Function Evaluation Mating Parental Genes Measure • Fun problems have multiple objectives – Pd, False Alarms Genome • Thus Multiple Objective Evolutionary Algorithms Fitness Evaluation MOEA Technique Measure Ptolemy Miniconference 3

 • Pareto Optimal or Non-dominated – Not out-performed in every dimension by any

• Pareto Optimal or Non-dominated – Not out-performed in every dimension by any single individual – Pareto Front Objective 2 MOEA – Pareto Optimality Pareto Individuals • Dominated or inferior – Outperformed by some other individual in EVERY objective Pareto Front Objective 1 Ptolemy Miniconference 4

Evolutionary Programming (EP) • Evolutionary Algorithms EA = Tuning parameters of an existing system

Evolutionary Programming (EP) • Evolutionary Algorithms EA = Tuning parameters of an existing system • EP = Deriving new systems by allowing tuning of parameters for components, AND allowing modification of system topology * + 3 D 1 * D 0 Koza 1996 Ptolemy Miniconference 5

EP: Block Diagram Approach Flexible topology Feedback possible Domain Specific Functions Reusable components Layered

EP: Block Diagram Approach Flexible topology Feedback possible Domain Specific Functions Reusable components Layered on Ptolemy II Type Params Function Inputs Genome Inputs Output Select Outputs Ptolemy Miniconference 6

PRESTO List of Possible Elements Search Space Generator Pattern Recognition Evolutionary Synthesis Through Optimization

PRESTO List of Possible Elements Search Space Generator Pattern Recognition Evolutionary Synthesis Through Optimization Search Space GTMOEA XML Description Objective Values Mo. ML Generator Mo. ML Description Training Data Ptolemy II Ptolemy Miniconference 7

PRESTO: Mo. ML Generator • GTMOEA produces XML description of location in search space

PRESTO: Mo. ML Generator • GTMOEA produces XML description of location in search space • Mo. ML Generator produces Mo. ML for Ptolemy II evaluation. GTMOEA – Reads Meta data description of Ptolemy II elements • • # of Ports Data types for ports Data type relations between ports Support for feedback # of input/output required Attributes Specified Mo. ML description Objective Values XML Description Mo. ML Generator Mo. ML Description – Error Correction • Feedback • Data types • Unconnected ports Training Data Ptolemy II Ptolemy Miniconference 8

PRESTO Example • Desire: Build box that takes input of a ramp function and

PRESTO Example • Desire: Build box that takes input of a ramp function and best meets 3 objectives • Objective Space – 3 sets of training data • Noisy sinusoids – Minimize least square error • Search Space – – – Add. Subtract Scaler Constant Multiplier Sin/Cos Ptolemy Miniconference 9

PRESTO Example • Individual 6695, Good at Objective 2 Ptolemy II Description of System

PRESTO Example • Individual 6695, Good at Objective 2 Ptolemy II Description of System Ptolemy Miniconference 10

PRESTO Real World Effort • Creating “Sub-Algorithms” for AAR 44 Missile Warning Receiver Operational

PRESTO Real World Effort • Creating “Sub-Algorithms” for AAR 44 Missile Warning Receiver Operational Flight Program (OFP) • Wrapped C++ (Really just C) OFP with JNI to allow calls from within Ptolemy II • Using Discrete Event Domain to force Wrapped components to be called in sequential order • Targeting 3 areas of the OFP Ptolemy Miniconference 11

PRESTO Real World Effort • Training/Evaluation Data – Sensor and Navigation data – 40

PRESTO Real World Effort • Training/Evaluation Data – Sensor and Navigation data – 40 hrs of False Positive Data collected from flights – 10 s of Live fire missile shots – 1000 s of Simulated missile shots • Objectives – Maximize • • Probability of detection Negative False Positive Count Time To Intercept Minimum Time To Intercept Average Ptolemy Miniconference 12

PRESTO Advantages • Tries many new ideas • No preconceived notions • Does not

PRESTO Advantages • Tries many new ideas • No preconceived notions • Does not get discouraged with failure • Works 24 hours a day 7 days a week • Scalable • Resulting Evolutionary Program can be graphically examined to understand algorithm evolved. Ptolemy Miniconference 13

PRESTO Disadvantages • MOEP - Requires evaluation of many (millions) of individuals • Ptolemy

PRESTO Disadvantages • MOEP - Requires evaluation of many (millions) of individuals • Ptolemy II requires – 3 seconds to startup – Ptolemy Simulation running over 400 times slower than the C++-only implementation Ptolemy Miniconference 14

Ptolemy II Suggestions • Ptolemy II does a good job of error detection. How

Ptolemy II Suggestions • Ptolemy II does a good job of error detection. How about adding default error correction? Ptolemy Miniconference 15

Questions? Ptolemy Miniconference 16

Questions? Ptolemy Miniconference 16