evolutionary programming using ptolemy ii

16
h Biennial Ptolemy Miniconference erkeley, CA, May 9, 2003 Evolutionary Programming using Ptolemy II Greg Rohling Georgia Tech Research Institute Georgia Institute of Technology [email protected] u

Upload: badru

Post on 15-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Evolutionary Programming using Ptolemy II. Greg Rohling Georgia Tech Research Institute Georgia Institute of Technology [email protected]. Fitness Evaluation. New Gene Pool. Genes w/ Measure. Mutation. Selection. Mating. Child Genes. Parental Genes. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Evolutionary Programming using Ptolemy II

5th Biennial Ptolemy MiniconferenceBerkeley, CA, May 9, 2003

Evolutionary Programming using Ptolemy II

Greg RohlingGeorgia Tech Research InstituteGeorgia Institute of [email protected]

Page 2: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 2

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 GenePool

FitnessEvaluation

Mutation Selection

MatingChild

Genes

Parental Genes

Genes w/Measure

Page 3: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 3

• Any multi-input, single output function

• Fun problems have multiple objectives– Pd, False Alarms

• Thus Multiple Objective Evolutionary Algorithms

New GenePool

FunctionEvaluation

MutationNatural

Selection

MatingChild

Genes

Parental

Genes

Genes w/Measure

FitnessEvaluation

Gen

om

e

Measure

Gen

om

e

FitnessEvaluation

MOEATechnique Measure

Multiple Objective Evolutionary Algorithms (MOEA)

Page 4: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 4

Objective 1

Ob

jec

tiv

e 2

Pareto Individuals

Pareto Front

MOEA – Pareto Optimality

• Pareto Optimal or Non-dominated– Not out-performed in

every dimension by any single individual

– Pareto Front

• Dominated or inferior– Outperformed by some

other individual in EVERY objective

Page 5: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 5

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

D1

D0

D0

D1+

*

*

3

Koza 1996

Page 6: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 6

Flexible topologyFeedback possibleDomain Specific FunctionsReusable componentsLayered on Ptolemy II

Inputs Output

Output Select

Outputs

Type Params

Inputs

Function

Genome

Type Params

Inputs

Function

Type Params

Inputs

Function

EP: Block Diagram Approach

Page 7: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 7

PRESTO

Ptolemy II

TrainingData

GTMOEASearchSpace

Generator

List ofPossibleElements

SearchSpace

MoMLGenerator

XMLDescription

MoMLDescription

ObjectiveValues

Pattern

Recognition

Evolutionary

Synthesis

Through

Optimization

Page 8: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 8

PRESTO: MoML Generator

Ptolemy IITrainingData

GTMOEA

MoMLGenerator

XMLDescription

MoMLDescription

ObjectiveValues

• GTMOEA produces XML description of location in search space

• MoML Generator produces MoML for Ptolemy II evaluation.– 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• MoML description

– Error Correction• Feedback• Data types• Unconnected ports

Page 9: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 9

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– AddSubtract– Scaler– Constant– Multiplier– Sin/Cos

Page 10: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 10

PRESTO Example

• Individual 6695, Good at Objective 2

Ptolemy II Description of System

Page 11: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 11

• Creating “Sub-Algorithms” for AAR44 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

PRESTO Real World Effort

Page 12: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 12

• Training/Evaluation Data– Sensor and Navigation data– 40 hrs of False Positive Data

collected from flights– 10s of Live fire missile shots– 1000s of Simulated missile shots

• Objectives– Maximize

• Probability of detection• Negative False Positive Count• Time To Intercept Minimum• Time To Intercept Average

PRESTO Real World Effort

Page 13: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 13

• 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.

PRESTO Advantages

Page 14: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 14

• 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

PRESTO Disadvantages

Page 15: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 15

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

Ptolemy II Suggestions

Page 16: Evolutionary Programming using Ptolemy II

Ptolemy Miniconference 16

Questions?