SlideShare a Scribd company logo
Enhancing Partition Crossover with
Articulation Points Analysis
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
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 2
• Gray-Box (vs. Black-Box) Optimization
• Partition Crossover and Articulation Points
• Deterministic Recombination and Iterated Local Search
• Experiments
• Conclusions and Future Work
Outline
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 3
Gray-Box (vs. Black-Box) Optimization
x f(x)
x f(x)
For most of real problems we
know (almost) all the details
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 4
Gray-Box (vs. Black-Box) Optimization
x f(x)
x f(x)
For most of real problems we
know (almost) all the details
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 5
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
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 6
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)
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 7
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
Partition Crossover (PX)
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 8
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
0
1
0
0
1
00
0
1
0
1
0
1
0
0
1
1
0 1
0
0
0
1
Partition Crossover (PX)
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 9
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
0
1
1
0
1
00
0
1
1
0
0
1
0
1
1 1
0 1
1
0
1
1
0
1
0
0
1
00
0
1
0
1
0
1
0
0
1
1
0 1
0
0
0
1
Partition Crossover (PX)
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 10
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
0
1
1
0
1
00
0
1
1
0
0
1
0
1
1 1
0 1
1
0
1
1
0
1
0
0
1
00
0
1
0
1
0
1
0
0
1
1
0 1
0
0
0
1
Partition Crossover (PX)
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 11
PX creates a graph with only the differing variables (recombination graph)
All the variables in a component are taken 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.
Partition Crossover (PX)
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 12
PX creates a graph with only the differing variables (recombination graph)
All the variables in a component are taken from the same parent
The contribution of each component to the fitness value of the offspring is
independent of each other
Partition Crossover (PX)
x23
x18
x9
x3
x5
x16
If there are q
components, the best
offspring out of 2q
solutions is obtained
FOGA 2015: Tinós, Whitley, C.
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 13
Articulation Points in a Graph
Articulation point
Connected sub-component
a
C1
C2
C3
C4
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 14
Articulation Points in a Graph
both parents and applying Partition Crossover. This computation
is independently performed for each connected component and all
the contributions are added to give the overall contribution. If there
is no articulation point in the recombination graph or removing an
articulation point does not increase the objective value, the operator
works as the original PX. In the following sections we detail the
theoretical background of the operator.
x2
x1
x3 x4
x0
Figure 3: Example of articulation points. Nodes x3 and x4 are
articulation points of the graph.
Articulation Points
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 15
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
0
1
1
0
1
00
0
1
1
0
0
1
0
1
1 1 1
1
1
0
1
1
0
1
0
0
1
00
0
1
0
1
0
1
0
0
1
1
0 1
0
0
0
1
Articulation Points Partition Crossover (APX)
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 16
x23
x18
x9
x3
x5
x16
x1
Articulation Points Partition Crossover (APX)
Original PX would find 2
components, and would
provide the best of 4 solutions
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 17
x23
x18
x9
x3
x5
x16
x1
Articulation Points Partition Crossover (APX)
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
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 18
Articulation Points Partition Crossover (APX)
All the analysis can be done using Tarjan’s algorithm to find articulation points (DFS-
like algorithm) : time complexity is the same as the original PX
a1
C1
C2
C3 C4
a2
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 19
Articulation Points Partition Crossover (APX)
The number of implicitly studied solutions is:
C (z) = max
a2AP(C)
t 2{x, }
≠
´h2Fa⇤
h(t 1a) +
i=1
Ca
i ,a(t)Æ
¨
(5)
where Ca
i ,a(t) = max
⇣
Ca
i
(t 1a), Ca
i
(t 1C )
⌘
is the contribu-
tion of the connected sub-component Ca
i when articulation point a is
removed and Fa⇤ = F{a} [da
i=1FCa
i
is the set of subfunctions that de-
pend on a but not on any other variable in C. The number of solutions
that APX implicitly explores is:
E(x, ) = 2|CC(G)|
÷
C 2CC(G)
©
≠
´
1 eC +
’
a2AP(C)
⇣
2da 1
⌘
™
Æ
¨
, (6)
where eC is the number of edges in the connected component C join-
ing two articulation points. Observe that 2|CC(G)| is the number of
solutions implicitly explored by the original PX.
P. Equation (5) is a consequence of Lemma 3.1 where the
maximum over all the articulation points in a connected component
is taken. Equation (4) is a sum of the contribution to the objective
value of each connected component plus the sum of the evaluation
Number of solutions
considered by PX Edges joining two
articulation points
Degree of an articulation point
in the recominbation graph
Connected
component
Figure 6: Two articulation points not joined by an edge. The
analyses of a1 and a2 explore only two common combina-
tions: the ones found in the parent solutions.
In summary, the number of explored combinations in one con-
nected component C is:
’
a2AP(C)
(2da +1
2) 2eC +2 = 2
©
≠
´
1 eC +
’
a2AP(C)
(2da 1)
™
Æ
¨
. (7)
The product of Equation (7) extended to all the connected com-
ponents of G is Equation (6). ⇤
A more practical (easier to remember) lower bound for the num-
ber of explored solutions is provided in the next corollary.
C 3.3. Given two solutions x and , a lower bound of
the number of solutions implicitly evaluated in APX is:
E(x, ) 2|CC(G)|
÷
C2CC(G)
|AP(C)|0
2(1 + |AP(C)|) (8)
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 20
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
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 21
Experimental Results
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
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 22
Experimental Results
Example for NKQ Landscapes with N=100 000 and K=2 (DRILS+APX)
There are 4339 nodes grouped in 858 components with 1825 articulation points (in red)
that the logarithm is around two times the number of components.
This means that APX implicitly explores a set of solutions with a
size that is around the square of the number of solutions explored
by PX. According to the data in Table 1, this number is between
2254 = 1076 and 215 987 = 104 813.
Figure 7 shows the recombination graph for two local optima
during a run of DRILS+APX. For visualization purposes, we chose
one of the smallest recombination graphs we observed in the ex-
periments, for an instance with N = 105 variables and K = 2.
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
● ●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
● ●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
● ● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Figure 7: Example of recombination graph during a
DIRLS+APX run for an NK instance with N = 105 and K = 2,
showing the connected components and articulation points
(red nodes). The graph contains 858 components and 4 339
nodes, of which 1 825 are articulation points (42%).
105
2 10
3 10
4 2
5 1
106
2 2
3 5
4 9
5 1
and K = 3 (average o
DRILS+APX outperform
Columns sixth and
runtime of one applica
the same order of magn
sometimes is slower th
computation does not h
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 23
Experimental Results
APX runtime is in the same order of magnitude than that of PX
number of explored solutions, we compute the binary logarithm
and provide the average. This makes it possible to easily compare
the number of solutions explored by APX and PX, since the number
of components (third column) is the binary logarithm of the number
of solutions explored by PX.
Table 1: APX Statistics.
N K #Comp. #APs da log2 E(x, )
105
2 662 687 2.25 1 311
3 503 1 151 2.37 1 105
4 138 196 2.33 286
5 119 218 2.36 254
106
2 7 774 10 836 2.28 15 987
3 4 515 21 793 2.35 9 454
4 1 748 6 281 2.38 3 907
5 1 105 7 207 2.34 2 341
We can observe in Table 1 that the number of articulation points
can be similar to the number of components, but it can also be
several times larger, indicating that each connected component can
on Points Analysis GECCO ’18, July 15–19, 2018, Kyoto, Japan
he number of articu-
mponents. While the
mber of articulation
erage degree of the
minimum value). It is
m value we observed
re probable when K
utions, we observe
mber of components.
of solutions with a
solutions explored
number is between
or two local optima
purposes, we chose
observed in the ex-
bles and K = 2.
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
● ●
●
●
●
● ●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Table 2: Number of NKQ instances where any of the algo-
rithms statistically outperforms the other or the two are
similar. The average runtime of one execution of APX and
PX is also shown.
DRILS performance Runtime (ms)
N K APX PX Sim. APX PX
105
2 10 0 0 55 46
3 10 0 0 67 73
4 2 0 8 55 52
5 1 1 8 63 52
106
2 2 3 5 1 383 970
3 5 0 5 1 785 2 485
4 9 0 1 1 360 1 439
5 1 0 9 1 633 1 559
and K = 3 (average over 100 samples). We can clearly see how
DRILS+APX outperformed DRILS after a few seconds.
24515≈101359 solutions: 101349 ≈ (1080)16 solutions per nanosecond
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 24
Experimental Results
APX runtime is in the same order of magnitude than that of PX
y = 2,06x + 65,302
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
log2E(x,y)
# Components
Number of Explored Solutions (APX vs. PX)
on. The computation eort required to do this analysis
eases the time in a constant factor compared to PX. There
nge in the asymptotic behaviour of the operator run time,
O(N) for k-bounded pseudo-Boolean functions and O(N2)
neral case.
PERIMENTS
to experimentally analyze the performance of APX, we
it in the Deterministic Recombination and Iterated Local
DRILS) algorithm. DRILS [1] uses a rst improving move
er to reach a local optimum. Then, it perturbs the solution
mly ipping N bits, where is the so-called perturbation
then applies local search to the new solution to reach
ocal optimum and applies Partition Crossover to the last
optima, generating a new solution that is improved further
hill climber. This process is repeated until a time limit is
The pseudocode is shown in Algorithm 1.
tion to the original DRILS algorithm, we implement a vari-
e the Partition Crossover operator in Line 4 of Algorithm 1
d by APX. This version is called DRILS+APX in the rest
per. In all the runs we set a time limit of 60s (1 minute).
algorithms are stochastic, we performed 10 independent
ach instance and algorithm. We used NP-hard problems to
he performance of APX: Random NKQ Landscapes with
d MAX-SAT.
mputer used for the experiments is a multicore machine
Intel Xeon CPU (E5-2670 v3) at 2.3 GHz, a total of 48
in the case K = 2, 3 and = 0.01 in the case K = 4, 5. These v
were taken from the recommendations in [1].
Table 1 shows averages over all the recombinations appe
in all the runs for each combination of N and K. In the case
number of explored solutions, we compute the binary loga
and provide the average. This makes it possible to easily com
the number of solutions explored by APX and PX, since the nu
of components (third column) is the binary logarithm of the nu
of solutions explored by PX.
Table 1: APX Statistics.
N K #Comp. #APs da log2 E(x, )
105
2 662 687 2.25 1 311
3 503 1 151 2.37 1 105
4 138 196 2.33 286
5 119 218 2.36 254
106
2 7 774 10 836 2.28 15 987
3 4 515 21 793 2.35 9 454
4 1 748 6 281 2.38 3 907
5 1 105 7 207 2.34 2 341
We can observe in Table 1 that the number of articulation
can be similar to the number of components, but it can a
several times larger, indicating that each connected compone
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 25
Experimental Results
APX runtime is in the same order of magnitude than that of PX
y = 2,06x + 65,302
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
log2E(x,y)
# Components
Number of Explored Solutions (APX vs. PX)
|PX|
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 26
Experimental Results
APX runtime is in the same order of magnitude than that of PX and the number of
solutions explored is squared!
|APX| ≈ |PX|2
y = 2,06x + 65,302
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
log2E(x,y)
# Components
Number of Explored Solutions (APX vs. PX)
|PX|
|APX|
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 27
Experimental Results
DRILS and DRILS+APX solving NKQ Landscapes
106
4 9 0 1 1 360 1 439
5 1 0 9 1 633 1 559
and K = 3 (average over 100 samples). We can clearly see how
DRILS+APX outperformed DRILS after a few seconds.
Columns sixth and seventh of Table 1 also report the average
runtime of one application of APX and PX. The numbers are in
the same order of magnitude although sometimes PX is faster and
sometimes is slower than APX. Thus, we can claim that the extra
computation does not have a big impact in the runtime.
DRILS
DRILS+APX
0 10 20 30 40 50 60
4.55× 107
4.60× 107
4.65× 107
4.70× 107
Time (s)
Averagefitness
Figure 8: Average tness over time obtained by DRILS and
DRILS+APX in all the instances and all the runs of NKQ
Landscapes for N = 106 and K = 3.
Enhancing Partition Crossover with Articulation Points Analysis GECCO ’18, July 15–19, 2018, Kyoto, Japan
have several articulation points. The trend in the number of articu-
lation points is not as clear as the number of components. While the
number of components decrease with K, the number of articulation
points can increase or decrease with K. The average degree of the
articulation points is slightly larger than 2 (its minimum value). It is
not common to see high degrees; the maximum value we observed
in the experiments was 13. High values are more probable when K
is high. Regarding the number of explored solutions, we observe
that the logarithm is around two times the number of components.
This means that APX implicitly explores a set of solutions with a
size that is around the square of the number of solutions explored
by PX. According to the data in Table 1, this number is between
2254 = 1076 and 215 987 = 104 813.
Figure 7 shows the recombination graph for two local optima
during a run of DRILS+APX. For visualization purposes, we chose
one of the smallest recombination graphs we observed in the ex-
periments, for an instance with N = 105 variables and K = 2.
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●● ●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Table 2: Number of NKQ instances where any of the algo-
rithms statistically outperforms the other or the two are
similar. The average runtime of one execution of APX and
PX is also shown.
DRILS performance Runtime (ms)
N K APX PX Sim. APX PX
105
2 10 0 0 55 46
3 10 0 0 67 73
4 2 0 8 55 52
5 1 1 8 63 52
106
2 2 3 5 1 383 970
3 5 0 5 1 785 2 485
4 9 0 1 1 360 1 439
5 1 0 9 1 633 1 559
and K = 3 (average over 100 samples). We can clearly see how
DRILS+APX outperformed DRILS after a few seconds.
Columns sixth and seventh of Table 1 also report the average
runtime of one application of APX and PX. The numbers are in
the same order of magnitude although sometimes PX is faster and
sometimes is slower than APX. Thus, we can claim that the extra
N=1 Million K=3
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 28
Experimental Results
DRILS and DRILS+APX solving MAX-SAT (instances from MAX-SAT Evaluation 2017)
Mann-Whitney with signicance level 0.05) between the algorithms.
Three dierent values for the perturbation factor ( ) were used:
0.10, 0.20 and 0.30.
Table 3: Number of MAX-SAT instances where any of the
algorithms statistically outperforms the other or the two are
similar. The last two columns report the runtime of APX and
PX.
DRILS performance Runtime (µs)
Instances APX PX Sim. APX PX
Unweighted
0.10 78 1 81 463 454
0.20 82 2 75 684 729
0.30 85 2 73 849 1 060
Weighted
0.10 26 19 87 1 425 882
0.20 49 14 69 1 859 1 416
0.30 77 5 50 2 365 1 713
DRILS+APX seems to be better in the unweighted instances than
in the weighted ones, compared to DRILS. Unweighted instances are
Gray-B
Fut
bility o
compo
(DRILS
be incl
of the
random
could
theore
ACK
Fundin
istry o
Minist
57341-
Tech, t
the Le
and CN
REFE
[1] Fran
Opt
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 29
Source Code in GitHub
https://github.com/jfrchicanog/EfficientHillClimbers
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 30
Conclusions
• The Variable Interaction Graph provides useful information to improve the search
• Articulation Points Partition Crossover squares the number of solutions considered by
PX in around the same time
• APX is specially good in Unweighted MAX-SAT instances (many plateaus)
• Take home message: use Gray-Box Optimization if you can
• Plateaus exploration in MAX-SAT guided by APX
• New ways of perturbing the solution to maximize the components in (A)PX
• Look at the Variable Interaction Graph of industrial problems
Future Work
Enhancing Partition Crossover with Articulation Points Analysis
GECCO 2018, 15-19 July, Kyoto, Japan 31
AcknowledgementsNTIDAD
Universidad de Málaga
VERSIÓN VERTICAL EN POSITIVO
VERSIÓN VERTICAL EN NEGATIVO
Thanks for your attention!!!

More Related Content

PDF
GATE Computer Science Solved Paper 2004
PDF
Gate-Cs 2006
PPTX
How to calculate back propagation
PDF
An approach to model reduction of logistic networks based on ranking
PDF
When Classifier Selection meets Information Theory: A Unifying View
PPTX
Non Deterministic and Deterministic Problems
PDF
Gate Computer Science Solved Paper 2007
PDF
Linear Classifiers
GATE Computer Science Solved Paper 2004
Gate-Cs 2006
How to calculate back propagation
An approach to model reduction of logistic networks based on ranking
When Classifier Selection meets Information Theory: A Unifying View
Non Deterministic and Deterministic Problems
Gate Computer Science Solved Paper 2007
Linear Classifiers

What's hot (17)

PDF
2002 santiago et al
PDF
MUMS: Transition & SPUQ Workshop - Dimension Reduction and Global Sensititvit...
PDF
Gate-Cs 1996
PDF
Parallel Filter-Based Feature Selection Based on Balanced Incomplete Block De...
PDF
Gate-Cs 2009
PDF
Cs 2008(1)
PDF
Graph Kernels for Chemical Informatics
PPTX
Introduction to operations research
PDF
Interval Pattern Structures: An introdution
PDF
Generalized Low Rank Models
PDF
H2O World - GLRM - Anqi Fu
PDF
Paper Summary of Infogan-CR : Disentangling Generative Adversarial Networks w...
PDF
Gate-Cs 2010
PDF
Gaussian Processes: Applications in Machine Learning
PDF
Elliptic curve scalar multiplier using karatsuba
PDF
Algebra 2 Notes 2-6
PDF
Gate-Cs 2007
2002 santiago et al
MUMS: Transition & SPUQ Workshop - Dimension Reduction and Global Sensititvit...
Gate-Cs 1996
Parallel Filter-Based Feature Selection Based on Balanced Incomplete Block De...
Gate-Cs 2009
Cs 2008(1)
Graph Kernels for Chemical Informatics
Introduction to operations research
Interval Pattern Structures: An introdution
Generalized Low Rank Models
H2O World - GLRM - Anqi Fu
Paper Summary of Infogan-CR : Disentangling Generative Adversarial Networks w...
Gate-Cs 2010
Gaussian Processes: Applications in Machine Learning
Elliptic curve scalar multiplier using karatsuba
Algebra 2 Notes 2-6
Gate-Cs 2007
Ad

Similar to Enhancing Partition Crossover with Articulation Points Analysis (20)

PDF
QMC: Undergraduate Workshop, Introduction to Monte Carlo Methods with 'R' Sof...
PPTX
AIOU Code 803 Mathematics for Economists Semester Spring 2022 Assignment 2.pptx
PDF
Mining at scale with latent factor models for matrix completion
PDF
REGRESION LOGISTICA MEDIANTE MODELOS MATEMATICOS
PDF
Quasi-Optimal Recombination Operator
PDF
Funções 2
PDF
PDF
AINL 2016: Strijov
PDF
QMC: Operator Splitting Workshop, Estimation of Inverse Covariance Matrix in ...
PDF
QMC: Operator Splitting Workshop, Projective Splitting with Forward Steps and...
PDF
20181212 - PGconfASIA - LT - English
PDF
Type and proof structures for concurrency
PDF
Accelerating Metropolis Hastings with Lightweight Inference Compilation
PDF
Overlap Layout Consensus assembly
PDF
11 Machine Learning Important Issues in Machine Learning
PPTX
ML unit-1.pptx
PDF
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
PDF
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
PPTX
Lecture2a algorithm
PDF
Graph Neural Network in practice
QMC: Undergraduate Workshop, Introduction to Monte Carlo Methods with 'R' Sof...
AIOU Code 803 Mathematics for Economists Semester Spring 2022 Assignment 2.pptx
Mining at scale with latent factor models for matrix completion
REGRESION LOGISTICA MEDIANTE MODELOS MATEMATICOS
Quasi-Optimal Recombination Operator
Funções 2
AINL 2016: Strijov
QMC: Operator Splitting Workshop, Estimation of Inverse Covariance Matrix in ...
QMC: Operator Splitting Workshop, Projective Splitting with Forward Steps and...
20181212 - PGconfASIA - LT - English
Type and proof structures for concurrency
Accelerating Metropolis Hastings with Lightweight Inference Compilation
Overlap Layout Consensus assembly
11 Machine Learning Important Issues in Machine Learning
ML unit-1.pptx
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Lecture2a algorithm
Graph Neural Network in practice
Ad

More from jfrchicanog (20)

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

Recently uploaded (20)

PPTX
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
PPTX
ECG_Course_Presentation د.محمد صقران ppt
PPTX
cpcsea ppt.pptxssssssssssssssjjdjdndndddd
PDF
ELS_Q1_Module-11_Formation-of-Rock-Layers_v2.pdf
PPTX
Comparative Structure of Integument in Vertebrates.pptx
PPTX
G5Q1W8 PPT SCIENCE.pptx 2025-2026 GRADE 5
PDF
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
PDF
Formation of Supersonic Turbulence in the Primordial Star-forming Cloud
DOCX
Viruses (History, structure and composition, classification, Bacteriophage Re...
PPTX
2. Earth - The Living Planet Module 2ELS
PPTX
Introduction to Cardiovascular system_structure and functions-1
PPTX
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
PPTX
famous lake in india and its disturibution and importance
PDF
bbec55_b34400a7914c42429908233dbd381773.pdf
PPTX
TOTAL hIP ARTHROPLASTY Presentation.pptx
PPTX
Protein & Amino Acid Structures Levels of protein structure (primary, seconda...
PPTX
BIOMOLECULES PPT........................
PPTX
Introduction to Fisheries Biotechnology_Lesson 1.pptx
PDF
An interstellar mission to test astrophysical black holes
PPTX
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
ECG_Course_Presentation د.محمد صقران ppt
cpcsea ppt.pptxssssssssssssssjjdjdndndddd
ELS_Q1_Module-11_Formation-of-Rock-Layers_v2.pdf
Comparative Structure of Integument in Vertebrates.pptx
G5Q1W8 PPT SCIENCE.pptx 2025-2026 GRADE 5
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
Formation of Supersonic Turbulence in the Primordial Star-forming Cloud
Viruses (History, structure and composition, classification, Bacteriophage Re...
2. Earth - The Living Planet Module 2ELS
Introduction to Cardiovascular system_structure and functions-1
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
famous lake in india and its disturibution and importance
bbec55_b34400a7914c42429908233dbd381773.pdf
TOTAL hIP ARTHROPLASTY Presentation.pptx
Protein & Amino Acid Structures Levels of protein structure (primary, seconda...
BIOMOLECULES PPT........................
Introduction to Fisheries Biotechnology_Lesson 1.pptx
An interstellar mission to test astrophysical black holes
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.

Enhancing Partition Crossover with Articulation Points Analysis

  • 1. Enhancing Partition Crossover with Articulation Points Analysis 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. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 2 • Gray-Box (vs. Black-Box) Optimization • Partition Crossover and Articulation Points • Deterministic Recombination and Iterated Local Search • Experiments • Conclusions and Future Work Outline
  • 3. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 3 Gray-Box (vs. Black-Box) Optimization x f(x) x f(x) For most of real problems we know (almost) all the details
  • 4. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 4 Gray-Box (vs. Black-Box) Optimization x f(x) x f(x) For most of real problems we know (almost) all the details
  • 5. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 5 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
  • 6. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 6 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)
  • 7. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 7 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 Partition Crossover (PX)
  • 8. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 8 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 0 1 0 0 1 00 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 1 Partition Crossover (PX)
  • 9. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 9 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 0 1 1 0 1 00 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 0 0 1 00 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 1 Partition Crossover (PX)
  • 10. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 10 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 0 1 1 0 1 00 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 0 0 1 00 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 1 Partition Crossover (PX)
  • 11. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 11 PX creates a graph with only the differing variables (recombination graph) All the variables in a component are taken 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. Partition Crossover (PX)
  • 12. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 12 PX creates a graph with only the differing variables (recombination graph) All the variables in a component are taken from the same parent The contribution of each component to the fitness value of the offspring is independent of each other Partition Crossover (PX) x23 x18 x9 x3 x5 x16 If there are q components, the best offspring out of 2q solutions is obtained FOGA 2015: Tinós, Whitley, C.
  • 13. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 13 Articulation Points in a Graph Articulation point Connected sub-component a C1 C2 C3 C4
  • 14. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 14 Articulation Points in a Graph both parents and applying Partition Crossover. This computation is independently performed for each connected component and all the contributions are added to give the overall contribution. If there is no articulation point in the recombination graph or removing an articulation point does not increase the objective value, the operator works as the original PX. In the following sections we detail the theoretical background of the operator. x2 x1 x3 x4 x0 Figure 3: Example of articulation points. Nodes x3 and x4 are articulation points of the graph. Articulation Points
  • 15. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 15 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 0 1 1 0 1 00 0 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 00 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 1 Articulation Points Partition Crossover (APX)
  • 16. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 16 x23 x18 x9 x3 x5 x16 x1 Articulation Points Partition Crossover (APX) Original PX would find 2 components, and would provide the best of 4 solutions
  • 17. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 17 x23 x18 x9 x3 x5 x16 x1 Articulation Points Partition Crossover (APX) 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
  • 18. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 18 Articulation Points Partition Crossover (APX) All the analysis can be done using Tarjan’s algorithm to find articulation points (DFS- like algorithm) : time complexity is the same as the original PX a1 C1 C2 C3 C4 a2
  • 19. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 19 Articulation Points Partition Crossover (APX) The number of implicitly studied solutions is: C (z) = max a2AP(C) t 2{x, } ≠ ´h2Fa⇤ h(t 1a) + i=1 Ca i ,a(t)Æ ¨ (5) where Ca i ,a(t) = max ⇣ Ca i (t 1a), Ca i (t 1C ) ⌘ is the contribu- tion of the connected sub-component Ca i when articulation point a is removed and Fa⇤ = F{a} [da i=1FCa i is the set of subfunctions that de- pend on a but not on any other variable in C. The number of solutions that APX implicitly explores is: E(x, ) = 2|CC(G)| ÷ C 2CC(G) © ≠ ´ 1 eC + ’ a2AP(C) ⇣ 2da 1 ⌘ ™ Æ ¨ , (6) where eC is the number of edges in the connected component C join- ing two articulation points. Observe that 2|CC(G)| is the number of solutions implicitly explored by the original PX. P. Equation (5) is a consequence of Lemma 3.1 where the maximum over all the articulation points in a connected component is taken. Equation (4) is a sum of the contribution to the objective value of each connected component plus the sum of the evaluation Number of solutions considered by PX Edges joining two articulation points Degree of an articulation point in the recominbation graph Connected component Figure 6: Two articulation points not joined by an edge. The analyses of a1 and a2 explore only two common combina- tions: the ones found in the parent solutions. In summary, the number of explored combinations in one con- nected component C is: ’ a2AP(C) (2da +1 2) 2eC +2 = 2 © ≠ ´ 1 eC + ’ a2AP(C) (2da 1) ™ Æ ¨ . (7) The product of Equation (7) extended to all the connected com- ponents of G is Equation (6). ⇤ A more practical (easier to remember) lower bound for the num- ber of explored solutions is provided in the next corollary. C 3.3. Given two solutions x and , a lower bound of the number of solutions implicitly evaluated in APX is: E(x, ) 2|CC(G)| ÷ C2CC(G) |AP(C)|0 2(1 + |AP(C)|) (8)
  • 20. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 20 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
  • 21. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 21 Experimental Results 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
  • 22. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 22 Experimental Results Example for NKQ Landscapes with N=100 000 and K=2 (DRILS+APX) There are 4339 nodes grouped in 858 components with 1825 articulation points (in red) that the logarithm is around two times the number of components. This means that APX implicitly explores a set of solutions with a size that is around the square of the number of solutions explored by PX. According to the data in Table 1, this number is between 2254 = 1076 and 215 987 = 104 813. Figure 7 shows the recombination graph for two local optima during a run of DRILS+APX. For visualization purposes, we chose one of the smallest recombination graphs we observed in the ex- periments, for an instance with N = 105 variables and K = 2. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Figure 7: Example of recombination graph during a DIRLS+APX run for an NK instance with N = 105 and K = 2, showing the connected components and articulation points (red nodes). The graph contains 858 components and 4 339 nodes, of which 1 825 are articulation points (42%). 105 2 10 3 10 4 2 5 1 106 2 2 3 5 4 9 5 1 and K = 3 (average o DRILS+APX outperform Columns sixth and runtime of one applica the same order of magn sometimes is slower th computation does not h
  • 23. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 23 Experimental Results APX runtime is in the same order of magnitude than that of PX number of explored solutions, we compute the binary logarithm and provide the average. This makes it possible to easily compare the number of solutions explored by APX and PX, since the number of components (third column) is the binary logarithm of the number of solutions explored by PX. Table 1: APX Statistics. N K #Comp. #APs da log2 E(x, ) 105 2 662 687 2.25 1 311 3 503 1 151 2.37 1 105 4 138 196 2.33 286 5 119 218 2.36 254 106 2 7 774 10 836 2.28 15 987 3 4 515 21 793 2.35 9 454 4 1 748 6 281 2.38 3 907 5 1 105 7 207 2.34 2 341 We can observe in Table 1 that the number of articulation points can be similar to the number of components, but it can also be several times larger, indicating that each connected component can on Points Analysis GECCO ’18, July 15–19, 2018, Kyoto, Japan he number of articu- mponents. While the mber of articulation erage degree of the minimum value). It is m value we observed re probable when K utions, we observe mber of components. of solutions with a solutions explored number is between or two local optima purposes, we chose observed in the ex- bles and K = 2. ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Table 2: Number of NKQ instances where any of the algo- rithms statistically outperforms the other or the two are similar. The average runtime of one execution of APX and PX is also shown. DRILS performance Runtime (ms) N K APX PX Sim. APX PX 105 2 10 0 0 55 46 3 10 0 0 67 73 4 2 0 8 55 52 5 1 1 8 63 52 106 2 2 3 5 1 383 970 3 5 0 5 1 785 2 485 4 9 0 1 1 360 1 439 5 1 0 9 1 633 1 559 and K = 3 (average over 100 samples). We can clearly see how DRILS+APX outperformed DRILS after a few seconds. 24515≈101359 solutions: 101349 ≈ (1080)16 solutions per nanosecond
  • 24. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 24 Experimental Results APX runtime is in the same order of magnitude than that of PX y = 2,06x + 65,302 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 log2E(x,y) # Components Number of Explored Solutions (APX vs. PX) on. The computation eort required to do this analysis eases the time in a constant factor compared to PX. There nge in the asymptotic behaviour of the operator run time, O(N) for k-bounded pseudo-Boolean functions and O(N2) neral case. PERIMENTS to experimentally analyze the performance of APX, we it in the Deterministic Recombination and Iterated Local DRILS) algorithm. DRILS [1] uses a rst improving move er to reach a local optimum. Then, it perturbs the solution mly ipping N bits, where is the so-called perturbation then applies local search to the new solution to reach ocal optimum and applies Partition Crossover to the last optima, generating a new solution that is improved further hill climber. This process is repeated until a time limit is The pseudocode is shown in Algorithm 1. tion to the original DRILS algorithm, we implement a vari- e the Partition Crossover operator in Line 4 of Algorithm 1 d by APX. This version is called DRILS+APX in the rest per. In all the runs we set a time limit of 60s (1 minute). algorithms are stochastic, we performed 10 independent ach instance and algorithm. We used NP-hard problems to he performance of APX: Random NKQ Landscapes with d MAX-SAT. mputer used for the experiments is a multicore machine Intel Xeon CPU (E5-2670 v3) at 2.3 GHz, a total of 48 in the case K = 2, 3 and = 0.01 in the case K = 4, 5. These v were taken from the recommendations in [1]. Table 1 shows averages over all the recombinations appe in all the runs for each combination of N and K. In the case number of explored solutions, we compute the binary loga and provide the average. This makes it possible to easily com the number of solutions explored by APX and PX, since the nu of components (third column) is the binary logarithm of the nu of solutions explored by PX. Table 1: APX Statistics. N K #Comp. #APs da log2 E(x, ) 105 2 662 687 2.25 1 311 3 503 1 151 2.37 1 105 4 138 196 2.33 286 5 119 218 2.36 254 106 2 7 774 10 836 2.28 15 987 3 4 515 21 793 2.35 9 454 4 1 748 6 281 2.38 3 907 5 1 105 7 207 2.34 2 341 We can observe in Table 1 that the number of articulation can be similar to the number of components, but it can a several times larger, indicating that each connected compone
  • 25. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 25 Experimental Results APX runtime is in the same order of magnitude than that of PX y = 2,06x + 65,302 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 log2E(x,y) # Components Number of Explored Solutions (APX vs. PX) |PX|
  • 26. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 26 Experimental Results APX runtime is in the same order of magnitude than that of PX and the number of solutions explored is squared! |APX| ≈ |PX|2 y = 2,06x + 65,302 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 log2E(x,y) # Components Number of Explored Solutions (APX vs. PX) |PX| |APX|
  • 27. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 27 Experimental Results DRILS and DRILS+APX solving NKQ Landscapes 106 4 9 0 1 1 360 1 439 5 1 0 9 1 633 1 559 and K = 3 (average over 100 samples). We can clearly see how DRILS+APX outperformed DRILS after a few seconds. Columns sixth and seventh of Table 1 also report the average runtime of one application of APX and PX. The numbers are in the same order of magnitude although sometimes PX is faster and sometimes is slower than APX. Thus, we can claim that the extra computation does not have a big impact in the runtime. DRILS DRILS+APX 0 10 20 30 40 50 60 4.55× 107 4.60× 107 4.65× 107 4.70× 107 Time (s) Averagefitness Figure 8: Average tness over time obtained by DRILS and DRILS+APX in all the instances and all the runs of NKQ Landscapes for N = 106 and K = 3. Enhancing Partition Crossover with Articulation Points Analysis GECCO ’18, July 15–19, 2018, Kyoto, Japan have several articulation points. The trend in the number of articu- lation points is not as clear as the number of components. While the number of components decrease with K, the number of articulation points can increase or decrease with K. The average degree of the articulation points is slightly larger than 2 (its minimum value). It is not common to see high degrees; the maximum value we observed in the experiments was 13. High values are more probable when K is high. Regarding the number of explored solutions, we observe that the logarithm is around two times the number of components. This means that APX implicitly explores a set of solutions with a size that is around the square of the number of solutions explored by PX. According to the data in Table 1, this number is between 2254 = 1076 and 215 987 = 104 813. Figure 7 shows the recombination graph for two local optima during a run of DRILS+APX. For visualization purposes, we chose one of the smallest recombination graphs we observed in the ex- periments, for an instance with N = 105 variables and K = 2. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Table 2: Number of NKQ instances where any of the algo- rithms statistically outperforms the other or the two are similar. The average runtime of one execution of APX and PX is also shown. DRILS performance Runtime (ms) N K APX PX Sim. APX PX 105 2 10 0 0 55 46 3 10 0 0 67 73 4 2 0 8 55 52 5 1 1 8 63 52 106 2 2 3 5 1 383 970 3 5 0 5 1 785 2 485 4 9 0 1 1 360 1 439 5 1 0 9 1 633 1 559 and K = 3 (average over 100 samples). We can clearly see how DRILS+APX outperformed DRILS after a few seconds. Columns sixth and seventh of Table 1 also report the average runtime of one application of APX and PX. The numbers are in the same order of magnitude although sometimes PX is faster and sometimes is slower than APX. Thus, we can claim that the extra N=1 Million K=3
  • 28. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 28 Experimental Results DRILS and DRILS+APX solving MAX-SAT (instances from MAX-SAT Evaluation 2017) Mann-Whitney with signicance level 0.05) between the algorithms. Three dierent values for the perturbation factor ( ) were used: 0.10, 0.20 and 0.30. Table 3: Number of MAX-SAT instances where any of the algorithms statistically outperforms the other or the two are similar. The last two columns report the runtime of APX and PX. DRILS performance Runtime (µs) Instances APX PX Sim. APX PX Unweighted 0.10 78 1 81 463 454 0.20 82 2 75 684 729 0.30 85 2 73 849 1 060 Weighted 0.10 26 19 87 1 425 882 0.20 49 14 69 1 859 1 416 0.30 77 5 50 2 365 1 713 DRILS+APX seems to be better in the unweighted instances than in the weighted ones, compared to DRILS. Unweighted instances are Gray-B Fut bility o compo (DRILS be incl of the random could theore ACK Fundin istry o Minist 57341- Tech, t the Le and CN REFE [1] Fran Opt
  • 29. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 29 Source Code in GitHub https://github.com/jfrchicanog/EfficientHillClimbers
  • 30. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 30 Conclusions • The Variable Interaction Graph provides useful information to improve the search • Articulation Points Partition Crossover squares the number of solutions considered by PX in around the same time • APX is specially good in Unweighted MAX-SAT instances (many plateaus) • Take home message: use Gray-Box Optimization if you can • Plateaus exploration in MAX-SAT guided by APX • New ways of perturbing the solution to maximize the components in (A)PX • Look at the Variable Interaction Graph of industrial problems Future Work
  • 31. Enhancing Partition Crossover with Articulation Points Analysis GECCO 2018, 15-19 July, Kyoto, Japan 31 AcknowledgementsNTIDAD Universidad de Málaga VERSIÓN VERTICAL EN POSITIVO VERSIÓN VERTICAL EN NEGATIVO Thanks for your attention!!!