efficient hill climber for multi-objective pseudo-boolean optimization

30
1 / 23 EvoCOP 2016, Porto, Portugal, March-April 2016 Introduction Background Contribution Experiments Conclusions & Future Work Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization Francisco Chicano, Darrell Whitley, Renato Tinós

Upload: jfrchicanog

Post on 09-Feb-2017

98 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

1 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background Contribution Experiments Conclusions & Future Work

Efficient Hill Climber for Multi-ObjectivePseudo-Boolean Optimization

Francisco Chicano, Darrell Whitley, Renato Tinós

Page 2: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

2 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

S1(x) = f

(1)(x� 1)� f

(1)(x)

S2(x) = f

(1)(x� 2)� f

(1)(x) + f

(2)(x� 2)� f

(2)(x) + f

(3)(x� 2)� f

(3)(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

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

S1(x) = f

(1)(x� 1)� f

(1)(x)

S2(x) = f

(1)(x� 2)� f

(1)(x) + f

(2)(x� 2)� f

(2)(x) + f

(3)(x� 2)� f

(3)(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

• Considering binary strings of length n and Hamming distance…

Solutions in a ball of radius r

r=1r=2

r=3

Ball of radius r Previous work Research Question

How many solutions at Hamming distance r?

If r << n : Θ (nr)

Page 3: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

3 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

• We want to find improving moves in a ball of radius r around solution x

• What is the computational cost of this exploration?

• By complete enumeration: O (nr) if the fitness evaluation is O(1)

• In previous work we proposed a way to find improving moves in ball of radius r in O(1) (constant time independent of n)

Improving moves in a ball of radius r

r

Ball of radius r Previous work Research Question

Chicano, Whitley, Sutton, GECCO 2014: 437-444

Page 4: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

4 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Research QuestionBall of radius r Previous work Research Question

Page 5: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

5 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

• Definition:

• where f(i) only depends on k variables (k-bounded epistasis)

• We will also assume that the variables are arguments of at most c subfunctions

• Example (m=4, n=4, k=2):

• Is this set of functions too small? Is it interesting?

• Max-kSAT is a k-bounded pseudo-Boolean optimization problem• NK-landscapes is a (K+1)-bounded pseudo-Boolean optimization problem

• Any compressible pseudo-Boolean function can be reduced to a quadratic pseudo-Boolean function (e.g., Rosenberg, 1975)

Mk Landscape (Whitley, GECCO2015: 927-934)Pseudo-Boolean functions Scores Update Decomposition

derivative, they reduce the time needed to identify improv-ing moves from O(k22k) to O(k3). In addition, the newapproach avoids the use of the Walsh transform, making theapproach conceptually simpler.

In this paper, we generalize this result to present a localsearch algorithm that can look r moves ahead and iden-tify all improving moves. This means that moves are beingidentified in a neighborhood containing all solutions that liewithin a Hamming ball of radius r around the current so-lution. We assume that r = O(1). If r ⌧ n, the numberof solutions in such a neighborhood is ⇥(nr). New improv-ing moves located up to r moves away can be identified inconstant time. The memory required by our approach isO(n). To achieve O(1) time per move, the number of sub-functions in which any variable appears must be bounded bysome constant c. We then prove that the resulting algorithmrequires O((3kc)rn) space to track potential moves.

In order to evaluate our approach we perform an experi-mental study based on NKq-landscapes. The results revealnot only that the time required by the next ascent is inde-pendent of n, but also that increasing r we obtain a signifi-cant gain in the quality of the solutions found.

The rest of the paper is organized as follows. In the nextsection we introduce the pseudo-Boolean optimization prob-lems. Section 3 defines the“Scores”of a solution and providean algorithm to e�ciently update them during a local searchalgorithm. We propose in Section 4 a next ascent hill climberwith the ability to identify improving moves in a ball of ra-dius r in constant time. Section 5 empirically analyzes thishill climber using NKq-landscapes instances and Section 6outlines some conclusions and future work.

2. PSEUDO-BOOLEAN OPTIMIZATIONOur method for identifying improving moves in the radius

r Hamming ball can be applied to all k-bounded pseudo-Boolean Optimization problems. This makes our methodquite general: every compressible pseudo-Boolean Optimiza-tion problem can be transformed into a quadratic pseudo-Boolean Optimization problem with k = 2.

The family of k-bounded pseudo-Boolean Optimizationproblems have also been described as an embedded landscape.An embedded landscape [3] with bounded epistasis k is de-fined as a function f(x) that can be written as the sumof m subfunctions, each one depending at most on k inputvariables. That is:

f(x) =mX

i=1

f (i)(x), (1)

where the subfunctions f (i) depend only on k componentsof x. Embedded Landscapes generalize NK-landscapes andthe MAX-kSAT problem. We will consider in this paper thatthe number of subfunctions is linear in n, that is m 2 O(n).For NK-landscapes m = n and is a common assumption inMAX-kSAT that m 2 O(n).

3. SCORES IN THE HAMMING BALLFor v, x 2 Bn, and a pseudo-Boolean function f : Bn ! R,

we denote the Score of x with respect to move v as Sv(x),defined as follows:1

Sv(x) = f(x� v)� f(x), (2)1We omit the function f in Sv(x) to simplify the notation.

where � denotes the exclusive OR bitwise operation. TheScore Sv(x) is the change in the objective function when wemove from solution x to solution x� v, that is obtained byflipping in x all the bits that are 1 in v.All possible Scores for strings v with |v| r must be

stored as a vector. The Score vector is updated as localsearch moves from one solution to another. This makes itpossible to know where the improving moves are in a ball ofradius r around the current solution. For next ascent, all ofthe improving moves can be bu↵ered. An approximate formof steepest ascent local search can be implemented usingmultiple bu↵ers [9].If we naively use equation (2) to explicitly update this

Score vector, we will have to evaluate allPr

i=0

�ni

�neigh-

bors in the Hamming ball. Instead, if the objective functionsatisfies some requirements described below, we can designan e�cient next ascent hill climber for the radius r neigh-borhood that only stores a linear number of Score values andrequires a constant time to update them. We next explainthe theoretical foundations of this next ascent hill climber.The first requirement for the objective function is that it

must be written such that each subfunction depends only onk Boolean variables of x (k-bounded epistasis). In this case,we can write the scoring function Sv(x) as an embeddedlandscape:

Sv(x) =mX

l=1

⇣f (l)(x� v)� f (l)(x)

⌘=

mX

l=1

S(l)v (x), (3)

where we use S(l)v to represent the scoring functions of the

subfunctions f (l). Let us define wl 2 Bn as the binary stringsuch that the i-th element of wl is 1 if and only if f (l) dependson variable xi. The vector wl can be considered as a maskthat characterizes the variables that a↵ect f (l). Since f (l)

has bounded epistasis k, the number of ones in wl, denotedwith |wl|, is at most k. By the definition of wl, the nextequalities immediately follow.

f (l)(x� v) = f (l)(x) for all v 2 Bn with v ^ wl = 0, (4)

S(l)v (x) =

⇢0 if wl ^ v = 0,

S(l)v^wl

(x) otherwise.(5)

Equation (5) claims that if none of the variables thatchange in the move characterized by v is an argument off (l) the Score of this subfunction is zero, since the value ofthis subfunction will not change from f (l)(x) to f (l)(x� v).On the other hand, if f (l) depends on variables that change,we only need to consider for the evaluation of S

(l)v (x) the

changed variables that a↵ect f (l). These variables are char-acterized by the mask vector v ^ wl. With the help of (5)we can write (3) as:

Sv(x) =mX

l=1wl^v 6=0

S(l)v^wl

(x), (6)

3.1 Scores DecompositionThe Score values in a ball of radius r give more informa-

tion than just the change in the objective function for movesin that ball. Let us illustrate this idea with the moves in theballs of radius r = 1 and r = 2. Let us assume that xi andxj are two variables that do not appear together as argu-ments of any subfunction f (l). Then, the Score of the move

f = + + + f(1)(x) f(2)(x) f(3)(x) f(4)(x)

x1 x2 x3 x4

Page 6: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

6 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

• Based on Mk Landscapes

Going Multi-Objective: Vector Mk LandscapePseudo-Boolean functions Scores Update Decomposition

x1 x2 x3 x4 x5

f

(1)1 f

(2)1 f

(3)1 f

(4)1 f

(5)1

f

(1)2 f

(2)2 f

(3)2

(a) Vector Mk Landscape

x1 x2

x3x4x5

(b) Co-occurrence graph

Fig. 1. A vector Mk Landscape with k = 2, n = 5 variables and d = 2 dimensions(top) and its corresponding co-occurrence graph (bottom).

fj(x) > fj(y). When the vector function is clear from the context, we will use �instead of �f .

Definition 3 (Pareto Optimal Set and Pareto Front). Given a vectorfunction f : Bn ! Rd, the Pareto Optimal Set is the set of solutions P that arenot dominated by any other solution in Bn. That is:

P = {x 2 Bn|@y 2 Bn, y � x} . (2)

The Pareto Front is the image by f of the Pareto Optimal Set: PF = f(P ).

Definition 4 (Set of Non-dominated Solutions). Given a vector functionf : Bn ! Rd, we say that a set X ✓ Bn is a set of non-dominated solutions whenthere is no pair of solutions x, y 2 X where y � x, that is, 8x 2 X, @y 2 X, y � x.

Definition 5 (Local Optimum [11]). Given a vector function f : Bn ! Rd,and a neighborhood function N : Bn ! 2B

n

, we say that solution x is a localoptimum if it is not dominated by any other solution in its neighborhood: @y 2N(x), y � x.

3 Moves in a Hamming Ball

We can characterize a move in Bn by a binary string v 2 Bn having 1 in allthe bits that change in the solution. Following [3] we will extend the concept ofScore5 to vector functions.5 What we call Score here is also named �-evaluation by other authors [13].

f1

f2

Page 7: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

7 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

• Let us represent a potential move of the current solution with a binary vector v having 1s in the positions that should be flipped

• The score of move v for solution x is the difference in the fitness value of the neighboring and the current solution

• Scores are useful to identify improving moves: if Sv(x) > 0, v is an improving move

• We keep all the scores in the score vector

Scores: definition

Current solution, x Neighboring solution, y Move, v01110101010101001 01111011010101001 0000111000000000001110101010101001 00110101110101111 0100000010000011001110101010101001 01000101010101001 00110000000000000

Pseudo-Boolean functions Scores Update Decomposition

Sv(x) = f(x� v)� f(x)

1

Page 8: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

8 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

• The key idea is to compute the scores from scratch once at the beginning and update their values as the solution moves (less expensive)

Scores update

r

Selected improving move

Update the score vector

Pseudo-Boolean functions Scores Update Decomposition

Page 9: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

9 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

• The key idea is to compute the scores from scratch once at the beginning and update their values as the solution moves (less expensive)

• How can we do it less expensive?

• We have still O(nr) scores to update!

• … thanks to two key facts:

• We don’t need all the O(nr) scores to know if there is an improving move

• From the ones we need, we only have to update a constant number of them and we can do each update in constant time

Key facts for efficient scores update

r

Pseudo-Boolean functions Scores Update Decomposition

Page 10: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

10 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Examples: 1 and 4

f(1) f(2) f(3) f(4)

x1 x2 x3 x4

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

1

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

1

f(1) f(2) f(3) f(4)

x1 x2 x3 x4

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

1

Pseudo-Boolean functions Scores Update Decomposition

Page 11: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

11 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Example: 1,4

f(1) f(2) f(3) f(4)

x1 x2 x3 x4

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

1

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

1

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

1

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

1

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

1

We don’t need to store S1,4(x) since can be computed from othersIf none of 1 and 4 are improving moves, 1,4 will not be an improving move

Pseudo-Boolean functions Scores Update Decomposition

Page 12: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

12 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Example: 1,2

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

S1(x) = f

(1)(x� 1)� f

(1)(x)

1

f(1) f(2) f(3)

x1 x2 x3 x4

f(1) f(2) f(3)

x1 x2 x3 x4

f(1)

x1 x2

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

S1(x) = f

(1)(x� 1)� f

(1)(x)

S2(x) = f

(1)(x� 2)� f

(1)(x) + f

(2)(x� 2)� f

(2)(x) + f

(3)(x� 2)� f

(3)(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)

1

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

S1(x) = f

(1)(x� 1)� f

(1)(x)

S2(x) = f

(1)(x� 2)� f

(1)(x) + f

(2)(x� 2)� f

(2)(x) + f

(3)(x� 2)� f

(3)(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)

1

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

S1(x) = f

(1)(x� 1)� f

(1)(x)

S2(x) = f

(1)(x� 2)� f

(1)(x) + f

(2)(x� 2)� f

(2)(x) + f

(3)(x� 2)� f

(3)(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)

1

x1 and x2“interact”

Pseudo-Boolean functions Scores Update Decomposition

Page 13: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

13 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Decomposition rule for scores• When can we decompose a score as the sum of lower order scores?

• … when the variables in the move can be partitioned in subsets of variables that DON’T interact• Let us define the Co-occurrence Graph (a.k.a. Variable Interaction Graph, VIG)

f(1) f(2) f(3) f(4)

x1 x2 x3 x4

There is an edge between two variables if there exists a function that depends

on both variables (they “interact”)

x4 x3

x1 x2

Pseudo-Boolean functions Scores Update Decomposition

Page 14: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

14 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

What is an improving move in MO?• An improving move is one that provides a solution dominating the current one

• We define strong and weak improving moves.

• We are interested in strong improving moves

Taking improving moves Algorithm

f2

f1 Assuming maximization

Can we safely take onlystrong improving moves?

Page 15: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

15 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

We need to take weak improving moves

• We could miss some higher order strong improving moves if we don’t take weak improving moves

S2

S1

stored

stored

not stored

current solution

Sv(x) = f(x� v)� f(x)

Sv1[v2(x) = Sv1(x) + Sv2(x)

1

Taking improving moves Algorithm

Page 16: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

16 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Cycling

• We can make the hill climber to cycle if we take weak improving moves

S2

S1

stored

current solution

S2

S1

stored

current solution

Taking improving moves Algorithm

Page 17: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

17 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Solution: weights for the scores• Given a weight vector w with wi > 0

S2

S1

w

1st strong improving2nd w-improving

2nd w-improving

A w-improving move isone with w · Sv(x) > 0

Taking improving moves Algorithm

Page 18: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

18 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

MNK LandscapeProblem Results Source Code

Why NKq and not NK?Floating point precision

• An MNK Landscape is a multi-objective pseudo-Boolean problem where each objective is an NK Landscape (Aguirre, Tanaka, CEC 2004: 196-203)

• An NK-landscape is a pseudo-Boolean optimization problem with objective function:where each subfunction f(l) depends on variable xl and Kother variables

•The subfunctions are randomly generated and the values are taken in the range [0,1]• In NKq-landscapes the subfunctions take integer values in the range [0,q-1]

• We use NKq-landscapes in the experiments

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

S1(x) = f

(1)(x� 1)� f

(1)(x)

S2(x) = f

(1)(x� 2)� f

(1)(x) + f

(2)(x� 2)� f

(2)(x) + f

(3)(x� 2)� f

(3)(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

• In the adjacent model the variables are consecutive

f = + + + f(1)(x) f(3)(x) f(2)(x) f(4)(x)

x1 x2 x3 x4

Page 19: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

19 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Runtime

0

100

200

300

400

500

600

700

800

900

1000

1100

10 20 30 40 50 60 70 80 90 100

Aver

age

time

per m

ove

(mic

rose

cond

s)

N (number of variables in thousands)

r=1, d=2r=1, d=3r=2, d=2r=2, d=3r=3, d=2r=3, d=3

Fig. 2. Average time per move in µs for the Multi-Start Hill Climber based on Algo-rithm 2 for a MNK Landscape with d = 2, 3, K = 3, q = 100, N = 10, 000 to 100, 000and r = 1 to 3.

5.2 Quality of the Solutions

In a second experiment we want to check if a large value of r leads to bettersolutions. This highly depends on the algorithm that includes the hill climber.In our case, since the algorithm is a multi-start hill climber, we would expectan improvement in solution quality as we increase r. But at the same time,the average time per move is increased. Thus, there must be a value of r atwhich the time is so large that lower values for the radius can lead to the samesolution quality. In Figure 3 we show the 50%-empirical attainment surfaces ofthe fronts obtained in the 30 independent runs of the multi-start hill climberfor N = 10, 000, d = 2, q = 100 and r varying from 1 to 3. The 50%-empiricalattainment surface (50%-EAS) limits the region in the objective space that isdominated by half the runs of the algorithm. It generalizes the concept of medianto the multi-objective case (see [9] for more details).

We can see in Figure 3 that the 50%-EAS obtained for r = 2 completelydominates the one obtained for r = 1, and the 50%-EAS for r = 3 dominatesthat of r = 2. That is, increasing r we obtained better approximated Paretofronts, in spite of the fact that the time per move is increased. This means thatless moves are done in the given time limit (1 minute) but they are more e↵ective.

Neighborhood size: 166 trillion

Problem Results Source Code

Page 20: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

20 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Quality

600000

610000

620000

630000

640000

650000

660000

670000

610000 630000 650000

f 2

f1

r=1r=2r=3

Fig. 3. 50%-empirical attainment surfaces of the 30 independent runs of the Multi-Start Hill Climber based on Algorithm 2 for a MNK Landscape with d = 2, K = 3,q = 100, N = 10, 000 and r = 1 to 3.

6 Conclusions and Future Work

We proposed in this paper a hill climber based on an e�cient mechanism toidentify improving moves in a Hamming ball of radius r around a solution ofa k-bounded pseudo-Boolean multi-objective optimization problem. With thispaper we contribute to an active line of research, sometimes called Gray-Boxoptimization [6], that suggests the use of as much information of the problemsas possible to provide better search methods, in contrast to the Black-Box opti-mization.

Our proposed hill climber performs each move in bounded constant time if thevariables of the problem appears in at most a constant number of subfunctions. Inpractice, the experiments on adjacent MNK Landscapes show that when K = 3the average time per move varies from tenths to hundreds of microseconds if theexploration radius r varies from 1 to 3. This number is independent of n despitethe fact that the hill climber is considering a Hamming Ball of radius r withO(nr) solutions.

Further work is needed to integrate this hill climber in a higher-level algo-rithm including mechanisms to escape from plateaus and local optima. On theother hand, one important limitation of our hill climber is that is does not takeinto account constraints in the search space. Constraint management and the

• 50% Empirical Attainment Functions (Knowles, ISDA 2005: 552-557)

Problem Results Source Code

Page 21: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

21 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Source Codehttps://github.com/jfrchicanog/EfficientHillClimbers

Problem Results Source Code

Page 22: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

22 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Conclusions and Future WorkConclusions & Future Work

• We can efficiently identify improving moves in a ballof radius r around a solution in constant time(independent of n)• The space required to store the information (scores) is linear in the size of the problem n

Conclusions

• We can also deal with constrained problems(GECCO 2016)• Generalize to other search spaces• Combine with high-level algorithms

Future Work

Page 23: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

23 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Acknowledgements

Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

Page 24: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

24 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

• Whitley and Chen proposed an O(1) approximated steepest descent for MAX-kSATand NK-landscapes based on Walsh decomposition

• For k-bounded pseudo-Boolean functions its complexity is O(k2 2k)

• Chen, Whitley, Hains and Howe reduced the time required to identify improving moves to O(k3) using partial derivatives

• Szeider proved that the exploration of a ball of radius r in MAX-kSAT and kSAT can be done in O(n) if each variable appears in a bounded number of clauses

Previous workBall of radius r Improving moves Previous work Research Question

D. Whitley and W. Chen. Constant time steepest descent local search withlookahead for NK-landscapes and MAX-kSAT. GECCO 2012: 1357–1364

W. Chen, D. Whitley, D. Hains, and A. Howe. Second order partial derivativesfor NK-landscapes. GECCO 2013: 503–510

S. Szeider. The parameterized complexity of k-flip local search for SAT and MAX SAT. Discrete Optimization, 8(1):139–145, 2011

Page 25: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

25 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Scores to store• In terms of the VIG a score can be decomposed if the subgraph containing the

variables in the move is NOT connected

• The number of these scores (up to radius r) is O((3kc)r n)

• Details of the proof in the paper

• With a linear amount of information we can explore a ball of radius r containing O(nr) solutions

x4 x3

x1 x2

x4 x3

x1 x2

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

S1(x) = f

(1)(x� 1)� f

(1)(x)

S2(x) = f

(1)(x� 2)� f

(1)(x) + f

(2)(x� 2)� f

(2)(x) + f

(3)(x� 2)� f

(3)(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)

1

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

1

We need to store the scores of moves whose variables form a connected subgraph of the VIG

Pseudo-Boolean functions Scores Update Decomposition

Page 26: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

26 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Scores to update• Let us assume that x4 is flipped

• Which scores do we need to update?

• Those that need to evaluate f(3) and f(4)

f(1) f(2) f(3) f(4)

x1 x2 x3 x4

x4 x3

x1 x2• The scores of moves containing variables adjacent

or equal to x4 in the VIG

Main idea Decomposition of scores Constant time update

Page 27: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

27 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Scores to update and time required• The number of neighbors of a variable in the VIG is bounded by c k

• The number of stored scores in which a variable appears is the number of spanning trees of size less than or equal to r with the variable at the root

• This number is constant

• The update of each score implies evaluating a constant number of functions that depend on at most k variables (constant), so it requires constant time

x4 x3

x1 x2

f(1) f(2) f(3) f(4)

x1 x2 x3 x4

O( b(k) (3kc)r |v| ) b(k) is a bound for the time toevaluate any subfunction

Main idea Decomposition of scores Constant time update

Page 28: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

28 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

Results: checking the time in the random model• Random model: the number of subfunctions in which a variable appears, c, is not

bounded by a constant

NKq-landscapes• Random model• N=1,000 to 12,000• K=1 to 4• q=2K+1

• r=1 to 4• 30 instances per conf.

K=3

r=1r=2

r=3

0 2000 4000 6000 8000 10000 120000

50

100

150

200

n

TimeHsL

r=1

r=2

r=3

0 2000 4000 6000 8000 10000 120000

100000

200000

300000

400000

N

Scoresstoredinmemory

NKq-landscapes Sanity check Random model Next improvement

Page 29: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

29 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

ScoresProblem Formulation Landscape Theory Decomposition SAT Transf. Results

f(1) f(2) f(3)

x1 x2 x3 x4

f = + + +f(1)(x) f(3)(x)f(2)(x) f(4)(x)

x1 x2 x3 x4

f = + + +f(1)(x) f(3)(x)f(2)(x) f(4)(x)

x1 x2 x3 x4

Page 30: Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization

30 / 23EvoCOP 2016, Porto, Portugal, March-April 2016

Introduction Background MO Hill Climber Experiments Conclusions

& Future Work

ScoresProblem Formulation Landscape Theory Decomposition SAT Transf. Results

f(1)

x1 x2

f(1) f(2) f(3)

x1 x2 x3 x4

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

1

r = 1 n

r = 2�n2

r = 3�n3

r

�nr

BallPr

i=1

�ni

S1(x) = f(x� 1)� f(x)

Sv(x) = f(x� v)� f(x) =mX

l=1

(f (l)(x� v)� f

(l)(x)) =mX

l=1

S

(l)(x)

S4(x) = f(x� 4)� f(x)

S1,4(x) = f(x� 1, 4)� f(x)

S1,4(x) = S1(x) + S4(x)

S1(x) = f

(1)(x� 1)� f

(1)(x)

1