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

  • Upload
    mercia

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

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: - PowerPoint PPT Presentation

Citation preview

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

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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

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

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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

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