270 likes | 384 Views
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:
E N D
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
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.
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 Locus x1 x2 x3 x4 000 001 010 011 100 101 110 111 Contexte de locus Calcul du fitness pour la chaîne 0110 Fitness = (.42 + .17 + .38 + .53)/4 = .375 voisinage
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
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.
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.
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?
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!
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:
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.
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 rain Wet road accident radar speed
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.
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
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
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.
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.
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.