27
Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

Embed Size (px)

Citation preview

Page 1: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

Optimisation combinatoire par découverte des dépendances dans les

algorithmes évolutifs

Robin Gras

Institut Suisse de Bioinformatique

Page 2: 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

Page 3: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 4: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 5: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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.

Page 6: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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?

Page 7: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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?

Page 8: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 9: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 10: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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.

Page 11: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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.

Page 12: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

)(

Page 13: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 14: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

Estimée, problème taille 160 Estimée, problème taille 16000

Page 15: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

Complète, problème taille 160 Complète, problème taille 16000

Page 16: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 17: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 18: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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(

Page 19: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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).

Page 20: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 21: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 22: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 23: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 24: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 25: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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.

Page 26: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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

Page 27: Optimisation combinatoire par découverte des dépendances dans les algorithmes évolutifs Robin Gras Institut Suisse de Bioinformatique

• 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.