Introduction:
Combinatorial Problems and Search
Holger H. Hoos
& Thomas St
utzle
Outline
1. Combinatorial Problems
2. Two Prototypical Combinatorial Problems
3. Computational Complexity
4. Search Paradigms
5. Stochastic Local Search
Combinatorial Problems
Example:
Note:
Decision problems:
solutions = candidate solutions that satisfy given logical conditions
Optimisation problems:
Example:
Variant of the Graph Colouring Problem where the objective is
to nd a valid colour assignment that uses a minimal number
of colours.
Note: Every minimisation problem can be formulated
as a maximisation problems and vice versa.
Stochastic Local Search: Foundations and Applications
10
11
Note:
Caution: This does not always solve the given problem most
eciently.
12
13
14
Denition:
propositional variables x1 , x2 , . . . , xn ;
truth values (true), (false);
operators (not), (and), (or);
parentheses (for operator nesting).
15
Denition:
i=1 j=1
16
Note:
17
Example:
F := (x2 x1 )
(x1 x2 x3 )
(x1 x2 )
(x4 x3 )
(x5 x3 )
F is in CNF.
Is F satisable?
Yes, e.g., x1 := x2 := , x3 := x4 := x5 := is a model of F .
Yes, e.g., x1 := x2 := , x3 := x4 := x5 := is a model of F .
18
Circeo
Bonifaccio
Maronia
Corfu
Troy
Ustica Stromboli
Ithaca
Messina
Favignana
Zakinthos
Taormina
Asia
Malea
Gibraltar
Birzebbuga
Djerba
Africa
19
Denition:
k1
w ((ui , ui+1 ))
i=1
20
21
Computational Complexity
Fundamental question:
How hard is a given computational problems to solve?
Important concepts:
22
23
24
25
26
10 n4
n/25
10 2
6
run-time
1015
1010
105
1
105
1010
00
80
60
40
20
00
80
60
40
20
instance size n
27
10140
run-time
10120
10100
1080
1060
1040
1020
1
1020
0
instance size n
28
Search Paradigms
29
Perturbative search
Example: SAT
30
31
Systematic search:
Local Search:
32
33
34
Tree search
35
36
37
38
39
40
Evolutionary Algorithms
Simulated Annealing
41
s: (optimal) solution
42
43
44
45
procedure SLS-Decision()
input: problem instance
output: solution s S () or
(s, m) := init();
while not terminate(, s, m) do
(s, m) := step(, s, m);
end
if s S () then
return s
else
return
end
end SLS-Decision
46
procedure SLS-Minimisation( )
input: problem instance
output: solution s S ( ) or
(s, m) := init( );
s := s;
while not terminate( , s, m) do
(s, m) := step( , s, m);
if f ( , s) < f ( , s ) then
s := s;
end
end
if s S ( ) then
return s
else
return
end
end SLS-Minimisation
47
Note:
48
49
50
Denition:
Example:
SAT instance with n variables, 1-ip neighbourhood:
GN = n-dimensional hypercube; diameter of GN = n.
51
Denition:
k-exchange neighbourhood: candidate solutions s, s are
neighbours i s diers from s in at most k solution components
Examples:
52
u4
u3
u4
u3
u1
u2
2-exchange
u1
u2
53
Denition:
54
N := S S
55
Evaluation function:
56
57
58
59
60
61
Denition:
62
search initialisation
63
64
65
Diversication vs Intensication
Examples:
66