advanced techniques for solving optimization problems through ... gaudesi_presentation.pdf ·...

15
PhD Final Presentation Advanced Techniques for Solving Optimization Problems through Evolutionary Algorithms Advisor: Giovanni Squillero PhD Candidate: Marco Gaudesi CAD Group DAUIN February 27 th , 2015

Upload: others

Post on 25-Sep-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

PhD – Final Presentation

Advanced Techniques for Solving Optimization Problems through

Evolutionary Algorithms

Advisor: Giovanni Squillero

PhD Candidate: Marco Gaudesi

CAD Group – DAUIN – February 27th, 2015

Page 2: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

Outline Intro: Evolutionary Algorithms (EAs)

µGP

EA Theory

DMAB

Group Evolution

Distance Metric

EA Practice

Test Programs Generation

Test Programs Compaction

Virus

WetLand

Q & A

Page 3: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

Evolutionary Computation

Distance Metric

DMAB

Group Evolution

Test Generation

WetLand

Virus

EA Test Compaction

Test Compaction

Test of Reorder Buffer Memory

Iterated Prisoner’s DIlemma

Page 4: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

Evolutionary Algorithm

Useful when we know the final goal, but not how to reach it

Evolution is not a random process

- Random mutations afford materials

- Objective evaluation: only useful mutations are preserved

- The process requires to assess the final effect of modifications, not to design them

- EAs are stochastic optimization techniques

EAs are population based

EAs

Page 5: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

µGP3 Framework

MicroGP

A computational approach for pursuing a goal defined by the user

First task: creation of assembly-language programs for testing microprocessors

The user is required to evaluate the candidate solutions proposed by the toolkit

µGP3 characteristics were exploited and modified to implement new technologies discussed within this thesis

Page 6: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

THEORY

Page 7: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

EC theory: PDMAB, operators selection The Dynamic Multi-Armed Bandit mechanism

(DMAB) is used to select best operators to be applied during evolution

State-of-the-art: standard MAB algorithm require a big amount of time

to detect that the best operator has changed

It was proposed to use a statistical change detection test, creating the Dynamic MAB (DMAB) algorithm

Activity and improvements:

Modification of the DMAB selection strategy:

Allowing operator to sporadically fail

No performance feedback after each application

Publication [submitted]:

J. Belluz, M. Gaudesi, G. Squillero, A. Tonda “Operator Selection using Improved Multi-Armed Bandit”, GECCO 2015.

EA Theory

?

?

?

Page 8: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

EC theory: Group Evolution

New EA technique, introducing the concept of “group”

State-of-the-art: EAs use a single-individual solution-oriented approach

Activities: New group operators

New fitness function: it takes into account the overlapping of individuals within a group

Example based on strings coverage presented by Banzhaf

EA Theory

Page 9: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

EC theory: Genotype / Phenotype distance Universal Information Distance (UID): the distance between two individuals is the number of distinct symbols they do not have in common. State-of-the-art: Distance between individuals is calculated at phenotype level, or

comparing also fitness

Activities: Definition of “symbol” at genotype level

Investigation on new approaches to calculate the difference among lists of symbols

Results: Strong correlation with phenotype-level in two problems where

individuals represent string of bits and assembly language programs

Publications: M. Gaudesi, G. Squillero, A. Tonda “An Efficient Distance Metric for

Linear Genetic Programming”, GECCO 2013 M. Gaudesi, G. Squillero, A. Tonda “Universal information distance

for genetic programming”, GECCO 2014.

EA Theory

GE

NO

TY

PE

ADD

AX,

BX

SUB

55,

CX

JNZ

PH

EN

OT

YP

E

label1: ADD AX, BX

SUB 55, CX

JNZ label1

individualA.s

Page 10: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

PRACTICE

Page 11: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

Automated Wetland Design

Intro:

Wetland: artificial ponds, able to filter water through plants

State-of-the-art:

Traditionally designed by expert, through a trial & error approach

Activity:

Proposing an automatic approach to wetland design, exploiting an

evolutionary algorithm. Developed in collaboration with the University of

Padova and INRA Research Center (Thiverval-Grignon, France)

Publications:

M. Gaudesi, A. Marion, T. Musner, G. Squillero, A. Tonda “Evolutionary

Optimization of Wetlands Design”, 28th Annual ACM Symposium on Applied

Computing, SAC 2013, Coimbra, Portugal

M. Gaudesi, A. Marion, T. Musner, G. Squillero, A. Tonda “An Evolutionary

Approach to Wetland Design”, Evo* ‘13

EA Practice

Page 12: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

Evolving malware

Generation of individuals (viruses) in an hostile environment, monitored by antivirus

Activities: Code Generation: starting from a database formed by code of several

malicious applications, the final goal of the evolution is to create a malware not detected by anti-virus

Code Integration: the EA is used to determine the optimal position for hiding malicious code inside an existing executable

Evolvable routine to encrypt malware

Publication: A. Cani, M. Gaudesi, E. Sanchez, G. Squillero, A. Tonda “Towards

Automated Malware Creation: Code Generation and Code Integration”, ACM 29th Symposium On Applied Computing (SAC 2014), 2014.

EA Practice

Page 13: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

Group Evolution [to miniMIPS]

Intro:

Theoretical approach to a new EA technique, introducing the concept of

“group”

State-of-the-art:

Currently, EAs use an approach single-individual solution-oriented

Activity:

Applied in CAD environment, in order to improve faults coverage of

assembler programs for verifying miniMIPS processor

Publication:

Ciganda L., Gaudesi M., Lutton E., Sanchez E., Squillero G., Tonda A.

“Automatic Generation of On-Line Test Programs through a Cooperation

Scheme”, 13th International Workshop on Microprocessor Testing and

Verification (MTV 2012), Austin, Texas

EA Practice

Page 14: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

Test Programs Compaction

The shorter is the execution time needed to run a test program and check the correctness of results, the better is the quality of the tests suite.

Goal: Removing useless instructions within the test program, without affecting faults covered by the original one

Activities: Definition of a simple approach to apply EA to compaction problem

Definition of the fitness function, formed by two values: the first one is the number of non covered faults, to be minimized; the second one is the number of zeros (representing the useless instructions), to be maximized

Evaluation of the effectiveness of this approach on the miniMIPS processor core

Publication: R. Cantoro, M. Gaudesi, E. Sanchez, P. Schiavone, G. Squillero, “An

Evolutionary Approach for Test Program Compaction”, LATS 2015

EA Practice

Page 15: Advanced Techniques for Solving Optimization Problems through ... GAUDESI_presentation.pdf · Linear Genetic Programming”, GECCO 2013 ... malicious applications, the final goal

Ciganda L., Gaudesi M., Lutton E., Sanchez E., Squillero G., Tonda A. “Automatic Generation of On-Line Test Programs through a Cooperation Scheme”, MTV 2012

M. Gaudesi, A. Marion, T. Musner, G. Squillero, A. Tonda “Evolutionary Optimization of Wetlands Design”, 28th Annual ACM Symposium on Applied Computing, SAC 2013

M. Gaudesi, A. Marion, T. Musner, G. Squillero, A. Tonda “An Evolutionary Approach to Wetland Design”, Evo* ‘13

M. Gaudesi, G. Squillero, A. Tonda “An Efficient Distance Metric for Linear Genetic Programming”, GECCO 2013

A. Cani, M. Gaudesi, E. Sanchez, G. Squillero, A. Tonda “Towards Automated Malware Creation: Code Generation and Code Integration”, SAC 2014.

M. Gaudesi, M. Jenihhin, J. Raik, E. Sanchez, G. Squillero, V. Tihhomirov, R. Ubar “Diagnostic Test Generation for Statistical Bug Localization using Evolutionary Computation”, Evo* ‘14.

S. Di Carlo, M. Gaudesi, E. Sanchez, M. Sonza Reorda “A Functional Approach for Testing the Reorder Buffer Memory”, JETTA – Journal of Electronic Testing.

M. Gaudesi, S. Saleem, E. Sanchez, M. Sonza Reorda, E. Tanowe, “On the In-Field Test of Brench Prediction Units using the Correlated Predictor mechanism”, DDECS 2014

M. Gaudesi, E. Piccolo, G. Squillero, A. Tonda, “TURAN: Evolving non-deterministic players for the iterated prisoner’s dilemma”, CEC 2014

M. Gaudesi, G. Squillero, A. Tonda, “Universal information distance for genetic programming”, GECCO 2014

R. Cantoro, M. Gaudesi, E. Sanchez, P. Schiavone, G. Squillero, “An Evolutionary Approach for Test Program Compaction”, LATS 2015

M. Gaudesi, M. Sonza Reorda, I. Pomeranz “On Test Program Compaction”. In: ETS ‘15. [in press]

N. Palermo, V. Tihhomirov, T.S. Copetti, M. Jenihhin, J. Raik, S. Kostin, M. Gaudesi, G. Squillero, M. Sonza Reorda, F. Vargas “Rejuvenation of Nanoscale Logic at NBTI-Critical Paths Using Evolutionary TPG”. LATS 2015. [In press]

M. Gaudesi, E. Piccolo, G. Squillero, A. Tonda, “Exploiting Evolutionary Modeling to Prevail in Iterated Prisoner’s Dilemma Tournaments”, IEEE Trans. on Computational Intelligence and AI in Games [minor review - submitted]

Thanks for Your Attention

PUBLICATIONS LIST