optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs robin...
TRANSCRIPT
Optimisation combinatoire par découverte des dépendances dans les
algorithmes évolutifs
Robin Gras
Institut Suisse de Bioinformatique
• Pourquoi un problème est-il difficile?
• Pas uniquement sa taille:
Si toute les variables sont indépendantes => solution en temps linéaire sur le nombre de variables.
Ex: oneMax nombre de 1 dans un vecteur binaire.
• Lié à l’épistasie / corrélation entre variables
La valeur que doit prendre une variable dans une bonne solution dépend de la valeur d’autres variables.
Ex: déceptive function
0
0.2
0.4
0.6
0.8
1
1.2
0 1 2 3 4
score
• Comment mesurer la complexité d’un problème?
• Sa taille n: nombre de variables impliquées
• Degré de liberté i des variables: nombre d’instanciations possible des variables
Ex: (i-1)Max complexité en O(n*i)
• Degré de dépendance k des variables: de combien de variables au maximum dépend chacune des variables
Ex: Complexité en O((n/2)*i2)
De façon générale complexité en O((n/k)*ik)
• Chevauchement des dépendances entre variables
Ex: de façon générale NP-complet mais existence de solutions heuristiques exactes polynomiales.
})1,0,1{,max(1
20
122
in
i
ii xxx
})1,0,1{,max( 11
iinii xxx
• Un problème général paramétrable: le NK-landscape
• Problème de taille N avec des dépendances de tailles K avec chevauchement aléatoire.
Ex: avec N = 4, K = 2, i = 2
.18 .04 .73 .91
.42 .77 .35 .11
.68 .31 .04 .89
.91 .17 .25 .70
.93 .12 .73 .53
.59 .64 .82 .77
.19 .94 .38 .21
.43 .49 .62 .55
x1 x2 x3 x4
Contexte de locus
x1 x2 x3 x4
Locus
000001010011100101110111
voisinage
Calcul du fitness pour la chaîne 0110
1 001 .42
2 011 .17
3 110 .38
4 100 .53
Fitness = (.42 + .17 + .38 + .53)/4 = .375
• Autre vision de la complexité (1):
• Nombre de maximum globaux par rapport à la taille de l’espace de recherche.
• Nombre de maximum locaux par rapport aux maximum globaux.
• Bassin d’attraction des maximum globaux/locaux.
• Étude faite par reverse hillclimbing.
Ne peut se faire que pour des problèmes de petites tailles.
Extrapolation à des problèmes plus grands.
• Dépendent des opérateurs utilisé pour parcourir l’espace.
• Autre vision de la complexité (2):
• Problème d’optimisation sur les graphe (ex: coloriage) = problème avec dépendances.
• Graphes “small world” représente les problèmes les plus difficiles.
• Un réseau de dépendances presque régulier semble donc rendre un problème difficile.
• La distribution de la probabilité d’explorer plus de nœuds (branch and bound) qu’un nombre de nœuds donné suit une loi de type “heavy tailed”.
• Approche de type SHC la plus efficace dans ce cas (pb SAT).
• Que se passe-t-il dans le cas small world + peu de maximum?
• La complexité effective de la résolution dépend des connaissances sur la structure du problème
• OneMax: in -> n*i
• k dépendances non chevauchantes: in -> (n/k)*ik
• k dépendances chevauchantes: in -> ?
• Grand bassins d’attraction des max globaux -> forte probabilité pour un SHC de trouver la solution.
• Dans l’absolu, la connaissance de la structure permet de choisir un opérateur donnant la solution par un hillclimbing
• La difficulté est que dans le cas général on ne connaît pas la structure.
• Comment réagissent les méthodes d’explorations à ces différentes difficultés?
• Comment améliorer les méthodes existantes?
• Etude sur l’efficacité des méthodes évolutionnistes
• Tests comparatifs avec d’autres méthodes d’explorations.
Résultats très variables en fonction des problèmes et des implémentation mais SHC souvent bien placé.
• Modélisation du comportement de convergence par processus markovien.
Pour une solution: matrice de taille
Pour la population complète: matrice de taille
• Description de la population par ses cumulants (moyenne, écart type, “skewness”…)
Limité aux GA simples appliqués à des problèmes simples
2)( ni
2)(pni
• Approches évolutionistes basées sur la découverte de la structure du problème.
• Principe: les populations de solutions rencontrées pendant le processus évolutif représentent une statistique des bonnes solutions.
• Premier travaux par Muehlenbein (1997) sur l’UMDA (univariate marginla distribution algorithm).
• Représentation de la population par un vecteur de fréquence de la fréquence de chaque instance de chaque variable.
• Utilisation de ce vecteur pour générer la nouvelle population.1 1 … 0
0 1 … 1
0 1 … 0
.25 .85 … .33
0 1 … 1
0 1 … 0
0 0 … 0
.75 .15 … .67
• Convergence en O(n ln(n)) évaluations sur OneMax.
• Problème: ne peut pas découvrir les dépendances donc risque important d’être piégé sur des maximum locaux.
• Nouvelle version (Wook 2003) utilisant une population de vecteurs de fréquences. Moins de risque d’être piégé (grande population) mais pas de découverte des dépendances.
• Nouvelle approche: PMBGA (probabilistic model-building genetic algorithms), par Pelikan et Goldberg (1999), basé sur la découverte des dépendances pour explorer.
• Découverte de la structure.
• Il faut un échantillon de l’espace de recherche suffisant pour qu’une analyse statistique soit significative et non biaisée.
• Deux alternatives:
• Avoir une population de taille suffisante pour que toutes l’information nécessaire à l’extraction de la structure soit présente.
• Avoir une population de taille quelconque et créer à posteriori de la diversité.
• Méthode BOA (bayesian optimization algorithm) choisit la première approche.
• BOA se place dans l’hypothèse de dépendance de taille maximum k non chevauchante.
• Taille de la population minimale pour que toutes les instances de tous les blocs de taille k soit présent dans la population initiale.
• Probabilité pk qu’une instance particulière d’un bloc de taille k soit présente dans une population de taille p.
• Probabilité ps que toutes les instances d’un bloc soient présente.
pkk i
p ))1
(1(1
ki
p
k ep
1
ki
p
kk eiiks epp
)(
• Si est la probabilité que toutes les instances ne soient pas présente, on a:
• d’ou:
• Problème: pourquoi ne pas calculer la probabilité que pour les m blocks toutes les instances soient présente?
ki
p
keie
1
))ln()ln(( ikip k
))ln()ln(( mikip k
mipks
k
p )))2
11(1((
)ln()ln(2 ikmiP ks
Estimée, problème taille 160 Estimée, problème taille 16000
Complète, problème taille 160 Complète, problème taille 16000
• Amplification de la meilleure instance de bloc.
• Sélection par tournoi
• Comportement initial
• Comportement final
• Mais ne considère qu’un seul bloc!
stt PP )1(11
sP
sP
P
P
t
t
t
t
)1(11
))1(1())1(1)()1(1( ''1 tctc
stt PPPPPP
• Taille de la population pour séparer deux instances d’un même bloc:
et
• Probabilité de choisir H2 plutôt que H1, normale avec:
• D’ou:
• Dans le cas de m blocs indépendants et avec la variances des opérateurs génétiques:
21 HH ffd 2/)( 22
21
2HHM
Pi
dZ
Mk 2
22
2)(
2
222d
iZP Mk
koi
i id
mZP 2
2 )1(2
• Variante plus récente (gambler’s ruin problem):
• Limitations:
• Compétition uniquement entre 2 instances de chaque bloc.
• Les blocs sont indépendants.
• Ne dit rien de l’efficacité des opérateurs à sélectionner les blocs.
• Les blocs ont des variances de même grandeur.
d
miP ik 1)ln(
• Bayesian optimization algorithm: découvrir les dépendances.
• Utilisation d’un réseau bayésien pour représenter et découvrir les dépendances.
• Principes:
Initialiser une pop aléatoire
Sélectionner les meilleurs
Modéliser les dépendances dans cette sous-population
Utiliser le modèle pour générer la nouvelle population
• Plus d’opérateur génétique explicite (sauf sélection).
• Rappel sur les réseaux bayésiens
• Le calcul des probabilité associées aux axes nécessite le calcul d’une table de taille par variable i
)|()(1
0jj
n
j
XpXp
rain
accident
Wet road
radar speed
ji
• Apprentissage d’un réseau bayésien a partir d’un ensemble de données sur n variables.
• Apprendre la structure: quels sont les j parents de tous les nœuds j.
2n structures de réseau possible pour n variables.
• Apprendre les probabilités associées à tous les arcs.
• Dans le cas de variables complètes nécessite uniquement le calcul des n tables de taille
• Définir une métrique permettant de mesurer la qualité du réseau en fonction des données.
• Définir une stratégie d’exploration 2n structures possibles.
ji
• La métrique BIC (bayesian information criterion):
Avec
• Procédure d’exploration (gloutonne):
Initialiser un réseau vide
Parmi toutes opérations autorisées (insertion, délétion ou retournement d’arc) choisir celle qui augmente le plus le score
)2
)log(2)|(()(
1
PPXHBBIC j
n
jjj
)|log(),()|(,
jjjjx
jj xxpXHjj
• Taille de la population pour ne placer un arc de la variables X2 à la variable X1.ssi il est significatif (cas ou X1 n’a pas de parent)
• Il faut résoudre
avec
• Pour estimer D il faut estimer les p(x1) et p(x2) après sélection (par tournoi)
• On en déduit: et si alors
Avec N l’écart type de la distribution des fitness des solutions avec X1=x1 ou X2=x2
)log()|()( 2112 PPXXHXXBIC
2
)log()()( 11
PPXHXBIC
02
)log())|()(( 211
PPXXHXH
02
)log(
D
PP )|()( 211 XXHXHD
)( 1.2NOP nN 2 )( 05.1nOP
• Dans le cas ou X1 a k-2 parents:
• Limitations:
• Dépendances sans chevauchement.
• Dépendances de tailles fixes.
• Contribution des blocs à la fitness de même ordre.
• Connaissance préalable de complexité de la structure pour choisir la taille.
• Un certain nombre d’approximations sans doute un peu brutales.
• Effet des heuristiques de création du modèle non prisent en compte.
• Danger de découvrir des dépendances non significatives.
)2( 05.1nOP k
• HBOA (hierarchical bayesian optimization algoritm)
• La différence majeur est l’utilisation de graphe de décision pour modéliser les dépendances de chaque variable.
• Compactage de l’information
• Plus haut niveau de représentation (?)
• Utilisation de niche écologique pour préserver de la diversité et donc trouver des solutions pour des problèmes à trappes de plusieurs niveaux.
• Résultat très bon sur les problèmes spécifiques.
• Résultats correct de HBOA sur spin glasses.
• Très bon résultats de HBOA + HC sur spin glasses.
• Bon résultat de HBOA + HC sur certains problèmes SAT
• Résultat faible de HBOA + HC sur les problèmes SAT difficiles.
• Nos résultats:
0
20000
40000
60000
80000
100000
120000
140000
160000
25 35 45 55 65 75 85 95
size [bits]
nu
mb
er
of
ev
alu
ati
on
s
Classical GA Highway BOA
0
500
1000
1500
2000
2500
3000
3500
25 35 45 55 65 75 85 95
size [bits]
co
mp
uti
ng
tim
e [
s/1
00
]
Classical GA Highway BOA
• Comment faire autrement, sachant que le but est de choisir les meilleures opérations affectuer dans un temps donner pour obtenir le meilleur résultat possible (à niveau d’heuristique équivalent):
• Utiliser la statistique de toute la population passée.
• Utiliser des opérateurs avec une fréquence dépendant de l’état de l’exploration.
• Apprendre les dépendances de façon approchée par étapes.
• Tenir compte dans la force des liens de la qualité des solutions associées.
• Utiliser d’autre modèle des dépendances: corrélation, entropie corrélé, implication statistique, keyGraph…
• Construire les opérateurs à partir des dépendances.
• Utilisé la connaissance de l’espace exploré pour diriger la recherche.