PhD – Final Presentation
Advanced Techniques for Solving
Optimization Problems through
Evolutionary Algorithms
Advisor: Giovanni Squillero
PhD Candidate: Marco Gaudesi
Outline
Intro: Evolutionary Algorithms (EAs) µGP EA Theory DMAB Group Evolution Distance Metric EA Practice
Test Programs Generation Test Programs Compaction Virus
WetLand
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
µGP
3
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
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
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
GEN
OTY
PE
ADD AX, BX SUB 55, CX JNZPHENOT
YP
E
label1: ADD AX, BX SUB 55, CX JNZ label1 individualA.s
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
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.
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
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
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]