advanced techniques for solving optimization problems through ... gaudesi_presentation.pdf ·...
TRANSCRIPT
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
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
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
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
µ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
THEORY
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
?
?
?
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
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
PRACTICE
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
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
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
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
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