Semantic GP Frameworks: Alignment in the Error Space and

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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Optimization problem
Introduction to Genetic Programming
Software Engineering point of view
A case study
Semantic Genetic Programming
Overview
Semantic space and error space
Alignment in the Error Space
Reconstruction of the Optimum
A New Goal For GP
How to search for Optimally Aligned Individuals?
ESAGP
Experimental Study
Computational Complexity
ESAGP : observations
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
such that
f (s) ≥ f (i), ∀i ∈ S
Stefano Ruberto (GSSI)
f (s) ≥ f (i), ∀i ∈ Ns
where Ns is in the neighbourhood
of s, given some criteria
Semantic GP
July 5, 2016
4 / 48
Supervised Learning
Symbolic Regression
Symbolic Regression

x11
 x21

 ..
 .
x12
x22
..
.
···
···
..
.
xm1 xm2 · · ·
x1n
x2n
..
.

y1
y2 

.. 
. 
xmn ym
In a regression problem we look for the function g such that
∀i = 1, 2, · · · , m holds that
g (xi1 , xi2 , · · · , xin ) = yi
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]
������������
������������
������
�������
��������������������������������
���������������������������
����������������
��������
����������
������������������
���������������
��������
��������
��������
��������
�������������������
����������
�����������������������
����������������������
���������������������
����
�����
�����������
��������������������������������
���������������������������
����������������
��������������������������������
��������������������
�������������������
�
�������������������
�
�������������������
�������������������
�
�������������������
�������������������
�������
�������������
����������
�������
��������������
���������������������
����������������
����������
��������
�� �� ��
��������
�� �� ��
���
��������
��� ����
�
����������
���������
����
������
����������
����
����������
��������������
����������
������������
���������
����
��������������������
������������������
Figure 1: Our approach to offline learning and optimisation with online deployment for adaptivity.
Figure 2: Our approach applied to dynamic adaptive
optimisation of smart devices.
Humans may learn overnight during sleep cycles by reOur overall approach is illustrated in Figure 1. The apStefano Ruberto (GSSI)
Semantic
GP
10 / 48
playing
the day’s events; a process July
we 5,
call2016
‘dreaming’[39].
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
distr.
sample
Exp.
distr.
Operational
profile
Uniform
distr.
Uncertainty
Specification
Workload
Resource
demand
Figure 2: Specification of uncertain parameters with different distributions.
Note that differences in these values can be brought by multiple implementations of the same software operation that may require different amounts of
resource demands.
Our approach simultaneously considers all uncertain parameters because
they jointly contribute to the performance of the software system. Samples are generated from the probability distributions of uncertain parameters
(with the support of the R tool2 ) using the Monte Carlo (MC) method [24],
and the performance indices are calculated for each system sample.
Use both model
predictions and
software
measurements to
evaluate software
performances
System Monitoring
Software system
3.2. Performance Evaluation
Our approach evaluates the performance of the software system for different parameter values (samples) obtained with the MC method. However, the
identification of all possible effects arising from parameter uncertainty may
require an infinitely high number of system samples, which is not feasible
due to time limitations. In contrast, we use a dynamic stopping criterion
which monitors the accuracy of the performance indices associated to system
samples and automatically stops the MC method when the number of such
samples is statistically significant.
Figure 3 illustrates the performance evaluation operational step. First, a
series of k samples is analyzed by monitoring the performance properties of
interest, and output results are stored for each sample. Such results are pro2
Machine Learning
Sample
count
ML models
Sample
count
Performance
prediction
Performance
measurement
Performance Robustness
Sample
count
Tolerance
level
http://www.R-project.org
8
Results
Interpretation
Performance
measurements
and predictions
Figure 4: Performance robustness evaluation of the software system.
Stefano Ruberto (GSSI)
the communication between software components (e.g., exchanging a lower
number of messages), or by replacing critical software components with ones
that require lower amounts of resource demands [6]. The evaluation process
is then reiterated on the refactored system that replaces the system under
analysis, up to when acceptable performance robustness is achieved (e.g.,
Semantic GP
July 5, 2016
12 / 48
A case study
Results
Table 4: JPetStore — Performance Robustness Evaluation.
Results on the real-world enterprise application, i.e., the JPetStore
Performance Requirements
TH
RT
U
(T H, U )
Measurements
and Predictions
(T H, RT ) (RT , U )
(T H, RT , U )
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) with the ones obtained while considering meausurements only, as reported
in the second row of Table 4. In this row some entries show the ”−” symbol
that means we were not able to calculate the performance robustness since
the dynamic stopping criterion has not been achieved, i.e., the number of
samples was not sufficient to evaluate its robustness.
It is worth TH to notice that in Table
4 the robustness
values are quite promisRT U TH, U and Pred considering
30.02 30.02 30.02 30.02 supingMeas while
ML predictions
vs. measurements
only, and this
Measurements 125.25 78.25 121.00 124.75 ports the accuracy of the ML techniques. It is interesting to point out that
Figure
11:
Computational
time
for measurements
predictions vs
only.
for
the
throughput
(T H)
requirement
we getand
a robustness
ofmeasurements
0.68
that is very
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
13 / 48
100 80 60 40 20 0 Introduction to Genetic Programming
Solution structure
Unlike other evolutionary algorithms Genetic Programming (GP) has a
variable solution size : often tree structures are used.
Functional symbols:
F = {f1 , f2 , ..., fn }
Terminal symbols:
T = {t1 , t2 , ..., tn }
Example:
y = 2 ∗ x2 + x
Figure: Syntactic tree.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
14 / 48
Introduction to Genetic Programming
Evolution cycle
Initialization: full,
grow, RH&H, etc.
Selection:
Tournament
Selection, Fitness
Proportional
Selection, Ranking
Selection, etc.
Genetic operators:
Mutation,
Crossover, etc.
Fitness function:
RMSE, etc.
.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
15 / 48
Open Problems
Overview
Bloat: During the evolution, the number of nodes in the trees start
growing in a way non proportional to fitness improvement.
Premature convergence: The loss of genetic diversity in the population
trapped in a local optima.
Overfitting: Given a hypothesis space H , a hypothesis h ∈ H is said to
overfit the training data if there exists some alternative
hypothesis h0 ∈ H, such that h has smaller error than h0 over
the training examples, and h0 has a smaller error than h over
the entire distribution of instances.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
16 / 48
Semantic Genetic Programming
Overview
Goal: maximize phenotype diversity in population to counteract
premature convergence exploring larger areas of the solution space.
Structural diversity (Genotype) it’s not enough!
y = 2 ∗ x2 + x
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
17 / 48
Semantic Genetic Programming
[Nguyen at al., 2011][Ngu11], [Moraglio et al., 2012] [MKJ12], . . .
Taking the test cases input vector ~x the
semantic vector ~s .

x11 x12 · · ·
 x21 x22 · · ·

 ..
..
..
 .
.
.
xm1 xm2 · · ·
software gives as output the
x1n
x2n
..
.

y1
y2 

.. 
. 
xmn ym
~s ≡ [p(x11 , x12 , · · · , x1n ), p(x21 , x22 , · · · , x2n ), · · · , p(xm1 , xm2 , · · · , xmn )]
The target is expressed as the vector :
~t ≡ [y1 , y2 , · · · , ym ]
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
18 / 48
Overview
summary
Presenting a new way of exploiting semantic awareness and geometry
in GP (looking for alignments in the error space ESAGP)
Presenting two different methods that implement this idea
Discussing the obtained results both on training and on test data for
real life applications and benchmark problems.
Future works and discussion:
A general GP framework based on Equivalence Classes EC
EC incorporate: ESAGP, Linear Scaling and other simple yet effective
algorithm.
Preliminary results.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
19 / 48
Genotypic and Semantic Space
The target is also
represented by a point in
the semantic space and
usually it does not
correspond to the origin
?
Genotypic space
Stefano Ruberto (GSSI)
Semantic space
Semantic GP
July 5, 2016
20 / 48
From Semantic to Error Space
error vector of an individual P the vector:
e~P = s~P − ~t
This is a point in a(nother) n-dimensional space, that we call error space.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
21 / 48
From Semantic to Error Space
Example
Each point in the
semantic space is
translated by
subtracting the
target
What we get is the
error space
?
Genotypic space
Stefano Ruberto (GSSI)
target
Error space
Semantic GP
In the error space,
the target is
represented by the
origin
July 5, 2016
22 / 48
Alignment in the Error Space
Definition: Optimally Aligned
Individuals
Two GP individuals A and B are optimally
aligned if a scalar constant k exists such
that: e~A = k · e~B
Error Space
Stefano Ruberto (GSSI)
In other words, two individuals are
optimally aligned if the straight line
that joins their error vectors also
intersects the origin.
If we find two optimally aligned
individuals, we are able to
reconstruct a globally optimal
solution analytically
Semantic GP
July 5, 2016
23 / 48
Reconstruction of the Optimum
Let A and B be optimally aligned individuals then:
e~A = k · e~B
−−−−−−−−−−−−−−−−−−→ ~sA − ~t = k · (~sB − ~t )
applying the def. of error vector
Obtaining: ~t =
1
1−k
· ~sA −
k
1−k
· ~sB
Now, we construct an individual with the following genotype:
Important!!
:
Stefano Ruberto (GSSI)
The semantics of this
individual is equal to ~t
and thus it is a global
optimum !
:
Semantic GP
July 5, 2016
24 / 48
A New Goal For GP
If we find two optimally aligned individuals, then we are able to
reconstruct a globally optimal solution analytically
Note
This holds regardless of the quality of each one of these two individuals!
Thus now the objective of GP can be finding two optimally
aligned individuals (instead of searching directly for a globally
optimal solution).
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
25 / 48
How to search for Optimally Aligned Individuals?
There is a very large number of ways of doing it!
We just implemented one of them.
The idea:
Assume that these are the error
vectors of the individuals in a GP
population (for instance, the initial
population of a GP run)
Error space
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
26 / 48
How to search for Optimally Aligned Individuals?
We consider a particular
direction (point) that
(informally speaking) “stands in
the middle” of the error vectors
of the individuals in the
population.
We call this point attractor.
Error space
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
27 / 48
How to search for Optimally Aligned Individuals?
Than, we make GP “push” the
individuals in the population
towards alignment with the
attractor
Error space
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
28 / 48
The idea of Optimal Alignment can be extended
Definition. Optimally Coplanar Individuals
Three GP individuals A, B and C are optimally coplanar if the
bi-dimensional plane on which e~A ,~
eB and e~C lie also intersects the origin of
the error space.
The proof is not given here (see
the paper!). It is based on the
idea that the concept of
optimal coplanarity can be
seen as an “iteration” of the
concept of optimal
alignment. In fact, in this
figure and are aligned with , and
and are aligned with the origin.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
29 / 48
Proposed GP Systems
ESAGP-1 Objective: finding two individuals whose error vectors are
aligned on (i.e. belong to) a straight line that intersects the origin.
ESAGP-2 Objective: finding three individuals whose error vectors
belong to a bi-dimensional plane intersecting the origin.
ESAGP-µ Objective: finding µ + 1 individuals whose error vectors
belong to a µ-dimensional plane intersecting the origin.
[RVCS14]
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
30 / 48
ESAGP-1
Algorithm
ESAGP-1 maintains an archive of all the ”semantically new”
individuals that have been found during the GP run.
Every time a new individual P is generated, the algorithm checks
whether it is optimally aligned with any of the individuals already in
the archive.
If so, the algorithm terminates
Otherwise, P is added to the archive, unless the archive already
contains an individual with the same semantics, and the algorithm
continues.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
31 / 48
ESAGP-1
Fitness
The fitness of an individual is the angle between its error vector and the
attractor, and it has to be minimized.
Error is never used directly as fitness!
In this work, as attractor, we used:
~a =
X
P∈Pop
θ
e~P
k~
eP k
Remark: the angle between two
vectors e~A and ~a is:
e~A × ~a
θ = arccos
k~
eA k · k~
eA k
Error Space
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
32 / 48
Experimental Study
Dataset
Two complex real-life applications (prediction of pharmacokinetic
parameters in drug discovery)
Dataset Number of Number of
Name(ID)
features
instances
Short goal explanation
%F
241
359
Predicting the value of human oral
bioavailability of a candidate new drug as a
function of its molecular descriptors
LD50
626
234
Predicting the value of the toxicity of a candidate
new drug as a function of its molecular
descriptors
Both these datasets are freely available
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
33 / 48
Experimental Results (Errors)
GS−GP
55
55
Test Error (%F)
60
50
45
40
35
30
2600
Training Error (LD50)
ESAGP−2
ST−GP
50
45
40
35
100
200
30
300
Number of Generations
2600
Test Error (LD50)
Training Error (%F)
ESAGP−1
60
2400
2200
2000
1800
100
200
300
Number of Generations
2400
2200
2000
1800
100
200
300
100
Number of Generations
Stefano Ruberto (GSSI)
200
300
Number of Generations
Semantic GP
July 5, 2016
34 / 48
Experimental Results (Size)
200
Number of Nodes (LD50)
Number of Nodes (%F)
300
250
200
150
100
50
0
0
10
20
30
40
150
100
0
0
50
Number of Generations
ESAGP−1
Stefano Ruberto (GSSI)
50
10
20
30
40
50
Number of Generations
ESAGP−2
Semantic GP
GS−GP
ST−GP
July 5, 2016
35 / 48
Computational Complexity
Example
ESAGP-1 system add no further fitness evaluation to the
complexity of standard GP; it just adds comparisons among (error)
vectors that have already been calculated (and stored), in order to
check for alignment.
In the worst case, ESAGP-1 does n vector comparisons (where n is
the archive size).
In the worst case, n is equal to (population size × number of
generations) (it does not take into account semantic repetitions that
are very frequent).
In practice: the overhead of time given by the vector comparisons is
compensated by the fact that the ESAGP system evolves smaller
trees, so the ESAGP system has approximately the same running
time as ST-GP.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
36 / 48
Observations
ESAGP
ESAGP-1 and -2 find comparable solutions to the ones of GS-GP
after 350 (even 2000!) generations and better than the ones of
ST-GP on the test set in 350 generations.
Individuals evolved by ESAGP-1 are smaller than the ones of
ESAGP-2, which are smaller than the ones of ST-GP, which are much
smaller than the ones of GS-GP
Adding dimensions seems beneficial (ESAGP-2 consistently
outperforms ESAGP-1)
Looking for alignment can be easier than directly looking for a
global optimum.
In our experimental study, we have obtained solutions of comparable
quality as other systems, and smaller, earlier.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
37 / 48
Future Works: Semantic based equivalence classes
Motivations
Semantic based equivalence classes (EQC)
Different definitions of equivalence are used
Exploring the solution space by classes may be more efficient
One single individual represent the class (no ”duplicate” solutions)
It is easy to analytically obtain the best individual of the class
Probably not all the interesting solutions are in a solution space
reachable directly by evolution structured like GP
Interesting equivalence classes can capture property of the domain
(e.g. position invariance, scale invariance, rotation invariance etc.)
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
38 / 48
Test GP Syetem using EQC
GPMUL, GPPLUS
EQC concept is actualized by means of two different novel genetic
programming systems, in which two different definitions of equivalence are
used.
Equivalent by Translation: GPPLUS
2 individuals are equivalent if P~1 − P~2 = ~k and ki = kj
∀i, j
Equivalent by Scale: GPMUL
2 individuals are equivalent if
Stefano Ruberto (GSSI)
P~1
P~2
= ~k and ki = kj
Semantic GP
∀i, j
July 5, 2016
39 / 48
Approximate EQC and fitness function
GOAL
~ equivalent to ~t
The goal of these GP system is to evolve P
To measure the distance from the EQC of the target we use the
dispersion of values in ~k e.g. the variance
Filter redundant solutions
Establishing a threshold on variance of ~k we can reject ”duplicate”
semantics.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
40 / 48
Preliminary experimental validation
test problems
Dataset
# Features
# Instances
Airfoil Self-Noise [BPM89]
Concrete Compressive Strength [CVS13]
Parkinson Voice Recording (TOTAL) [CVS14]
Parkinson Voice Recording (MOTOR) [CVS14]
Concrete Slump Test [Yeh09]
Yacht Hydrodynamics [OLG07]
5
8
19
19
9
6
1502
1029
5875
5875
102
307
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
41 / 48
Preliminary experimental validation
filter vs NON-filter
Median Best Fitness
10 11 12 13
8
FGPMUL
GPMUL
9
Median Best Fitness
10 11 12 13 14
9
15
FGPPLUS
GPPLUS
14
Test set of dataset ”Concrete Compressive Strength” filter vs NON-filter
0e+00 1e+07 2e+07 3e+07 4e+07
Computational Effort
Stefano Ruberto (GSSI)
Semantic GP
0e+00
2e+07
4e+07
Computational Effort
July 5, 2016
6e+07
42 / 48
Preliminary experimental validation
Stefano Ruberto (GSSI)
3
Semantic GP
GSGP
FLS
FGPMUL
FGPPLUS
2
Performance of
GPPLUS and
GPMUL are
comparable with
Linear scaling and
Geometric Semantic
GP
(example on dataset
”slump”)
Best Fitness
4
5
6
7
General peformance example
July 5, 2016
43 / 48
Preliminary experimental validation
Effect on solutions sizes
Technique
Dataset
P-value
average size
% Diff pop.
Average size
P-value Best
% Diff on
size
best ind. Size
GPMUL
airfoil
concrete
motor
motor total
slump
yacht
0,00
0,59
0,34
0,00
0,00
0,00
-47,66
10,38
33,98
-63,76
-93,31
-44,85
0,01
0,53
0,48
0,00
0,00
0,00
-43,03
8,63
45,32
-63,00
-88,70
-40,39
GPPLUS
airfoil
concrete
motor
motor total
slump
yacht
0,00
0,27
0,06
0,74
0,00
0,00
-24,39
-5,77
-18,88
-17,98
-58,43
-61,48
0,00
0,94
0,05
0,99
0,00
0,00
-28,24
0,90
-35,05
-15,07
-50,16
-57,62
LS
airfoil
concrete
motor
motor total
slump
yacht
0,00
0,19
0,33
0,23
0,00
0,00
-37,70
-6,43
-13,22
-26,27
-81,94
-63,96
0,05
0,33
0,23
0,27
0,00
0,00
-19,02
-10,75
6,14
-27,34
-81,09
-63,85
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
44 / 48
Conclusion
ESAGP and EQC methods do not optimise directly the error
results have comparable or better error
solution size is smaller
ESAGP is very fast
Simple EQC can match partial input (advantages over linear scaling)
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
45 / 48
[Bac96]
T. Back.
Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic
Algorithms.
Oxford University Press, 1996.
[BPM89]
T. Brooks, D. Pope, and A. Marcolini.
Airfoil self-noise and prediction.
Technical report, NASA RP-1218, 1989.
[CVS13]
Mauro Castelli, Leonardo Vanneschi, and Sara Silva.
Prediction of high performance concrete strength using genetic programming with geometric semantic genetic
operators.
Expert Systems with Applications, 40(17):6856–6862, 2013.
[CVS14]
Mauro Castelli, Leonardo Vanneschi, and Sara Silva.
Prediction of the unified Parkinson’s disease rating scale assessment using a genetic programming system with
geometric semantic genetic operators.
Expert Systems with Applications, 41(10):4608 – 4616, 2014.
[ES15]
Agoston E Eiben and Jim Smith.
From evolutionary computation to the evolution of things.
Nature, 521(7553):476–482, 2015.
[Har07]
Mark Harman.
The current state and future of search based software engineering.
In 2007 Future of Software Engineering, pages 342–357. IEEE Computer Society, 2007.
[HJ01]
Mark Harman and Bryan F Jones.
Search-based software engineering.
Information and Software Technology, 43(14):833 – 839, 2001.
[HJL+ 14] Mark Harman, Yue Jia, William B Langdon, Justyna Petke, Iman Hemati Moghadam, Shin Yoo, and Fan Wu.
Genetic improvement for adaptive software engineering (keynote).
In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing
Systems, pages 1–4. ACM, 2014.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
46 / 48
[MKJ12]
Alberto Moraglio, Krzysztof Krawiec, and Colin G. Johnson.
Geometric semantic genetic programming.
In Carlos A. Coello Coello, Vincenzo Cutello, Kalyanmoy Deb, Stephanie Forrest, Giuseppe Nicosia, and Mario
Pavone, editors, Parallel Problem Solving from Nature, PPSN XII (part 1), volume 7491 of LNCS, pages 21–31.
Springer, 2012.
[Ngu11]
Quang Uy Nguyen.
Examining Semantic Diversity and Semantic Locality of Operators in Genetic Programming.
PhD thesis, University College Dublin, Ireland, 18 July 2011.
[OLG07]
I. Ortigosa, R. López, and J. Garcı́a.
A neural networks approach to residuary resistance of sailing yachts prediction.
Proceedings of the International Conference on Marine Engineering MARINE, 2007:250, 2007.
[PK14]
Riccardo Poli and John Koza.
Genetic Programming.
Springer, 2014.
[RVCS14] Stefano Ruberto, Leonardo Vanneschi, Mauro Castelli, and Sara Silva.
ESAGP - a semantic gp framework based on alignment in the error space.
In Genetic Programming, pages 150–161. Springer, 2014.
[Yeh09]
I-C Yeh.
Simulation of concrete slump using neural networks.
Proceedings of the Institution of Civil Engineers-Construction Materials, 162(1):11–18, 2009.
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
47 / 48
The End
Stefano Ruberto (GSSI)
Semantic GP
July 5, 2016
48 / 48