Recherches locales et
Algorithmes evolutionnaires
Master 1 informatique RIF IFI - Systèmes Articiels Complexes
Sébastien Verel
verel@i3s.unice.fr
www.i3s.unice.fr/∼verel
12 octobre 2012
Problèmes d'optimisation
Métaheuristiques standards
Paysage Adaptatif
Plan
1 Problèmes d'optimisation
2 Métaheuristiques standards
3 Paysage Adaptatif
Modélisation de Problèmes
Modélisation :
MAX - SAT
Coloration de graphe
Scheduling
paysages NK
Problème SAT
m clauses : {C , C , ..., Cm }.
1 2
Vm
j = Cj 1
où Cj = Wki =j li ,j et li = xn ou x¯n
1
f (s ) = #{Cj true }
SAT
Coloration de graphe
Graphe G = (S , A),
S = {xi ,j | (i , j ) ∈ {1, . . . , 3n} }
2
A = {(xi ,j , xi ,j ) . . .
0
(xi ,j , xi ,j ) . . .
0
(xi ,j , xi ,j ) . . .}
0 0
Pn Pn
i= 1 j = d xi xj
1
avec :
n : nombre de villes
drs : distance entre les villes r et s .
x une permutation :
Trouver le parcours le plus
xi est la i eme ville traversée.
court passant par toutes
les villes.
Ensemble de taches
J = {j , j , j , . . . , jp }
1 2 3
Paysages NK
N
f (x ) = N1 fi (xi ; xi , . . . , xiK )
X
1
i= 1
exemple N=4K =2
x = 0110
x1 x2 x4 f1 x1 x2 x3 f2 x2 x3 x4 f3 x1 x2 x4 f4
f (x ) = 1
4
( f (010)
1 + f (011)
2 + f (110)
3 + f (010)
4 )
1
= 4
( 0.1 + 0.2 + 0.1 + 0.8 )
= 0.3
Optimization
Inputs
X
Objective function : Quality criterium
f : X → IR
Goal
x ? = argmax f
Optimization
Inputs
X
Objective function : Quality criterium
f : X → IR
Goal
x ? = argmax f
Contexte
We have only x fx x fx
{( 0 , ( 0 )), ( 1 , ( 1 )), ...} given by an "oracle"
No information is either not available or needed on the denition of
objective function
Contexte
We have only x fx x fx
{( 0 , ( 0 )), ( 1 , ( 1 )), ...} given by an "oracle"
No information is either not available or needed on the denition of
objective function
Search algorithms
Principle
Search algorithms
Principle
Search algorithms
Principle
Retour à MAX-SAT
(x ∨ x ) ∧ (x¯ ∨ x ) ∧ (x ∨ x¯ )
1 2 2 3 1 3
x x x x x x x x x x x x x x x
( 4 ∨ 2 ∨ 3 )∧( 2 ∨ 4 ∨ 5 )∧( ¯2 ∨ 1 ∨ 5 )∧( ¯2 ∨ 5 ∨ 4 )∧( 1 ∨ ¯3 ∨ ¯4 )
Retour à MAX-SAT
mathématiquement ou ...
ou ...
Heuristiques
On désire toutefois :
Metaheuristiques
Métaheuristique :
de
un aveu d'impuissance
à
des techniques performantes d'optimisation dicile
(Recherches aléatoire),
f : S → IR objective function
3 ingrédients indispensables :
x = 01101 et f (x ) = 3
Taille de l'espace de recherche S :
x = 01101 et f (x ) = 3
Taille de l'espace de recherche S : 2
N
x = 01101 et f (x ) = 3
Taille de l'espace de recherche S : 2
N
Exercice
répéter comparaison
choisir s 0
s
∈ V( ) aléatoirement Opérateur local de
s←s 0
base de nombreuses
jusqu'à Nbr d'éval. ≤ maxNbEval métaheuristiques
01111
01001
00101
00101
11101 }
01111
01001
00101
00101
11101 }
01111
01001
00101
00101
11101 }
Exercice
Hill Climbing
Algorithme de
Choisir solution initiale s ∈ S comparaison
répéter
Choisir s 0
s
∈ V( ) telle que f (s ) est
0 Opérateur local de
base de
maximale
s←s 0 métaheuristique
Première amélioration
Choisir solution initiale s ∈ S
répéter
Choisir s 0
s
∈ V( ) aléatoirement
fs fs
si ( ) ≤ ( ) alors
0
s s
←
0
n si
jusqu'à s optimum local OU nbr d'éval. ≤ maxNbEval
Exercice
Exercice
N X
N
f (x ) = qij xi xj
X
i= j=
1 1
incrémentale),
etc.
choisir un voisin
Voisinage :
taille :
V(s ) = {s | s = op (s )}
0 0
continuité :
Metaheuristics
Random search / Hill Climbing
Algorithme 2 Hill-climbing
Algorithme 1 Random walk
Choose randomly initial solution
Choose randomly initial solution
s∈S s∈S
répéter
répéter
s 0
s Choose s
∈ V(s ) such
0
as
Choose
s←s 0
∈ V( ) randomly
f (s ) is maximal
0
jusqu'à ...
s←s 0
Metaheuristics
Random search / Hill Climbing
Performance
Optimum local
Solutions
Recuit Simulé
sinon
u nombre aléatoire de [0, 1]
si u < e T alors
∆
s←s 0
n si
n si
update temperature T
jusqu'à Critère d'arrêt vérié
la diérence fs 0
|∆ = ( ) − ( )| fs est grande
Conséquences :
Evaluer fs 0
∆0 = ( 0 ) − ( 0 )fs :
T e
∆0
Température initiale 0 telle que τ0 = T 0 désiré :
qualité médiocre (τ0 = 0.50) : démarrage à haute température
qualité bonne (τ0 = 0.20) : démarrage à basse température
vérié )
OU f (s ) meilleure solution de V(s ) non taboue
0
s←s 0
update Tabou M
jusqu'à Critère d'arrêt vérié
Les tabous sont souvent des mouvements tabous pendant une durée
Exercice Tabou
−→ Stratégie de diversication
Paysage Adaptatif
Origine Biologique
(Wright 1930) :
Modélisation évolution des
espèces
Optimisation combinatoire
V : S → 2S : relation de
voisinage,
V(x ) = {y | y = op (x )}
V(x ) = {y | d (y , x ) ≤ 1}
f : S → IR : fonction à
optimiser.
Intérêts du concept
Paysage Multimodal
Longueur : indice de
distance inter-optima
Paysage Rugueux
405
400
395
390 Autocorrélation lors d'une marche
385
performance
0.9
0.8
0.7
0.6
rho(s)
0.5
0.4
0.3
0.2
0.1
0 5 10 15 20 25 30 35 40 45 50
pas s
Paysage Rugueux
405
400
395
390 Autocorrélation lors d'une marche
385
performance
0.9
0.8 conjecture
0.7
(Stadler 92, Garcia 97) :
0.6
rho(s)
0.5
0.4
0.3
0.2
0.1
M ≈ |S|/|B(x , τ )|
0 5 10 15 20 25 30 35 40 45 50
pas s
Paysage Neutre
Fitness
Géométrie de plateaux
Degré de neutralité
Réseaux de neutralité
(Schuster 1994,
structure secondaire
de l'ARN)
Espace des genotypes
Paysage Neutre
Évolution articielle
Présence dans :
Programmation
Fitness
génétique
Contrôleur de robot
Conception de circuit
Espace des genotypes (Cartesian GP)
Étiquetage de graphe
(MinLA)
Paysage neutre
Optimisation combinatoire
Plusieurs possibilités :
Diminuer la neutralité :
conjecture : redondance nuit aux performances
Paysage neutre
Optimisation combinatoire
Plusieurs possibilités :
Diminuer la neutralité :
conjecture : redondance nuit aux performances
Fitness
Fitness
Performance
Mouvements Neutres
Sauts
Performance
Performance
evolvabilite croissante
1
Mouvements Neutres
Sauts 4 2
Mouvements
neutres 3
Reseau de neutralite
0.9 0.74
RP
0.88 NR 0.72
HC
0.86 HC2 0.7
Performance moyenne
Performance moyenne
ES
AE 0.68
0.84
0.66
0.82
0.64
0.8
0.62
0.78 RP
0.6
NR
0.76 0.58 HC
HC2
0.74 0.56 ES
AE
0.72 0.54
2 3 4 5 6 7 8 9 10 0 20 40 60 80 100 120 140 160
Parametre q Parametre M
Conclusion
Propriété principale :
−→ rugosité : optima locaux, structure de corrélation
−→ neutralité : réseau de neutralité