SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Quasi-Optimal Recombination Operator
Francisco Chicano, Gabriela Ochoa, Darrell Whitley, Renato Tinós
DENTIDAD
rca Universidad de Málaga
VERSIÓN VERTICAL EN POSITIVO
VERSIÓN VERTICAL EN NEGATIVO
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 2
• Recombination Operators
• Gray-Box Optimization
• Dynastic Potential Crossover
• Experiments
• Conclusions and Future Work
Outline
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 4
Recombination Operators
a b b c d c c a a d
a a c c a b c b a d
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
Parent 1
Parent 2
a b c c d b c b a dChild
Gene Transmission → Respect Property
Radcliffe (1994)
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 5
Dynastic Potential
Set of solutions that can be generated by the recombination operator
If d(x,y) is the Hamming distance between solutions x and y…
Single point crossover DP size: 2 d(x,y)
z-point crossover DP size: O( d(x,y)z )
Uniform crossover DP size: 2d(x,y)
Largest DP size for a recombination operator with the gene transmission
property:
2d(x,y)
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 6
Optimal Recombination Operator
Produces the best solution in the largest dynastic potential…
…exploring hyperplane defined by the common variables (2d(x,y) solutions)
Eremeev,
Kovalenko
(2013)
x f(x)
x f(x)
It requires time O(2n) in a black-box setting
It can be done in time
in a gray-box setting for low-epistasis
functions
Abstract. The output of an optimal recombination operator for t
parent solutions is a solution with the best possible value for the
jective function among all the solutions fulfilling the gene transmiss
property: the value of any variable in the o↵spring must be inheri
from one of the parents. This set of solutions coincides with the larg
dynastic potential for the two parent solutions of any recombination
erator with the gene transmission property. In general, exploring the
dynastic potential is computationally costly, but if the variables of
objective function have a low number of non-linear interactions amo
them, the exploration can be done in O(4 (n + m) + n2
) time, for pr
lems with n variables, m subfunctions and a constant. In this pap
we propose a quasi-optimal recombination operator, called Dynastic P
tential Crossover (DPX), that runs in O(4 (n + m) + n2
) time in a
case and is able to explore the full dynastic potential for low-epista
combinatorial problems. We compare this operator, both theoretica
and experimentally, with two recently defined e cient recombinat
operators: Partition Crossover (PX) and Articulation Points Partit
Crossover (APX). The empirical comparison uses NKQ Landscapes a
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 7
Contribution
• Time complexity:
• Behaves like an Optimal Recombination Operator for low-epistasis
fitness functions functions
• Based on Gray-Box Optimization
f any variable in the o↵spring must be inherited
ts. This set of solutions coincides with the largest
the two parent solutions of any recombination op-
ransmission property. In general, exploring the full
computationally costly, but if the variables of the
ve a low number of non-linear interactions among
can be done in O(4 (n + m) + n2
) time, for prob-
m subfunctions and a constant. In this paper,
timal recombination operator, called Dynastic Po-
X), that runs in O(4 (n + m) + n2
) time in any
xplore the full dynastic potential for low-epistasis
ms. We compare this operator, both theoretically
with two recently defined e cient recombination
Crossover (PX) and Articulation Points Partition
e empirical comparison uses NKQ Landscapes and
Quasi-Optimal
Recombination Operator
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 9
Gray-Box structure: MK Landscapes
Example (k=2):
f = + + +f(1)(x) f(2)(x) f(3)(x) f(4)(x)
x1 x2 x3 x4
ndscape [3] with bounded epistasis k is de-
tion f(x) that can be written as the sum
ns, each one depending at most on k input
is:
f(x) =
mX
i=1
f(i)
(x), (1)
unctions f(i)
depend only on k components
d Landscapes generalize NK-landscapes and
problem. We will consider in this paper that
ubfunctions is linear in n, that is m 2 O(n).
pes m = n and is a common assumption in
t m 2 O(n).
S IN THE HAMMING BALL
Equ
change
f(l)
th
this su
On the
we onl
change
acteriz
we can
3.1
Each subfunction is unknown
and depends on k variables
All compresible pseudo-Boolean
functions can be transformed into
this in polynomial time
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 10
Variable Interaction
f = + + +f(1)(x) f(2)(x) f(3)(x) f(4)(x)
x1 x2 x3 x4
xi and xj interact when they appear together in the same subfunction*
If xi and xj don’t interact: ∆ij = ∆i + ∆j
x4 x3
x1 x2
Variable Interaction Graph (VIG)
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 11
Let us suppose our function has the following VIG…
if(x1, x2, . . . , xn) = f(x1, x2, . . . , 1i, . . . , xn) f(x1, x2, . . . , 0i, . . . , xn)
f(x1, x2, x3, x4) = x1x2 + x2x3 + x2x4 + x3x4
x9
x20
x23
x22
x21
x8
x10
x1 x2
x3
x4
x5
x6
x7
x15
x14
x13
x12
x11
x16
x19
x18
x17
Recombination Graph
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 12
Let us suppose our function has the following VIG…
if(x1, x2, . . . , xn) = f(x1, x2, . . . , 1i, . . . , xn) f(x1, x2, . . . , 0i, . . . , xn)
f(x1, x2, x3, x4) = x1x2 + x2x3 + x2x4 + x3x4
x9
x20
x23
x22
x21
x8
x10
x1 x2
x3
x4
x5
x6
x7
x15
x14
x13
x12
x11
x16
x19
x18
x17
a
c
b
a
c
ab
a
b
c
b
d
a
a
a
b
d
b c
a
b
a
d
Recombination Graph
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 13
Let us suppose our function has the following VIG…
if(x1, x2, . . . , xn) = f(x1, x2, . . . , 1i, . . . , xn) f(x1, x2, . . . , 0i, . . . , xn)
f(x1, x2, x3, x4) = x1x2 + x2x3 + x2x4 + x3x4
x9
x20
x23
x22
x21
x8
x10
x1 x2
x3
x4
x5
x6
x7
x15
x14
x13
x12
x11
x16
x19
x18
x17
a
c
c
a
c
ab
a
b
d
c
d
a
a
c
b d
b c
b
b
b
d
a
c
b
a
c
ab
a
b
c
b
d
a
a
a
b
d
b c
a
b
a
d
Recombination Graph
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 14
Let us suppose our function has the following VIG…
if(x1, x2, . . . , xn) = f(x1, x2, . . . , 1i, . . . , xn) f(x1, x2, . . . , 0i, . . . , xn)
f(x1, x2, x3, x4) = x1x2 + x2x3 + x2x4 + x3x4
x9
x20
x23
x22
x21
x8
x10
x1 x2
x3
x4
x5
x6
x7
x15
x14
x13
x12
x11
x16
x19
x18
x17
a
c
c
a
c
ab
a
b
d
c
d
a
a
c
b d
b c
b
b
b
d
a
c
b
a
c
ab
a
b
c
b
d
a
a
a
b
d
b c
a
b
a
d
Recombination Graph
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 15
The recombination graph is a subgraph of VIG containing only the differing variables
Partition Crossover takes all the variables in a component from the same parent
The contribution of each component to the fitness value of the offspring is
independent of each other
x23
x18
x9
x3
x5
x16
FOGA 2015: Tinós, Whitley, C.
Recombination Graph
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 16
The recombination graph is a subgraph of VIG containing only the differing variables
Partition Crossover takes all the variables in a component from the same parent
The contribution of each component to the fitness value of the offspring is
independent of each other
x23
x18
x9
x3
x5
x16
FOGA 2015: Tinós, Whitley, C.
Recombination Graph
PX: If there are q
components, the best
offspring out of 2q
solutions is obtained
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 17
x23
x18
x9
x3
x5
x16
x1
Articulation Points Partition Crossover (APX) identifies articulation points in the
recombination graph
It implicitly considers all the solutions PX would consider if one or none articulation
point is removed from each connected component
APX will consider 2 and 3
components and will provide
the best of 32 solutions
APX can break one connected
component by flipping
variables in one of the parents
Recombination Graph
GECCO 2018: C. Ochoa, Whitley, Tinós
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 19
Dynastic Potential Crossover
x23 x9
x3
x5
x1
We compute the optimum using dynamic programming by
eliminating the variables
Hammer, Rosenberg, Rudeanu (1963)
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 20
x23 x9
x3
x5
x1 x3 value x5
c
d
We compute the optimum using dynamic programming by
eliminating the variables
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 21
x23 x9
x3
x5
x1 x3 value x5
c
d
x5 value
b 3
c 5
We compute the optimum using dynamic programming by
eliminating the variables
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 22
x23 x9
x3
x5
x1 x3 value x5
c 5 c
d
x5 value
b 3
c 5
We compute the optimum using dynamic programming by
eliminating the variables
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 23
x23 x9
x3
x5
x1 x3 value x5
c 5 c
d 6 b
We compute the optimum using dynamic programming by
eliminating the variables
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 24
x23 x9
x3
x1 x3 value x5
c 5 c
d 6 b
We compute the optimum using dynamic programming by
eliminating the variables
We add this subfunction
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 25
x23 x9
x1 x3 value x5
c 5 c
d 6 b
We compute the optimum using dynamic programming by
eliminating the variables
x1 value x3
b 11 c
d 10 d
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 26
x23 x9
x3 value x5
c 5 c
d 6 b
We compute the optimum using dynamic programming by
eliminating the variables
x1 value x3
b 11 c
d 10 d
x9 value x1
b 20 d
c 15 c
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 27
x23
x3 value x5
c 5 c
d 6 b
We compute the optimum using dynamic programming by
eliminating the variables
x1 value x3
b 11 c
d 10 d
x9 value x1
b 20 d
c 15 c
x23 value x9
a 22 c
c 18 b
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 28
x23
x3 value x5
c 5 c
d 6 b
When one variable remains we take its best value and
reconstruct the solution (optimal child)
x1 value x3
b 11 c
d 10 d
x9 value x1
b 20 d
c 15 d
x23 value x9
a 22 c
c 18 b
x23 x9 x1 x3 x5
a c d d b
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 29
unnumbered node with a higher number of nu
ties arbitrarily. Figure 3 (left) shows the resu
connected component of Figure 2.
3
7
8
12
13
15
2
5
1
6
3
4
Fig. 3. Maximum Cardinality Search applied to
Figure 2 (left) and clique tree with the sets of sep
If the graph is chordal then MCS will provi
that for each triple of nodes u, v and w, with (u
number than v, w, it happens that (v, w) 2 E.
not chordal. A fill-in algorithm tests this cond
to make the graph chordal. This algorithm ru
the number of edges in the final chordal grap
complexity is O(n2
). These two steps, MCS an
connected component separately or to the com
the same result. The algorithms are applied in
3.2 Clique Tree
puting the treewidth of a graph is an NP-hard problem [4]. Thus, heuristics
should be applied to find an elimination order for the variables. The problem
of variable elimination has also been studied in other contexts, like Gaussian
Elimination [12] and Bayesian Networks [4]. In fact, we follow the works done
for computing the junction tree in Bayesian Networks. In order to do this, we
first need a chordal graph and then compute the clique tree (or junction tree),
which will fix the order in which the variables are eliminated using Dynamic
Programming. Our contribution in this work consists in applying these ideas to
the recombination operator. The high level pseudocode of the proposed DPX is
presented in Algorithm 1. In the next subsections we will detail each of these
steps.
Algorithm 1 Pseudocode of DPX
Input: two parents x and y
Output: one o↵spring z
1: Compute the Recombination Graph of x and y as in [6]
2: Apply Maximum Cardinality Search to the Recombination Graph [12]
3: Apply the fill-in procedure to make the graph chordal [12]
4: Apply the Clique Tree construction procedure [13]
5: Assign subfunctions to cliques in the clique tree
6: Apply Dynamic Programming to find the o↵spring (see Algorithm 2)
7: Build z using the tables filled by Dynamic Programming
In general, we have to build a clique tree (junction tree)
Galinier, Habib, Paul (1995)Tarjan, Yannakis (1984)
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 30
node with a higher number of numbered neighbors and solving the
ily. Figure 3 (left) shows the result of applying MCS to the third
omponent of Figure 2.
3
7
8
12
13
15
2
5
1
6
3
4
C1 = {7, 12, 13, 15}
S1 = ;
R1 = {7, 12, 13, 15}
C2 = {3, 7, 13}
S2 = {7, 13}
R2 = {3}
C3 = {3, 8}
S3 = {3}
R3 = {8}
mum Cardinality Search applied to the third connected component of
numbered node with a higher number of numbered neighbors and solvin
s arbitrarily. Figure 3 (left) shows the result of applying MCS to the
nnected component of Figure 2.
3
7
8
12
13
15
2
5
1
6
3
4
C1 = {7, 12, 13, 15}
S1 = ;
R1 = {7, 12, 13, 15}
C2 = {3, 7, 13}
S2 = {7, 13}
R2 = {3}
C3 = {3, 8}
S3 = {3}
R3 = {8}
g. 3. Maximum Cardinality Search applied to the third connected compone
Recombination graph Clique tree
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 31
Recombination graph Clique tree
red with higher probability. The only thing that can prevent
s from being explored is that many of them appear in one single
tion is illustrated in Figure 4. For  1, the clique of articu
aluated only in the two parent solutions, and the same happ
cliques, giving a total of 16 explored combinations. However,
re 20 combinations in this situation (see Eq. (6) in [7]).
3 6 4 1
5
2 C1 = {4, 5, 6}
S1 = ;
R1 = {4, 5, 6}
C2 = {3, 6}
S2 = {6}
R2 = {3}
C3 = {2, 5}
S3 = {5}
R3 = {2}
C4 = {1,
S4 = {4}
R4 = {1}
4. Pathological component (left) in a recombination graph where DP
res less solutions (16) than APX (20) and its clique tree (right).
en to be exhaustively explored (Lines 2 and 4 of Algorithm 2) we cho
articulation points first. This way, articulation points can be exhausti
ored with higher probability. The only thing that can prevent articula
ts from being explored is that many of them appear in one single clique. T
ation is illustrated in Figure 4. For  1, the clique of articulation po
valuated only in the two parent solutions, and the same happens with
r cliques, giving a total of 16 explored combinations. However, APX wo
ore 20 combinations in this situation (see Eq. (6) in [7]).
3 6 4 1
5
2 C1 = {4, 5, 6}
S1 = ;
R1 = {4, 5, 6}
C2 = {3, 6}
S2 = {6}
R2 = {3}
C3 = {2, 5}
S3 = {5}
R3 = {2}
C4 = {1, 4}
S4 = {4}
R4 = {1}
4. Pathological component (left) in a recombination graph where DPX with
ores less solutions (16) than APX (20) and its clique tree (right).
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 32
What if we have too many variables to
enumerate?
We put a limit 𝛽 on the number fo variables that are fully
enumerated
The remaining ones are taken in block from the parents
This makes the operator is Quasi-Optimal…
…and makes the time complextiy to be:
unnumbered node with a higher number of numbered neighbors and solv
ties arbitrarily. Figure 3 (left) shows the result of applying MCS to th
connected component of Figure 2.
3
7
8
12
13
15
2
5
1
6
3
4
C1 = {7, 12, 13, 15}
S1 = ;
R1 = {7, 12, 13, 15}
C2 = {3, 7, 13}
S2 = {7, 13}
R2 = {3}
C3 = {3, 8}
S3 = {3}
R3 = {8}
Fig. 3. Maximum Cardinality Search applied to the third connected compo
Figure 2 (left) and clique tree with the sets of separators and residues (right).
If the graph is chordal then MCS will provide a numbering of the nod
that for each triple of nodes u, v and w, with (u, v), (u, w) 2 E and u has
number than v, w, it happens that (v, w) 2 E. If this is not the case, the g
not chordal. A fill-in algorithm tests this condition and adds the require
to make the graph chordal. This algorithm runs in O(n + s0
) time, whe
the number of edges in the final chordal graph. Again, in the worst ca
complexity is O(n2
). These two steps, MCS and fill-in, can be computed
complexity of Algorithm 2 to 22
. Since is a
user of the algorithm, the exponential factor t
is not anymore an optimal recombination oper
call it quasi-optimal. In the cases where |C
will still return the optimal o↵spring. The nex
of DPX.
Theorem 1. Given a function in the form of
plexity of DPX with a constant bound for th
variables is O(4 (n + m) + n2
).
Proof. We have seen in Section 3.1 that the c
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 33
Compared to Partition Crossover:
DPX cannot be worse (it behaves like PX in the worst case)
Compared to Articulation Points Partition Crossover
When 𝛽 is limiting the enumeration of variables, articulation points
are taken first
DPX can be worse in pathological cases…
…but is better most of the time
Dynastic Potential Crossover
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 35
Deterministic Recombination and
Iterated Local Search (DRILS)
4: child PX(current, next);
5: if child = current or child = next then
6: current next;
7: else
8: current HBHC(child);
9: end if
10: end while
PX PX
Figure 4: Graphical illustration of DRILS. Curly arrows rep-
resent HBHC while normal arrows represent a perturbation
ipping N random bits.
graphical illustration of the algorithm is presented in Figure 4 and
Hill Climber
Perturbation
( 𝝰 N bits flipped)
Random Solution Local Optimum
X X
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 36
Problems and Instances
An NK Landscape is a pseudo-Boolean optimization problem with objective function:
where each subfunction f(l) depends on variable xl and K other variables
MAX-SAT consists in finding an assignment of variables to Boolean (true and false)
values such that the maximum number of clauses is satisfied
A clause is an OR of literals: x1 ∨ ¬x2 ∨ x3
S2(x) = f (x 2) f (x) + f (x 2) f (x) + f (x 2) f (x)
S1,2(x) = f(1)
(x 1, 2) f(1)
(x)+f(2)
(x 1, 2) f(2)
(x)+f(3)
(x 1, 2) f(3)
(x)
S1,2(x) 6= S1(x) + S2(x)
f(x) =
NX
l=1
f(l)
(x)
1
x7
x8 x9
x10
(a) Sample VIG
x1
x2
x3x4
x5
x6
x7
x8 x9
x10
(b) Selected and adjacent variables
x1
x2
x3x4
x5
x6
x7
x8 x9
x10
(c) Sample random VIG
Random model
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 37
DPX Statistics with NKQ Landscapes
Table 1. DPX Statistics for n =10 000 variables.
Comp. Exp. Full (%) Time (ms) Comp. Exp. Full (%) Time (ms)
K = 2 K = 4
=2 64 212 99.9 6.8 =2 13 44 99.3 6.2
=3 64 210 100.0 3.9 =3 12 42 100.0 3.5
=4 64 210 100.0 3.9 =4 12 42 100.0 3.4
=5 64 210 100.0 3.9 =5 12 42 100.0 3.6
K = 3 K = 5
=2 50 232 94.7 8.4 =2 11 42 99.0 7.1
=3 50 225 99.8 4.7 =3 11 39 99.9 3.8
=4 50 226 99.9 4.7 =4 11 39 99.9 3.8
=5 50 226 99.9 4.8 =5 11 40 100.0 4.0
Table 2. DPX Statistics for n =100 000 variables.
Comp. Exp. Full (%) Time (ms) Comp. Exp. Full (%) Time (ms)
K = 2 K = 4
=2 668 2 249 99.9 75.5 =2 140 567 91.2 69.2
DPX explores approximately the solutions explored by PX to the power of 4
|DPX| = |PX|4
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 38
DPX Statistics with NKQ Landscapes
DPX explores approximately the solutions explored by PX to the power of 4
|DPX| = |PX|4
=5 =5
K = 3 K = 5
=2 50 232 94.7 8.4 =2 11 42 99.0 7.1
=3 50 225 99.8 4.7 =3 11 39 99.9 3.8
=4 50 226 99.9 4.7 =4 11 39 99.9 3.8
=5 50 226 99.9 4.8 =5 11 40 100.0 4.0
Table 2. DPX Statistics for n =100 000 variables.
Comp. Exp. Full (%) Time (ms) Comp. Exp. Full (%) Time (ms)
K = 2 K = 4
=2 668 2 249 99.9 75.5 =2 140 567 91.2 69.2
=3 668 2 249 100.0 74.1 =3 140 566 99.1 68.8
=4 668 2 248 100.0 72.5 =4 141 571 99.3 71.0
=5 670 2 261 100.0 81.6 =5 142 587 99.2 82.2
K = 3 K = 5
=2 505 2 693 63.2 110.6 =2 121 570 89.6 75.9
=3 505 2 691 94.0 109.6 =3 121 570 89.6 75.9
=4 506 2 702 94.7 113.3 =4 122 575 96.9 77.2
=5 505 2 726 94.8 126.1 =5 123 596 96.8 91.9
of the number of explored solutions (column “Exp.” in the tables) is a good
measure of the number of di↵ering variables in the parent solutions. If we divide
this number by the number of components we find a value between 3 and 4. This
must be the average number of variables in each connected component.
Both the number of components and the di↵ering variables are approximately
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 39
DPX Statistics with NKQ Landscapes
DPX explores approximately the solutions explored by PX to the power of 4
|DPX| = |PX|4
=5 =5
K = 3 K = 5
=2 50 232 94.7 8.4 =2 11 42 99.0 7.1
=3 50 225 99.8 4.7 =3 11 39 99.9 3.8
=4 50 226 99.9 4.7 =4 11 39 99.9 3.8
=5 50 226 99.9 4.8 =5 11 40 100.0 4.0
Table 2. DPX Statistics for n =100 000 variables.
Comp. Exp. Full (%) Time (ms) Comp. Exp. Full (%) Time (ms)
K = 2 K = 4
=2 668 2 249 99.9 75.5 =2 140 567 91.2 69.2
=3 668 2 249 100.0 74.1 =3 140 566 99.1 68.8
=4 668 2 248 100.0 72.5 =4 141 571 99.3 71.0
=5 670 2 261 100.0 81.6 =5 142 587 99.2 82.2
K = 3 K = 5
=2 505 2 693 63.2 110.6 =2 121 570 89.6 75.9
=3 505 2 691 94.0 109.6 =3 121 570 89.6 75.9
=4 506 2 702 94.7 113.3 =4 122 575 96.9 77.2
=5 505 2 726 94.8 126.1 =5 123 596 96.8 91.9
of the number of explored solutions (column “Exp.” in the tables) is a good
measure of the number of di↵ering variables in the parent solutions. If we divide
this number by the number of components we find a value between 3 and 4. This
must be the average number of variables in each connected component.
Both the number of components and the di↵ering variables are approximately
Full dynastic potential (22261)
explored in 82ms
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 40
Comparison with (A)PX in NKQ Landscapes
Table 3. Comparison of PX, APX and DPX for N =100 000 variables. The value for
↵ depends on K as described in the text and in DPX we used = 4.
Exploration DRILS Performance Runtime (ms)
K PX APX DPX PX APX PX APX DPX
2 662 1 311 2 248 1N 0O 9 = 0N 8O 2 = 46 55 73
3 503 1 105 2 702 10N 0O 0 = 2N 0O 8 = 73 67 113
4 138 286 571 0N 4O 6 = 0N 9O 1 = 52 55 71
5 119 254 575 0N 9O 1 = 0N 10O 0 = 52 63 77
Table 4. Comparison of PX, APX and DPX for MAX-SAT instances (weighted and
unweited). In all the cases ↵ = 0.3 in DRILS and = 4 in DPX.
DRILS Performance Runtime (µs)
Instances PX APX PX APX DPX
Unweighted 126N 2O 32 = 96N 19O 45 = 1 060 849 1 907
Weighted 102N 14O 16 = 90N 17O 25 = 1 713 2 365 5 171
N=100 000, 𝛽=4|APX| ≈ |PX|2
|PX|
|APX|
|DPX| ≈ |APX|2 ≈ |PX|4
|APX|
|DPX|
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 41
Comparison with (A)PX in MAX-SAT
𝛽=4
Exploration DRILS Performance Runtime (ms)
K PX APX DPX PX APX PX APX DPX
2 662 1 311 2 248 1N 0O 9 = 0N 8O 2 = 46 55 73
3 503 1 105 2 702 10N 0O 0 = 2N 0O 8 = 73 67 113
4 138 286 571 0N 4O 6 = 0N 9O 1 = 52 55 71
5 119 254 575 0N 9O 1 = 0N 10O 0 = 52 63 77
Table 4. Comparison of PX, APX and DPX for MAX-SAT instances (weighted an
unweited). In all the cases ↵ = 0.3 in DRILS and = 4 in DPX.
DRILS Performance Runtime (µs)
Instances PX APX PX APX DPX
Unweighted 126N 2O 32 = 96N 19O 45 = 1 060 849 1 907
Weighted 102N 14O 16 = 90N 17O 25 = 1 713 2 365 5 171
the performance when PX or APX is used. In particular, DPX is statisticall
better than APX and PX in 96 and 126 unweighted instances, respectively. Th
di↵erence in the weighted instances is not so high, but still large enough to b
promising. Interestingly, weighted MAX-SAT instances must have a fitness land
Instances from the MAX-SAT Evaluation 2017
• 160 unweighted
• 132 weighted
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 42
Source Code in GitHub
https://github.com/jfrchicanog/EfficientHillClimbers
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 43
Conclusions
• The Variable Interaction Graph provides useful information to improve the search
• It can be used to find the best offspring from the largest dynastic potential of a
crossover operator
• The proposed DPX squares the number of solutions explored by APX and raises to the
power of 4 the solutions explored by PX
• DPX is specially good in MAX-SAT
• Take home message: use Gray-Box Optimization if you can
• Explore the shape of the connected components in the recombination graph and their
relationship with performance
• Exploring the Local Optima Networks generated by DPX
• Design MAX-SAT solvers based on DPX
Future Work
Quasi-Optimal Recombination Operator
EvoCOP 2019, 24-26 April, Leipzig, Germany 44
AcknowledgementsIDENTIDAD
arca Universidad de Málaga
VERSIÓN VERTICAL EN POSITIVO
VERSIÓN VERTICAL EN NEGATIVO
Thanks for your attention!!!

Weitere ähnliche Inhalte

Was ist angesagt?

A lab report on modeling and simulation with python code
A lab report on modeling and simulation with python codeA lab report on modeling and simulation with python code
A lab report on modeling and simulation with python codeAlamgir Hossain
 
Asynchronous Stochastic Optimization, New Analysis and Algorithms
Asynchronous Stochastic Optimization, New Analysis and AlgorithmsAsynchronous Stochastic Optimization, New Analysis and Algorithms
Asynchronous Stochastic Optimization, New Analysis and AlgorithmsFabian Pedregosa
 
Traffic flow modeling on road networks using Hamilton-Jacobi equations
Traffic flow modeling on road networks using Hamilton-Jacobi equationsTraffic flow modeling on road networks using Hamilton-Jacobi equations
Traffic flow modeling on road networks using Hamilton-Jacobi equationsGuillaume Costeseque
 
Codes on the graph related problems
Codes on the graph related problemsCodes on the graph related problems
Codes on the graph related problemsUsatyuk Vasiliy
 
Parallel Optimization in Machine Learning
Parallel Optimization in Machine LearningParallel Optimization in Machine Learning
Parallel Optimization in Machine LearningFabian Pedregosa
 
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...Fabian Pedregosa
 
Minimal Introduction to C++ - Part I
Minimal Introduction to C++ - Part IMinimal Introduction to C++ - Part I
Minimal Introduction to C++ - Part IMichel Alves
 
Amortized analysis
Amortized analysisAmortized analysis
Amortized analysisajmalcs
 
Aoa amortized analysis
Aoa amortized analysisAoa amortized analysis
Aoa amortized analysisSalabat Khan
 
Alg2 Notes Unit 1 Day 5
Alg2 Notes Unit 1 Day 5Alg2 Notes Unit 1 Day 5
Alg2 Notes Unit 1 Day 5Kate Nowak
 

Was ist angesagt? (15)

Os Urner
Os UrnerOs Urner
Os Urner
 
A lab report on modeling and simulation with python code
A lab report on modeling and simulation with python codeA lab report on modeling and simulation with python code
A lab report on modeling and simulation with python code
 
Ceske budevice
Ceske budeviceCeske budevice
Ceske budevice
 
Summary of the roo pooh-tigger studies
Summary of the roo pooh-tigger studiesSummary of the roo pooh-tigger studies
Summary of the roo pooh-tigger studies
 
Asynchronous Stochastic Optimization, New Analysis and Algorithms
Asynchronous Stochastic Optimization, New Analysis and AlgorithmsAsynchronous Stochastic Optimization, New Analysis and Algorithms
Asynchronous Stochastic Optimization, New Analysis and Algorithms
 
Traffic flow modeling on road networks using Hamilton-Jacobi equations
Traffic flow modeling on road networks using Hamilton-Jacobi equationsTraffic flow modeling on road networks using Hamilton-Jacobi equations
Traffic flow modeling on road networks using Hamilton-Jacobi equations
 
Codes on the graph related problems
Codes on the graph related problemsCodes on the graph related problems
Codes on the graph related problems
 
Parallel Optimization in Machine Learning
Parallel Optimization in Machine LearningParallel Optimization in Machine Learning
Parallel Optimization in Machine Learning
 
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
Breaking the Nonsmooth Barrier: A Scalable Parallel Method for Composite Opti...
 
Minimal Introduction to C++ - Part I
Minimal Introduction to C++ - Part IMinimal Introduction to C++ - Part I
Minimal Introduction to C++ - Part I
 
Amortized analysis
Amortized analysisAmortized analysis
Amortized analysis
 
Aoa amortized analysis
Aoa amortized analysisAoa amortized analysis
Aoa amortized analysis
 
Introduction of Application of Derivatives | Mathematics
Introduction of Application of Derivatives | MathematicsIntroduction of Application of Derivatives | Mathematics
Introduction of Application of Derivatives | Mathematics
 
Alg2 Notes Unit 1 Day 5
Alg2 Notes Unit 1 Day 5Alg2 Notes Unit 1 Day 5
Alg2 Notes Unit 1 Day 5
 
09. amortized analysis
09. amortized analysis09. amortized analysis
09. amortized analysis
 

Ähnlich wie Quasi-Optimal Recombination Operator

Parallel Bayesian Optimization
Parallel Bayesian OptimizationParallel Bayesian Optimization
Parallel Bayesian OptimizationSri Ambati
 
Enhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points AnalysisEnhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points Analysisjfrchicanog
 
System approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvsSystem approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvsvrushali sasane
 
Large Scale Recommendation: a view from the Trenches
Large Scale Recommendation: a view from the TrenchesLarge Scale Recommendation: a view from the Trenches
Large Scale Recommendation: a view from the TrenchesAnne-Marie Tousch
 
Accelerating Metropolis Hastings with Lightweight Inference Compilation
Accelerating Metropolis Hastings with Lightweight Inference CompilationAccelerating Metropolis Hastings with Lightweight Inference Compilation
Accelerating Metropolis Hastings with Lightweight Inference CompilationFeynman Liang
 
Control Synthesis by Sum of Squares Optimization
Control Synthesis by Sum of Squares OptimizationControl Synthesis by Sum of Squares Optimization
Control Synthesis by Sum of Squares OptimizationBehzad Samadi
 
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization ProblemElementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problemjfrchicanog
 
Representing and comparing probabilities
Representing and comparing probabilitiesRepresenting and comparing probabilities
Representing and comparing probabilitiesMLReview
 
Parallel Filter-Based Feature Selection Based on Balanced Incomplete Block De...
Parallel Filter-Based Feature Selection Based on Balanced Incomplete Block De...Parallel Filter-Based Feature Selection Based on Balanced Incomplete Block De...
Parallel Filter-Based Feature Selection Based on Balanced Incomplete Block De...AMIDST Toolbox
 
An algorithm for solving integer linear programming
An algorithm for solving integer linear programmingAn algorithm for solving integer linear programming
An algorithm for solving integer linear programmingeSAT Publishing House
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacesbutest
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacesbutest
 

Ähnlich wie Quasi-Optimal Recombination Operator (20)

Parallel Bayesian Optimization
Parallel Bayesian OptimizationParallel Bayesian Optimization
Parallel Bayesian Optimization
 
Enhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points AnalysisEnhancing Partition Crossover with Articulation Points Analysis
Enhancing Partition Crossover with Articulation Points Analysis
 
CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...
CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...
CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...
 
17_monte_carlo.pdf
17_monte_carlo.pdf17_monte_carlo.pdf
17_monte_carlo.pdf
 
CLIM Program: Remote Sensing Workshop, Statistical Emulation with Dimension R...
CLIM Program: Remote Sensing Workshop, Statistical Emulation with Dimension R...CLIM Program: Remote Sensing Workshop, Statistical Emulation with Dimension R...
CLIM Program: Remote Sensing Workshop, Statistical Emulation with Dimension R...
 
XGBoostLSS - An extension of XGBoost to probabilistic forecasting, Alexander ...
XGBoostLSS - An extension of XGBoost to probabilistic forecasting, Alexander ...XGBoostLSS - An extension of XGBoost to probabilistic forecasting, Alexander ...
XGBoostLSS - An extension of XGBoost to probabilistic forecasting, Alexander ...
 
SASA 2016
SASA 2016SASA 2016
SASA 2016
 
System approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvsSystem approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvs
 
MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...
MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...
MUMS: Bayesian, Fiducial, and Frequentist Conference - Model Selection in the...
 
Large Scale Recommendation: a view from the Trenches
Large Scale Recommendation: a view from the TrenchesLarge Scale Recommendation: a view from the Trenches
Large Scale Recommendation: a view from the Trenches
 
Accelerating Metropolis Hastings with Lightweight Inference Compilation
Accelerating Metropolis Hastings with Lightweight Inference CompilationAccelerating Metropolis Hastings with Lightweight Inference Compilation
Accelerating Metropolis Hastings with Lightweight Inference Compilation
 
Type and proof structures for concurrency
Type and proof structures for concurrencyType and proof structures for concurrency
Type and proof structures for concurrency
 
Control Synthesis by Sum of Squares Optimization
Control Synthesis by Sum of Squares OptimizationControl Synthesis by Sum of Squares Optimization
Control Synthesis by Sum of Squares Optimization
 
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization ProblemElementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
 
Representing and comparing probabilities
Representing and comparing probabilitiesRepresenting and comparing probabilities
Representing and comparing probabilities
 
Parallel Filter-Based Feature Selection Based on Balanced Incomplete Block De...
Parallel Filter-Based Feature Selection Based on Balanced Incomplete Block De...Parallel Filter-Based Feature Selection Based on Balanced Incomplete Block De...
Parallel Filter-Based Feature Selection Based on Balanced Incomplete Block De...
 
An algorithm for solving integer linear programming
An algorithm for solving integer linear programmingAn algorithm for solving integer linear programming
An algorithm for solving integer linear programming
 
Partial Derivatives.pdf
Partial Derivatives.pdfPartial Derivatives.pdf
Partial Derivatives.pdf
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspaces
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspaces
 

Mehr von jfrchicanog

Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or BúsquedaSeminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsquedajfrchicanog
 
Combinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGBCombinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGBjfrchicanog
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosjfrchicanog
 
Search-Based Software Project Scheduling
Search-Based Software Project SchedulingSearch-Based Software Project Scheduling
Search-Based Software Project Schedulingjfrchicanog
 
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...jfrchicanog
 
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization ProblemsEfficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problemsjfrchicanog
 
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean OptimizationEfficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimizationjfrchicanog
 
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing ProblemMixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problemjfrchicanog
 
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...jfrchicanog
 
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...jfrchicanog
 
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...jfrchicanog
 
On the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software TestingOn the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software Testingjfrchicanog
 
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...jfrchicanog
 
Recent Research in Search Based Software Testing
Recent Research in Search Based Software TestingRecent Research in Search Based Software Testing
Recent Research in Search Based Software Testingjfrchicanog
 
Problem Understanding through Landscape Theory
Problem Understanding through Landscape TheoryProblem Understanding through Landscape Theory
Problem Understanding through Landscape Theoryjfrchicanog
 
Searching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACOSearching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACOjfrchicanog
 
Finding Safety Errors with ACO
Finding Safety Errors with ACOFinding Safety Errors with ACO
Finding Safety Errors with ACOjfrchicanog
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problemsjfrchicanog
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problemsjfrchicanog
 
Elementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment ProblemElementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment Problemjfrchicanog
 

Mehr von jfrchicanog (20)

Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or BúsquedaSeminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
 
Combinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGBCombinando algoritmos exactos y heurísticos para problemas en ISGB
Combinando algoritmos exactos y heurísticos para problemas en ISGB
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitos
 
Search-Based Software Project Scheduling
Search-Based Software Project SchedulingSearch-Based Software Project Scheduling
Search-Based Software Project Scheduling
 
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
 
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization ProblemsEfficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
 
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean OptimizationEfficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
 
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing ProblemMixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
 
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
 
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
 
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
 
On the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software TestingOn the application of SAT solvers for Search Based Software Testing
On the application of SAT solvers for Search Based Software Testing
 
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
 
Recent Research in Search Based Software Testing
Recent Research in Search Based Software TestingRecent Research in Search Based Software Testing
Recent Research in Search Based Software Testing
 
Problem Understanding through Landscape Theory
Problem Understanding through Landscape TheoryProblem Understanding through Landscape Theory
Problem Understanding through Landscape Theory
 
Searching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACOSearching for Liveness Property Violations in Concurrent Systems with ACO
Searching for Liveness Property Violations in Concurrent Systems with ACO
 
Finding Safety Errors with ACO
Finding Safety Errors with ACOFinding Safety Errors with ACO
Finding Safety Errors with ACO
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problems
 
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization ProblemsElementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problems
 
Elementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment ProblemElementary Landscape Decomposition of the Quadratic Assignment Problem
Elementary Landscape Decomposition of the Quadratic Assignment Problem
 

Kürzlich hochgeladen

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Kürzlich hochgeladen (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Quasi-Optimal Recombination Operator

  • 1. Quasi-Optimal Recombination Operator Francisco Chicano, Gabriela Ochoa, Darrell Whitley, Renato Tinós DENTIDAD rca Universidad de Málaga VERSIÓN VERTICAL EN POSITIVO VERSIÓN VERTICAL EN NEGATIVO
  • 2. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 2 • Recombination Operators • Gray-Box Optimization • Dynastic Potential Crossover • Experiments • Conclusions and Future Work Outline
  • 3.
  • 4. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 4 Recombination Operators a b b c d c c a a d a a c c a b c b a d x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 Parent 1 Parent 2 a b c c d b c b a dChild Gene Transmission → Respect Property Radcliffe (1994)
  • 5. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 5 Dynastic Potential Set of solutions that can be generated by the recombination operator If d(x,y) is the Hamming distance between solutions x and y… Single point crossover DP size: 2 d(x,y) z-point crossover DP size: O( d(x,y)z ) Uniform crossover DP size: 2d(x,y) Largest DP size for a recombination operator with the gene transmission property: 2d(x,y)
  • 6. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 6 Optimal Recombination Operator Produces the best solution in the largest dynastic potential… …exploring hyperplane defined by the common variables (2d(x,y) solutions) Eremeev, Kovalenko (2013) x f(x) x f(x) It requires time O(2n) in a black-box setting It can be done in time in a gray-box setting for low-epistasis functions Abstract. The output of an optimal recombination operator for t parent solutions is a solution with the best possible value for the jective function among all the solutions fulfilling the gene transmiss property: the value of any variable in the o↵spring must be inheri from one of the parents. This set of solutions coincides with the larg dynastic potential for the two parent solutions of any recombination erator with the gene transmission property. In general, exploring the dynastic potential is computationally costly, but if the variables of objective function have a low number of non-linear interactions amo them, the exploration can be done in O(4 (n + m) + n2 ) time, for pr lems with n variables, m subfunctions and a constant. In this pap we propose a quasi-optimal recombination operator, called Dynastic P tential Crossover (DPX), that runs in O(4 (n + m) + n2 ) time in a case and is able to explore the full dynastic potential for low-epista combinatorial problems. We compare this operator, both theoretica and experimentally, with two recently defined e cient recombinat operators: Partition Crossover (PX) and Articulation Points Partit Crossover (APX). The empirical comparison uses NKQ Landscapes a
  • 7. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 7 Contribution • Time complexity: • Behaves like an Optimal Recombination Operator for low-epistasis fitness functions functions • Based on Gray-Box Optimization f any variable in the o↵spring must be inherited ts. This set of solutions coincides with the largest the two parent solutions of any recombination op- ransmission property. In general, exploring the full computationally costly, but if the variables of the ve a low number of non-linear interactions among can be done in O(4 (n + m) + n2 ) time, for prob- m subfunctions and a constant. In this paper, timal recombination operator, called Dynastic Po- X), that runs in O(4 (n + m) + n2 ) time in any xplore the full dynastic potential for low-epistasis ms. We compare this operator, both theoretically with two recently defined e cient recombination Crossover (PX) and Articulation Points Partition e empirical comparison uses NKQ Landscapes and Quasi-Optimal Recombination Operator
  • 8.
  • 9. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 9 Gray-Box structure: MK Landscapes Example (k=2): f = + + +f(1)(x) f(2)(x) f(3)(x) f(4)(x) x1 x2 x3 x4 ndscape [3] with bounded epistasis k is de- tion f(x) that can be written as the sum ns, each one depending at most on k input is: f(x) = mX i=1 f(i) (x), (1) unctions f(i) depend only on k components d Landscapes generalize NK-landscapes and problem. We will consider in this paper that ubfunctions is linear in n, that is m 2 O(n). pes m = n and is a common assumption in t m 2 O(n). S IN THE HAMMING BALL Equ change f(l) th this su On the we onl change acteriz we can 3.1 Each subfunction is unknown and depends on k variables All compresible pseudo-Boolean functions can be transformed into this in polynomial time
  • 10. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 10 Variable Interaction f = + + +f(1)(x) f(2)(x) f(3)(x) f(4)(x) x1 x2 x3 x4 xi and xj interact when they appear together in the same subfunction* If xi and xj don’t interact: ∆ij = ∆i + ∆j x4 x3 x1 x2 Variable Interaction Graph (VIG)
  • 11. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 11 Let us suppose our function has the following VIG… if(x1, x2, . . . , xn) = f(x1, x2, . . . , 1i, . . . , xn) f(x1, x2, . . . , 0i, . . . , xn) f(x1, x2, x3, x4) = x1x2 + x2x3 + x2x4 + x3x4 x9 x20 x23 x22 x21 x8 x10 x1 x2 x3 x4 x5 x6 x7 x15 x14 x13 x12 x11 x16 x19 x18 x17 Recombination Graph
  • 12. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 12 Let us suppose our function has the following VIG… if(x1, x2, . . . , xn) = f(x1, x2, . . . , 1i, . . . , xn) f(x1, x2, . . . , 0i, . . . , xn) f(x1, x2, x3, x4) = x1x2 + x2x3 + x2x4 + x3x4 x9 x20 x23 x22 x21 x8 x10 x1 x2 x3 x4 x5 x6 x7 x15 x14 x13 x12 x11 x16 x19 x18 x17 a c b a c ab a b c b d a a a b d b c a b a d Recombination Graph
  • 13. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 13 Let us suppose our function has the following VIG… if(x1, x2, . . . , xn) = f(x1, x2, . . . , 1i, . . . , xn) f(x1, x2, . . . , 0i, . . . , xn) f(x1, x2, x3, x4) = x1x2 + x2x3 + x2x4 + x3x4 x9 x20 x23 x22 x21 x8 x10 x1 x2 x3 x4 x5 x6 x7 x15 x14 x13 x12 x11 x16 x19 x18 x17 a c c a c ab a b d c d a a c b d b c b b b d a c b a c ab a b c b d a a a b d b c a b a d Recombination Graph
  • 14. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 14 Let us suppose our function has the following VIG… if(x1, x2, . . . , xn) = f(x1, x2, . . . , 1i, . . . , xn) f(x1, x2, . . . , 0i, . . . , xn) f(x1, x2, x3, x4) = x1x2 + x2x3 + x2x4 + x3x4 x9 x20 x23 x22 x21 x8 x10 x1 x2 x3 x4 x5 x6 x7 x15 x14 x13 x12 x11 x16 x19 x18 x17 a c c a c ab a b d c d a a c b d b c b b b d a c b a c ab a b c b d a a a b d b c a b a d Recombination Graph
  • 15. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 15 The recombination graph is a subgraph of VIG containing only the differing variables Partition Crossover takes all the variables in a component from the same parent The contribution of each component to the fitness value of the offspring is independent of each other x23 x18 x9 x3 x5 x16 FOGA 2015: Tinós, Whitley, C. Recombination Graph
  • 16. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 16 The recombination graph is a subgraph of VIG containing only the differing variables Partition Crossover takes all the variables in a component from the same parent The contribution of each component to the fitness value of the offspring is independent of each other x23 x18 x9 x3 x5 x16 FOGA 2015: Tinós, Whitley, C. Recombination Graph PX: If there are q components, the best offspring out of 2q solutions is obtained
  • 17. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 17 x23 x18 x9 x3 x5 x16 x1 Articulation Points Partition Crossover (APX) identifies articulation points in the recombination graph It implicitly considers all the solutions PX would consider if one or none articulation point is removed from each connected component APX will consider 2 and 3 components and will provide the best of 32 solutions APX can break one connected component by flipping variables in one of the parents Recombination Graph GECCO 2018: C. Ochoa, Whitley, Tinós
  • 18.
  • 19. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 19 Dynastic Potential Crossover x23 x9 x3 x5 x1 We compute the optimum using dynamic programming by eliminating the variables Hammer, Rosenberg, Rudeanu (1963)
  • 20. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 20 x23 x9 x3 x5 x1 x3 value x5 c d We compute the optimum using dynamic programming by eliminating the variables Dynastic Potential Crossover
  • 21. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 21 x23 x9 x3 x5 x1 x3 value x5 c d x5 value b 3 c 5 We compute the optimum using dynamic programming by eliminating the variables Dynastic Potential Crossover
  • 22. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 22 x23 x9 x3 x5 x1 x3 value x5 c 5 c d x5 value b 3 c 5 We compute the optimum using dynamic programming by eliminating the variables Dynastic Potential Crossover
  • 23. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 23 x23 x9 x3 x5 x1 x3 value x5 c 5 c d 6 b We compute the optimum using dynamic programming by eliminating the variables Dynastic Potential Crossover
  • 24. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 24 x23 x9 x3 x1 x3 value x5 c 5 c d 6 b We compute the optimum using dynamic programming by eliminating the variables We add this subfunction Dynastic Potential Crossover
  • 25. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 25 x23 x9 x1 x3 value x5 c 5 c d 6 b We compute the optimum using dynamic programming by eliminating the variables x1 value x3 b 11 c d 10 d Dynastic Potential Crossover
  • 26. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 26 x23 x9 x3 value x5 c 5 c d 6 b We compute the optimum using dynamic programming by eliminating the variables x1 value x3 b 11 c d 10 d x9 value x1 b 20 d c 15 c Dynastic Potential Crossover
  • 27. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 27 x23 x3 value x5 c 5 c d 6 b We compute the optimum using dynamic programming by eliminating the variables x1 value x3 b 11 c d 10 d x9 value x1 b 20 d c 15 c x23 value x9 a 22 c c 18 b Dynastic Potential Crossover
  • 28. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 28 x23 x3 value x5 c 5 c d 6 b When one variable remains we take its best value and reconstruct the solution (optimal child) x1 value x3 b 11 c d 10 d x9 value x1 b 20 d c 15 d x23 value x9 a 22 c c 18 b x23 x9 x1 x3 x5 a c d d b Dynastic Potential Crossover
  • 29. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 29 unnumbered node with a higher number of nu ties arbitrarily. Figure 3 (left) shows the resu connected component of Figure 2. 3 7 8 12 13 15 2 5 1 6 3 4 Fig. 3. Maximum Cardinality Search applied to Figure 2 (left) and clique tree with the sets of sep If the graph is chordal then MCS will provi that for each triple of nodes u, v and w, with (u number than v, w, it happens that (v, w) 2 E. not chordal. A fill-in algorithm tests this cond to make the graph chordal. This algorithm ru the number of edges in the final chordal grap complexity is O(n2 ). These two steps, MCS an connected component separately or to the com the same result. The algorithms are applied in 3.2 Clique Tree puting the treewidth of a graph is an NP-hard problem [4]. Thus, heuristics should be applied to find an elimination order for the variables. The problem of variable elimination has also been studied in other contexts, like Gaussian Elimination [12] and Bayesian Networks [4]. In fact, we follow the works done for computing the junction tree in Bayesian Networks. In order to do this, we first need a chordal graph and then compute the clique tree (or junction tree), which will fix the order in which the variables are eliminated using Dynamic Programming. Our contribution in this work consists in applying these ideas to the recombination operator. The high level pseudocode of the proposed DPX is presented in Algorithm 1. In the next subsections we will detail each of these steps. Algorithm 1 Pseudocode of DPX Input: two parents x and y Output: one o↵spring z 1: Compute the Recombination Graph of x and y as in [6] 2: Apply Maximum Cardinality Search to the Recombination Graph [12] 3: Apply the fill-in procedure to make the graph chordal [12] 4: Apply the Clique Tree construction procedure [13] 5: Assign subfunctions to cliques in the clique tree 6: Apply Dynamic Programming to find the o↵spring (see Algorithm 2) 7: Build z using the tables filled by Dynamic Programming In general, we have to build a clique tree (junction tree) Galinier, Habib, Paul (1995)Tarjan, Yannakis (1984) Dynastic Potential Crossover
  • 30. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 30 node with a higher number of numbered neighbors and solving the ily. Figure 3 (left) shows the result of applying MCS to the third omponent of Figure 2. 3 7 8 12 13 15 2 5 1 6 3 4 C1 = {7, 12, 13, 15} S1 = ; R1 = {7, 12, 13, 15} C2 = {3, 7, 13} S2 = {7, 13} R2 = {3} C3 = {3, 8} S3 = {3} R3 = {8} mum Cardinality Search applied to the third connected component of numbered node with a higher number of numbered neighbors and solvin s arbitrarily. Figure 3 (left) shows the result of applying MCS to the nnected component of Figure 2. 3 7 8 12 13 15 2 5 1 6 3 4 C1 = {7, 12, 13, 15} S1 = ; R1 = {7, 12, 13, 15} C2 = {3, 7, 13} S2 = {7, 13} R2 = {3} C3 = {3, 8} S3 = {3} R3 = {8} g. 3. Maximum Cardinality Search applied to the third connected compone Recombination graph Clique tree Dynastic Potential Crossover
  • 31. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 31 Recombination graph Clique tree red with higher probability. The only thing that can prevent s from being explored is that many of them appear in one single tion is illustrated in Figure 4. For  1, the clique of articu aluated only in the two parent solutions, and the same happ cliques, giving a total of 16 explored combinations. However, re 20 combinations in this situation (see Eq. (6) in [7]). 3 6 4 1 5 2 C1 = {4, 5, 6} S1 = ; R1 = {4, 5, 6} C2 = {3, 6} S2 = {6} R2 = {3} C3 = {2, 5} S3 = {5} R3 = {2} C4 = {1, S4 = {4} R4 = {1} 4. Pathological component (left) in a recombination graph where DP res less solutions (16) than APX (20) and its clique tree (right). en to be exhaustively explored (Lines 2 and 4 of Algorithm 2) we cho articulation points first. This way, articulation points can be exhausti ored with higher probability. The only thing that can prevent articula ts from being explored is that many of them appear in one single clique. T ation is illustrated in Figure 4. For  1, the clique of articulation po valuated only in the two parent solutions, and the same happens with r cliques, giving a total of 16 explored combinations. However, APX wo ore 20 combinations in this situation (see Eq. (6) in [7]). 3 6 4 1 5 2 C1 = {4, 5, 6} S1 = ; R1 = {4, 5, 6} C2 = {3, 6} S2 = {6} R2 = {3} C3 = {2, 5} S3 = {5} R3 = {2} C4 = {1, 4} S4 = {4} R4 = {1} 4. Pathological component (left) in a recombination graph where DPX with ores less solutions (16) than APX (20) and its clique tree (right). Dynastic Potential Crossover
  • 32. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 32 What if we have too many variables to enumerate? We put a limit 𝛽 on the number fo variables that are fully enumerated The remaining ones are taken in block from the parents This makes the operator is Quasi-Optimal… …and makes the time complextiy to be: unnumbered node with a higher number of numbered neighbors and solv ties arbitrarily. Figure 3 (left) shows the result of applying MCS to th connected component of Figure 2. 3 7 8 12 13 15 2 5 1 6 3 4 C1 = {7, 12, 13, 15} S1 = ; R1 = {7, 12, 13, 15} C2 = {3, 7, 13} S2 = {7, 13} R2 = {3} C3 = {3, 8} S3 = {3} R3 = {8} Fig. 3. Maximum Cardinality Search applied to the third connected compo Figure 2 (left) and clique tree with the sets of separators and residues (right). If the graph is chordal then MCS will provide a numbering of the nod that for each triple of nodes u, v and w, with (u, v), (u, w) 2 E and u has number than v, w, it happens that (v, w) 2 E. If this is not the case, the g not chordal. A fill-in algorithm tests this condition and adds the require to make the graph chordal. This algorithm runs in O(n + s0 ) time, whe the number of edges in the final chordal graph. Again, in the worst ca complexity is O(n2 ). These two steps, MCS and fill-in, can be computed complexity of Algorithm 2 to 22 . Since is a user of the algorithm, the exponential factor t is not anymore an optimal recombination oper call it quasi-optimal. In the cases where |C will still return the optimal o↵spring. The nex of DPX. Theorem 1. Given a function in the form of plexity of DPX with a constant bound for th variables is O(4 (n + m) + n2 ). Proof. We have seen in Section 3.1 that the c Dynastic Potential Crossover
  • 33. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 33 Compared to Partition Crossover: DPX cannot be worse (it behaves like PX in the worst case) Compared to Articulation Points Partition Crossover When 𝛽 is limiting the enumeration of variables, articulation points are taken first DPX can be worse in pathological cases… …but is better most of the time Dynastic Potential Crossover
  • 34.
  • 35. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 35 Deterministic Recombination and Iterated Local Search (DRILS) 4: child PX(current, next); 5: if child = current or child = next then 6: current next; 7: else 8: current HBHC(child); 9: end if 10: end while PX PX Figure 4: Graphical illustration of DRILS. Curly arrows rep- resent HBHC while normal arrows represent a perturbation ipping N random bits. graphical illustration of the algorithm is presented in Figure 4 and Hill Climber Perturbation ( 𝝰 N bits flipped) Random Solution Local Optimum X X
  • 36. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 36 Problems and Instances An NK Landscape is a pseudo-Boolean optimization problem with objective function: where each subfunction f(l) depends on variable xl and K other variables MAX-SAT consists in finding an assignment of variables to Boolean (true and false) values such that the maximum number of clauses is satisfied A clause is an OR of literals: x1 ∨ ¬x2 ∨ x3 S2(x) = f (x 2) f (x) + f (x 2) f (x) + f (x 2) f (x) S1,2(x) = f(1) (x 1, 2) f(1) (x)+f(2) (x 1, 2) f(2) (x)+f(3) (x 1, 2) f(3) (x) S1,2(x) 6= S1(x) + S2(x) f(x) = NX l=1 f(l) (x) 1 x7 x8 x9 x10 (a) Sample VIG x1 x2 x3x4 x5 x6 x7 x8 x9 x10 (b) Selected and adjacent variables x1 x2 x3x4 x5 x6 x7 x8 x9 x10 (c) Sample random VIG Random model
  • 37. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 37 DPX Statistics with NKQ Landscapes Table 1. DPX Statistics for n =10 000 variables. Comp. Exp. Full (%) Time (ms) Comp. Exp. Full (%) Time (ms) K = 2 K = 4 =2 64 212 99.9 6.8 =2 13 44 99.3 6.2 =3 64 210 100.0 3.9 =3 12 42 100.0 3.5 =4 64 210 100.0 3.9 =4 12 42 100.0 3.4 =5 64 210 100.0 3.9 =5 12 42 100.0 3.6 K = 3 K = 5 =2 50 232 94.7 8.4 =2 11 42 99.0 7.1 =3 50 225 99.8 4.7 =3 11 39 99.9 3.8 =4 50 226 99.9 4.7 =4 11 39 99.9 3.8 =5 50 226 99.9 4.8 =5 11 40 100.0 4.0 Table 2. DPX Statistics for n =100 000 variables. Comp. Exp. Full (%) Time (ms) Comp. Exp. Full (%) Time (ms) K = 2 K = 4 =2 668 2 249 99.9 75.5 =2 140 567 91.2 69.2 DPX explores approximately the solutions explored by PX to the power of 4 |DPX| = |PX|4
  • 38. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 38 DPX Statistics with NKQ Landscapes DPX explores approximately the solutions explored by PX to the power of 4 |DPX| = |PX|4 =5 =5 K = 3 K = 5 =2 50 232 94.7 8.4 =2 11 42 99.0 7.1 =3 50 225 99.8 4.7 =3 11 39 99.9 3.8 =4 50 226 99.9 4.7 =4 11 39 99.9 3.8 =5 50 226 99.9 4.8 =5 11 40 100.0 4.0 Table 2. DPX Statistics for n =100 000 variables. Comp. Exp. Full (%) Time (ms) Comp. Exp. Full (%) Time (ms) K = 2 K = 4 =2 668 2 249 99.9 75.5 =2 140 567 91.2 69.2 =3 668 2 249 100.0 74.1 =3 140 566 99.1 68.8 =4 668 2 248 100.0 72.5 =4 141 571 99.3 71.0 =5 670 2 261 100.0 81.6 =5 142 587 99.2 82.2 K = 3 K = 5 =2 505 2 693 63.2 110.6 =2 121 570 89.6 75.9 =3 505 2 691 94.0 109.6 =3 121 570 89.6 75.9 =4 506 2 702 94.7 113.3 =4 122 575 96.9 77.2 =5 505 2 726 94.8 126.1 =5 123 596 96.8 91.9 of the number of explored solutions (column “Exp.” in the tables) is a good measure of the number of di↵ering variables in the parent solutions. If we divide this number by the number of components we find a value between 3 and 4. This must be the average number of variables in each connected component. Both the number of components and the di↵ering variables are approximately
  • 39. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 39 DPX Statistics with NKQ Landscapes DPX explores approximately the solutions explored by PX to the power of 4 |DPX| = |PX|4 =5 =5 K = 3 K = 5 =2 50 232 94.7 8.4 =2 11 42 99.0 7.1 =3 50 225 99.8 4.7 =3 11 39 99.9 3.8 =4 50 226 99.9 4.7 =4 11 39 99.9 3.8 =5 50 226 99.9 4.8 =5 11 40 100.0 4.0 Table 2. DPX Statistics for n =100 000 variables. Comp. Exp. Full (%) Time (ms) Comp. Exp. Full (%) Time (ms) K = 2 K = 4 =2 668 2 249 99.9 75.5 =2 140 567 91.2 69.2 =3 668 2 249 100.0 74.1 =3 140 566 99.1 68.8 =4 668 2 248 100.0 72.5 =4 141 571 99.3 71.0 =5 670 2 261 100.0 81.6 =5 142 587 99.2 82.2 K = 3 K = 5 =2 505 2 693 63.2 110.6 =2 121 570 89.6 75.9 =3 505 2 691 94.0 109.6 =3 121 570 89.6 75.9 =4 506 2 702 94.7 113.3 =4 122 575 96.9 77.2 =5 505 2 726 94.8 126.1 =5 123 596 96.8 91.9 of the number of explored solutions (column “Exp.” in the tables) is a good measure of the number of di↵ering variables in the parent solutions. If we divide this number by the number of components we find a value between 3 and 4. This must be the average number of variables in each connected component. Both the number of components and the di↵ering variables are approximately Full dynastic potential (22261) explored in 82ms
  • 40. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 40 Comparison with (A)PX in NKQ Landscapes Table 3. Comparison of PX, APX and DPX for N =100 000 variables. The value for ↵ depends on K as described in the text and in DPX we used = 4. Exploration DRILS Performance Runtime (ms) K PX APX DPX PX APX PX APX DPX 2 662 1 311 2 248 1N 0O 9 = 0N 8O 2 = 46 55 73 3 503 1 105 2 702 10N 0O 0 = 2N 0O 8 = 73 67 113 4 138 286 571 0N 4O 6 = 0N 9O 1 = 52 55 71 5 119 254 575 0N 9O 1 = 0N 10O 0 = 52 63 77 Table 4. Comparison of PX, APX and DPX for MAX-SAT instances (weighted and unweited). In all the cases ↵ = 0.3 in DRILS and = 4 in DPX. DRILS Performance Runtime (µs) Instances PX APX PX APX DPX Unweighted 126N 2O 32 = 96N 19O 45 = 1 060 849 1 907 Weighted 102N 14O 16 = 90N 17O 25 = 1 713 2 365 5 171 N=100 000, 𝛽=4|APX| ≈ |PX|2 |PX| |APX| |DPX| ≈ |APX|2 ≈ |PX|4 |APX| |DPX|
  • 41. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 41 Comparison with (A)PX in MAX-SAT 𝛽=4 Exploration DRILS Performance Runtime (ms) K PX APX DPX PX APX PX APX DPX 2 662 1 311 2 248 1N 0O 9 = 0N 8O 2 = 46 55 73 3 503 1 105 2 702 10N 0O 0 = 2N 0O 8 = 73 67 113 4 138 286 571 0N 4O 6 = 0N 9O 1 = 52 55 71 5 119 254 575 0N 9O 1 = 0N 10O 0 = 52 63 77 Table 4. Comparison of PX, APX and DPX for MAX-SAT instances (weighted an unweited). In all the cases ↵ = 0.3 in DRILS and = 4 in DPX. DRILS Performance Runtime (µs) Instances PX APX PX APX DPX Unweighted 126N 2O 32 = 96N 19O 45 = 1 060 849 1 907 Weighted 102N 14O 16 = 90N 17O 25 = 1 713 2 365 5 171 the performance when PX or APX is used. In particular, DPX is statisticall better than APX and PX in 96 and 126 unweighted instances, respectively. Th di↵erence in the weighted instances is not so high, but still large enough to b promising. Interestingly, weighted MAX-SAT instances must have a fitness land Instances from the MAX-SAT Evaluation 2017 • 160 unweighted • 132 weighted
  • 42. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 42 Source Code in GitHub https://github.com/jfrchicanog/EfficientHillClimbers
  • 43. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 43 Conclusions • The Variable Interaction Graph provides useful information to improve the search • It can be used to find the best offspring from the largest dynastic potential of a crossover operator • The proposed DPX squares the number of solutions explored by APX and raises to the power of 4 the solutions explored by PX • DPX is specially good in MAX-SAT • Take home message: use Gray-Box Optimization if you can • Explore the shape of the connected components in the recombination graph and their relationship with performance • Exploring the Local Optima Networks generated by DPX • Design MAX-SAT solvers based on DPX Future Work
  • 44. Quasi-Optimal Recombination Operator EvoCOP 2019, 24-26 April, Leipzig, Germany 44 AcknowledgementsIDENTIDAD arca Universidad de Málaga VERSIÓN VERTICAL EN POSITIVO VERSIÓN VERTICAL EN NEGATIVO Thanks for your attention!!!