Semantic GP Frameworks: Alignment in the Error Space and Equivalence classes Stefano Ruberto GSSI July 5, 2016 Stefano Ruberto (GSSI) Semantic GP July 5, 2016 1 / 48
Overview Optimization problem 1 Introduction to Genetic Programming 2 Software Engineering point of view 3 A case study 4 Semantic Genetic Programming 5 Overview 6 Semantic space and error space 7 Alignment in the Error Space 8 Reconstruction of the Optimum 9 10 A New Goal For GP 11 How to search for Optimally Aligned Individuals? 12 ESAGP 13 Experimental Study 14 Computational Complexity 15 ESAGP : observations 16 Future Works: semantic based equivalence classes Stefano Ruberto (GSSI) Semantic GP July 5, 2016 2 / 48
Optimization Problem Solution space and fitness Solve an optimization problem to find the best solutions in a (often huge) candidate set. Considering a pair ( S , f ) where S is the set of all possible solutions ( search space ) and f the function: f = S → R f measures the quality of the solution in S and is called fitness function Stefano Ruberto (GSSI) Semantic GP July 5, 2016 3 / 48
Optimization Problems Definitions Global Optimum and Local Optimum Local maxima Maximization Problem the solution s ∈ S such that We look for the solution s ∈ S f ( s ) ≥ f ( i ) , ∀ i ∈ N s such that where N s is in the neighbourhood f ( s ) ≥ f ( i ) , ∀ i ∈ S of s , given some criteria Stefano Ruberto (GSSI) Semantic GP July 5, 2016 4 / 48
Supervised Learning Symbolic Regression Symbolic Regression x 11 x 12 · · · x 1 n y 1 · · · x 21 x 22 x 2 n y 2 . . . . ... . . . . . . . . x m 1 x m 2 · · · x mn y m In a regression problem we look for the function g such that ∀ i = 1 , 2 , · · · , m holds that g ( x i 1 , x i 2 , · · · , x in ) = y i Stefano Ruberto (GSSI) Semantic GP July 5, 2016 5 / 48
Introduction to Genetic Programming. The Genetic Programming is framed within the broader family of evolutionary algorithms (EA) [Bac96].The EA are inspired by Darwin’s theory of evolution in its various aspects and, specifically for GP, on the iterative process based on reproduction , mutation , competition and selection . Note One of the main features of the GP is to output, as a result of the evolution, a real algorithm. White box approach as opposed to black box one. Stefano Ruberto (GSSI) Semantic GP July 5, 2016 6 / 48
Introduction to Genetic Programming. Example applications Genetic programming has produced results that can be called “human competitive” from a wide variety of fields , here is some example of successful application [PK14],[ES15]: Regression or Classification of non-linear problem. In telecommunications: speech quality estimation In finance: evolving effective bidding strategies. Networks: network coding. Clinical applications: Cancer detectors, seizure detectors, mental health diagnosis, etc Stefano Ruberto (GSSI) Semantic GP July 5, 2016 7 / 48
Introduction to Genetic Programming. Application example in Software Egineering Search Based Software Engineering Software engineering is ideal for the application of metaheuristic search techniques, such as genetic algorithms, simulated annealing and tabu search. Such search-based techniques could provide solutions to the difficult problems of balancing competing constraints and may suggest ways of finding acceptable solutions in situations where perfect solutions are either theoretically impossible or practically infeasible. Mark Harman 2001 [HJ01] There is usually a need to balance competing constraints. Occasionally there is a need to cope with inconsistency. There are often many potential solutions. There is typically no perfect answer. . . but good ones can be recognised. There are sometimes no precise rules for computing the best solution. Stefano Ruberto (GSSI) Semantic GP July 5, 2016 8 / 48
Introduction to Genetic Programming. Application example in Software Egineering Fundamental steps Representation of the problem. Definition of the fitness function Existing Applications of Optimization Techniques to Software engineering [Har07] Accurate cost estimates Staff allocations in project planning Requirements to form the next release Optimizing design decisions Optimizing source code Optimizing test data generation Optimizing test data selection Optimizing maintenance and reverse engineering ... many others... Stefano Ruberto (GSSI) Semantic GP July 5, 2016 9 / 48
Introduction to Genetic Programming. Application example Adaptive Software Engineering Genetic Improvement for Adaptive Software Engineering [HJL + 14] ������������ ������������ ������������������� � ������������������� � ������������������ ������������������� ��������������� ���������� ������������������� � �������� ������������������� ������������������� ������ �������� ������� �������� �������� ������� �������� ���������� ������ ������������������� �������������������������������� ��������� ���������� ���������� ��������������������������� ���� ����������������������� ���� ���������������� ���������������������� ��������������������� ���� �������������� ��������������������� ����� ���������� ���������������� ���������� �������������� ������������ ���������� ����������� �������������������������������� ��������������������������� ���������������� ��������� ������������ � �������� �� �� �� �������� �� �� �� �������������������������������� ���������� �������� �� ���� �� ���� � � � �������������������� ������� �������������������� ������������������ Stefano Ruberto (GSSI) Semantic GP July 5, 2016 10 / 48
A case study Performance measure Using Machine Learning Techniques for Predicting Performance Robustness of Software Under Uncertainty Measurement-based performance evaluation process in order to support stakeholders in the evaluation of systems that have to meet performance requirements. Uncertainty is critical in the performance domain when it relates to workload, operational profile, and resource demand. It is necessary to sample uncertain parameters The application-level monitoring of software system samples is very expensive in terms of time consumption and resource usage . Sampled Input Param. : Number Of Users, Think Time, Number Of Items To Cart, Cpu Catalog. Measured Param. : Response time, Throughput,CPU Utilization. Stefano Ruberto (GSSI) Semantic GP July 5, 2016 11 / 48
A case study Procedure Gamma Exp. distr. distr. Operational Workload profile Uniform sample distr. Uncertainty Specification Resource demand System Monitoring Machine Learning Sample Sample ML models Software system count count Use both model predictions and Performance Performance prediction software measurement measurements to Performance Robustness Sample count evaluate software Tolerance level performances Results Performance measurements Interpretation and predictions Stefano Ruberto (GSSI) Semantic GP July 5, 2016 12 / 48
A case study Results Results on the real-world enterprise application , i.e., the JPetStore Performance Requirements TH RT U ( TH , U ) ( TH , RT ) ( RT , U ) ( TH , RT , U ) Measurements and Predictions 0.68 0.95 0.75 0.66 0.66 0.73 0.64 Measurements 0.69 0.89 0.74 0.66 — — — 140 ¡ 120 ¡ Computa?onal ¡ ?me ¡ (hours) ¡ 100 ¡ 80 ¡ 60 ¡ 40 ¡ 20 ¡ 0 ¡ TH ¡ RT ¡ U ¡ TH, ¡ U ¡ Meas ¡ and ¡ Pred ¡ 30.02 ¡ 30.02 ¡ 30.02 ¡ 30.02 ¡ Measurements ¡ 125.25 ¡ 78.25 ¡ 121.00 ¡ 124.75 ¡ Stefano Ruberto (GSSI) Semantic GP July 5, 2016 13 / 48
Recommend
More recommend