Méthodes hybrides dans les réseaux de contraintes pondérées

Slides:



Advertisements
Présentations similaires
Placement de Motifs Architecture Application Contraintes: - Charge
Advertisements

Fabrice Lauri, François Charpillet, Daniel Szer
Apprentissage supervisé à partir de séquences
Localisation fine de QTL par déséquilibre de liaison Simon BOITARD Durée : octobre 2003-septembre 2006 Laboratoire : BIA (biométrie et intelligence artificielle)
A L I M E N T A T I O N A G R I C U L T U R E E N V I R O N N E M E N T.
Atelier régional des Nations Unies sur le traitement des données de recensement: les technologies modernes pour la saisie et la correction des données.
Métaheuristiques pour l’optimisation combinatoire
Cours d’Algorithmique
Phylogénie et distances génétique
Equipe optimisation TempoSoft
Colloque Traitement et Analyse de séquences : compte-rendu
27/03/2017 GISEH 2010 Ordonnancement des blocs operatoires avec des durations floues et des dates limites floues Mejdi SOUKI Faculté des Sciences Économiques.
INFOR 101 Chapitre 3 Marianne Morris.
Celso C. Ribeiro Universidade Federal Fluminense Brésil
Les jeux (méthodes min-max et -)
CHALLENGE ROADEF 2001 Résolution par une métaheuristique à base de recherche à voisinage variable et propagation par contraintes Fabrice BUSCAYLET Fabrice.
Algorithmes Branch & Bound
21/10/2010 AG Fédération MIRA 1. Marc Artzrouni Laurent Bordes 5 PR (dont 2 dans MIRA) Edurne Biritxinaga-Etchart Noëlle BRU 10 MC (dont 2 dans MIRA)
Programmation linéaire
GPA750 – Ordonnancement des systèmes de production aéronautique
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
DEA Perception et Traitement de l’Information
HAMM Flore HAXAIRE Cécile LISKA Claire MENDES Agnès
UBLO Comparaison de génomes bactériens : questions méthodologiques autour de la définition du squelette et des boucles
La Bioinformatique à Nancy
GPA 750 Chapitre 3 : Les méthodes d’ordonnancement génériques
GPA750 Les ateliers multigammes Chapitre 5
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Algorithmes d ’approximation
Sémantique dénotationnelle
AIP PRIMECA des Pays de La Loire – 9 novembre 2006
GPA750 – Gestion de Projets
2. Algorithme de Recherche Tabou
Planification de flux et Aménagement
L’adaptativité pour un solveur de l’équation de Vlasov
Conception et analyse des algorithmes
Réseaux bayésiens: Inférence
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Soutenance de stage 16 Mai au 5 Août 2011
Apérisentation Sur les graphes évolutifs Mardi 22 novembre 16h30.
La génétique et la biométrie
Bin packing/covering avec contrainte de Distance : application au calcul volontaire et au placement de réplicats Hubert Larchevêque, Olivier Beaumont,
Légende : vol (3 possibilités d’affectation) : possibilité d’affectation d’un niveau à un vol : niveau affecté à un vol : conflit potentiel rejeté : conflit.
Algorithmique et programmation en
Un outil d’estimation du temps d’exécution au pire-cas par analyse statique de programmes IRISA - Projet Solidor Antoine COLIN.
Algorithmes Branch & Bound
Le langage Racket (Lisp)
Exploration systématique de graphes
Adapté de Michael Negnevitsky
Co-conception Contraintes dynamique Réseau Adaptation Diagnostic Réseau Diagnostic Adaptation Réseau Contraintes dynamique Diagnostic Impact du réseau.
Recherches locales et méta-heuristiques
Classification de données par l’algorithme FPSO-GA
TIPE Les dames chinoises
STAN (Suffix Tree ANalyser) Un outil de recherche de motif dans les génomes Grégory Ranchy Anne-Sophie Valin 9 décembre 2004.
Plan de la séance 6 Bonne Saint Valentin!. Deux grands thèmes L’optimisation du programme d’investissements de Shawinipac Les applications de l’intelligence.
Situation actuelleCible Demande moyenne de : 7000 trains arrières, soit 175 portants. 40 portants de pièces diverses. Les trains arrières ne peuvent être.
Projet Connecticut ( reconnaissance de connecteurs )
Réseau bayésien et génétique
Écrire des fonctions, max et min, qui calculent le maximum, et le minimum de deux éléments x et y. Exercice 1. max (min) : fonction qui prend deux valeurs,
Présenté par : ABED Djemaa; BAKHOUIA Roqiya.
GenoToul2007 Présentation Bilan 2007 Perspectives Plateforme bioinformatique C. Gaspin, C. Klopp, D. Laborie, J.-M. Larré, C. Noirot.
Mathématique et Informatique Appliquées
Resource-Limited Genetic Programming : Replacing Tree Depth Limit.
La génétique et la biométrie
Évolution de second ordre dans un algorithme évolutionnaire V. Lefort
Programme linéaire - solution graphique
Programmation par contraintes Réalisé par: WETCHA Chaima MOKDED Mohamed Ali FIA3-GL-AL 1 1.
Techniques d’Analyse Moléculaire
Compilation & Apprentissage dans les Réseaux de Contraintes Hervé Cros Directeurs :Frédéric Koriche Joël Quinqueton.
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Transcription de la présentation:

Méthodes hybrides dans les réseaux de contraintes pondérées Simon de Givry, Thomas Schiex, INRA Toulouse Gérard Verfaillie, Sylvain Bouveret, ONERA Toulouse Remerciements à Javier Larrosa, UPC Barcelone et Martí Sànchez, CSIC Barcelone

INRA Toulouse Unité de Biométrie et Intelligence Artificielle (33 pers.) Equipe Statistique et informatique appliquées à la génétique et à la biologie moléculaire (16 pers.) Réseaux de contraintes pondérées Recherche de motifs d’ARN fonctionnels dans les séquences génomiques (~millions nucléotides) Détection et correction d’erreurs de génotypage dans les pedigrees d’animaux (120000 individus) Projet ANR sur les méthodes hybrides (2006-2008) Equipe dirigée par Thomas Schiex. Applications prototypes

Réseau de contraintes pondérées Mélange de contraintes dures (modèle physique) et de contraintes pondérées (préférences)  Fonction retournant un coût qui dépend de la valeur de ses variables ex.: W : D(Xi)  D(Xj)  [ 0, k ] (variables à domaines finis) But: trouver une affectation complète qui minimise la somme des coûts des contraintes (< k=T)  En général, problème NP-difficile Cadre général incluant SAT (T=1), CSP (T=1), Max-CSP, Max-SAT, MPE, Min-COL, Max-Clique,… MaxClique: bool variable (1=select), hard bin constr (absence edge x,y: 1 1 interdit), unary soft constr (Cx(0)>0) . MinCol: minimiser le nombre d’arêtes ayant deux sommets de la même couleur

Méthodes complètes usuelles Recherche arborescente Depth-First Branch and Bound Inférence complète Elimination de variables

Depth-First Branch and Bound Chaque nœud est un sous-réseau de contraintes pondérées variables (LB) Minorant Approximation inférieure de l’optimum du sous-arbre Si  UB alors coupe LB LB = T (UB) Majorant = meilleure solution trouvée Temps: (exp(n)) Espace: (n) n : nombre de variables

Depth-First Branch and Bound DFBB(X,D,C) if (X=) then Top :=f else xj := selectVar(X) forall aDj do fSC s.t. xj S f := f[xj =a] f:= gSC s.t. S= gS if (LB<Top) then BT(X-{xj},D-{Dj},C) variable heuristics value heuristics improve LB good UB ASAP

Elimination de variables Résout le problème par une séquence de transformations du problème (sans retour-arrière) Chaque étape conduit à un problème avec une variable de moins et le même optimum Lorsque toutes les variables ont été éliminées, le problème est résolu (inférence complète) Une/toutes les solutions optimales du problème original peuvent être obtenues

Elimination de variables Choisis une variable xi Calcule l’ensemble Ki des contraintes qui portent sur la variable Ajoute Supprime la variable et Ki Temps: (exp(degi+1)) Espace: (exp(degi)) X1 X5 OPT X4 X2 X3 Complexité pour éliminer une seule variable

Influence de l’ordre d’élimination Ordre G,D,F,B,C,A N’ajoute pas de contraintes induites Ordre G,B,C,D,F,A Ajoute ACFD (4-clique) Complexité spatiale passe de 2 à 4

Largeur induite Soit un graphe et un ordre d’élimination donné, le plus grand degré rencontré est la largeur induite du graphe ordonné : w = max(degi) + 1 Complexité de l’algorithme d’élimination de variables Temps: (n.exp(w)) Espace: (n.exp(w)) Minimiser la largeur induite est NP-dur Heuristiques Max Cardinality Search (optimal si graphe chordal) Min Fill, Min Degree,… MCS: var plus connectee a celles deja choisies. Chordal: cycles longueur >3 a une corde. Min degree choisit le sommet qui est connecté au plus petit # de sommets non éliminés dans le graphe en cours de triangulation. Min fill choisit le sommet qui génère le nombre d'ajouts d'arêtes de fill-in le plus faible dans le graphe en cours de triangulation.

A quoi cela ressemble ? Un graphe ayant une largeur induite k équivaut à un k-arbre partiel Un k-arbre est soit une k-clique soit un k-arbre ayant un sommet supplémentaire connecté à tous les sommets d’une k-clique à l’intérieur du k-arbre 1-arbre 2-arbre

Inférence incomplète Compromis entre complétude et espace/temps Produire seulement certaines classes de contraintes induites Dans le but de produire un minorant de l’optimum Habituellement polynomial en temps/espace Contraintes induites externes au réseau : algorithme d’élimination de variables approché (Dechter 97) Contraintes induites ajoutées au réseau : maintien de cohérence locale (Schiex 2000)

Elimination de variables approchée (Dechter 97) Elimination complète / approchée de X Produit un minorant de l’optimum Complexité/puissance contrôlé par le nombre maximum de variables dans chaque sous-ensemble x x

Comparaison entre recherche et inférence (DFBB) Élimination de variables Complexité temporelle asymptotique O(exp(n)) O(n.exp(w)) w  n Complexité temporelle moyenne Meilleure qu’au pire cas Identique au pire cas Complexité spatiale asymptotique O(n) Hybridation de méthodes !

Hybridation de recherche et élimination de variables DFBB-VE

Recherche avec élimination de variable (Larrosa 2003) A chaque noeud Choisir une variable non affectée Xi Si degréi ≤ k Alors élimine Xi Sinon énumération des valeurs de Xi Propriétés DFBB-VE(-1) équivaut à DFBB DFBB-VE(w) équivaut à VE DFBB-VE(1) équivaut à l’algorithme Coupe-Cycle Temps: (exp(l)) avec w* ≤ l ≤ n Espace: (n.exp(k)) Objectif: reduire la profondeur d’exploration Ordre dynamique choix de variables

Algorithme Coupe-Cycle Les problèmes dont le graphe de contraintes est un arbre sont faciles à résoudre Branchement sur les variables jusqu’à ce qu’il n’y ait plus de cycle Résolution de l’arbre restant par élimination de variables Complexité temporelle exponentielle en la taille du coupe-cycle Trouver un coupe-cycle de taille minimum est NP-dur Complexité spatiale identique à DFBB

Exemple DFBB-VE(2)

Exemple DFBB-VE(2)

CTE BTD BTD+ Lc-BTD+ Lc-BTD* Hybridation de recherche et décomposition arborescente (élimination d’arbre de clusters) CTE BTD BTD+ Lc-BTD+ Lc-BTD* spot404

Décomposition arborescente x1 x2 x3 x4 x5 x6 x7 x8 x9 Séparateur minimaux (coupe minimum = flot maximum) Ordre d’élimination  triangulation du graphe  cliques maximales  arbre couvrant de poids maximum (taille de clique)

Décomposition arborescente x1 x2 x3 x4 x5 x6 x7 x8 x9

Décomposition arborescente x1 x2 x3 x4 x5 x6 x7 x8 x9

Décomposition arborescente x1 x2 x3 x4 x5 x6 x7 x8 x9 Largeur d’arbre (w) : nombre maximum de variables dans un cluster = largeur induite du graphe triangulé

Décomposition arborescente u x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 x5 x6 Plus exactement le chemin peut former un sous-arbre 1. chaque variable apparaît dans un seul chemin v p x8 x8 x9

Décomposition arborescente pour CSP u x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 x5 x6 2. Chaque contrainte est dans au moins un cluster v p x8 x8 x9

Décomposition arborescente u x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 x5 x6 2. Chaque contrainte est dans exactement un cluster v p x8 x8 x9

Cluster Tree Elimination x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 x5 x6 Décomposition enracinée en « r » v p x8 x8 x9

Cluster Tree Elimination x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 x5 x6 v p x8 x8 x9

Cluster Tree Elimination x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 x5 x6 Un message peut être envoyé en sortie d’un cluster lorsque tous les autres messages entrants sont arrivés v p x8 x8 x9

Cluster Tree Elimination x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 x5 x6 v p x8 x8 x9

Cluster Tree Elimination x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 x5 x6 v p x8 x8 x9

Cluster Tree Elimination x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 x5 x6 v p x8 x8 x9 Temps: (n.exp(w)) Espace: (n.exp(s)) s : taille du plus grand séparateur

Hybridation recherche et décomposition arborescente BTD (Terrioux & Jégou, 2003) Backtrack with Tree Decomposition u x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 Ordre d’affectation des variables du cluster racine aux clusters fils u, w, (v & p) résolus indépendamment. Ils ne dépendent que de r. Temps : (exp(h)) Espace : (n) h : hauteur d’arbre x5 x6 v p x8 x8 x9

BTD (Terrioux & Jégou, 2003) Temps: (n.exp(w)) Espace: (n.exp(s)) Opt(u[A]) w x5 x6 Opt(w[A]) Opt(v[A]) Mémorise l’optimum de chaque sous-problème (majorant initial = +) x5 x6 BTD memorise de facon paresseuse par rapport a CTE. Opt(p[A]) v p x8 x8 x9 Temps: (n.exp(w)) Espace: (n.exp(s))

Amélioration du majorant local: BTD+ x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 Soit solution trouvée Optimum prouvé Soit pas de solution Minorant seulement!  LB(A[p]) = UBp Théo.: répétition bornée UBp  UBr – Cost(A,r) – Cost(A,v) – Opt(A[u]) – Opt(A[w]) x5 x6 v p x8 x8 x9 Temps: (UBr.n.exp(w)) Espace: (n.exp(s))

Introduction aux cohérences locales souples Hybridation recherche, propagation et décomposition Introduction aux cohérences locales souples But: transformer un problème en un problème équivalent dont le minorant soit plus explicite Établir des propriétés de cohérence locale par des opérations de déplacement des coûts contrainte binaire  contrainte unaire  contrainte zéro W (minorant) a b W=0 GUB=2 X1 X2 X3 X4 X5

Introduction aux cohérences locales souples AC (Schiex, 2000) a b W=0 GUB=2 projection X1 X2 X3 X4 X5

Introduction aux cohérences locales souples AC (Schiex, 2000) a b W=0 GUB=2 1 projection X1 X2 X3 X4 X5

Introduction aux cohérences locales souples AC (Schiex, 2000) a b W=0 GUB=2 1 projections X1 X2 X3 X4 X5

Introduction aux cohérences locales souples AC (Schiex, 2000) a b 1 W=0 GUB=2 1 1 X1 X2 X3 X4 X5

Introduction aux cohérences locales souples NC* (Larrosa, 2002) a b 1 W=0 GUB=2 1 1 projection X1 X2 X3 X4 X5

Introduction aux cohérences locales souples NC* (Larrosa, 2002) a b W= 1 GUB=2 1 X1 X2 X3 X4 X5

Introduction aux cohérences locales souples NC* (Larrosa, 2002) a b W= 1 GUB=2 1 X1 X2 X3 X4 X5 Suppression de valeur

Introduction aux cohérences locales souples NC* (Larrosa, 2002) a b W= 1 GUB=2 X1 X2 X3 X4 X5

Introduction aux cohérences locales souples NC* (Larrosa, 2002) a b W= 1 GUB=2 X1 X2 X3 X4 X5

Introduction aux cohérences locales souples NC* (Larrosa, 2002) a b 1 W= 1 GUB=2 X1 X2 X3 X4 X5

Introduction aux cohérences locales souples NC* (Larrosa, 2002) a b W= 1 GUB=2 X1 X2 X3 X4 X5

NC DAC AC EDAC O(ed2.max(UB,nd)) Hiérarchie NC* O(nd) AC* O(n 2d 3) Cas spécial : CSP (T=1) NC NC* O(nd) DAC AC* O(n 2d 3) DAC* O(ed 2) AC FDAC* O(end 3) EDAC O(ed2.max(UB,nd)) (ijcai 2005) d : taille du plus grand domaine e : nombre de contraintes

MEDAC MFDAC MAC/MDAC MNC BT

Lc-BTD+ : BTD+ avec cohérence locale souple x1 x2 x3 r x2 x3 x4 x5 x6 x7 w x5 x6 Mouvements de coûts invalident les minorants mémorisés W= 1 GUB=2 x5 x6 Une augmentation de W peut avoir un impact sur n’importe quel cluster  pas de garantie de trouver l’optimum d’un sous problème v p x8 x8 x9

Trois approches possibles Propagation restreinte à l’intérieure de chaque cluster Backward Checking et Forward Checking e.g. FC-BTD (Terrioux&Jégou, 2003) Propagation restreinte à l’intérieure de chaque sous problème Lc-BTD+ (de Givry et al., 2005) Propagation sans aucune restriction  Lc-BTD* (de Givry et al., 2005)

Lc-BTD* Coupe locale : WXi(a) + ∑Cj descend. of CkWCj  UBk Suppression de valeurs Coupe locale : WXi(a) + ∑Cj descend. of CkWCj  UBk Coupe globale : WXi(a) + ∑Cj descend. of C1WCj  GUB Idée: collecter des minorants et majorants à tous les nœuds de la frontière d’exploration de l’arbre de recherche Répétition non bornée Temps: (exp(h)) Espace: (n.exp(s)) Les deux coupes ne sont pas équivalentes Frontière Nouvelle solution Optimum

Trois approches possibles Méthode Complexité temps Complexité espace Lc-BTD (n.exp(w)) (n.exp(s)) Lc-BTD+ (GUB.n.exp(w)) Lc-BTD* (exp(h)) GUB = majorant global n = nombre de variables h = hauteur d’arbre w = largeur d’arbre s = taille séparateur maximale s  w  h  n

Résultats expérimentaux Still-Life DIMACS (SAT) Arbres de cliques aléatoires Allocation de fréquences CELAR Réseaux Bayésiens (MPE)

Still-Life (problème académique) Instance: n=14 #variables:196 , #valeurs:2 CP / IP (Ilog Solver) (Bosch&Trick 2002)  5 jours Variable Elimination (Larrosa 2003)  1 jour DFBB-VE(2) (Larrosa 2005)  2 secondes

DIMACS (SAT)

Arbres de cliques aléatoires FDAC-BTD+ FC-BTD FC-BTD FC-BTD+ NC-BTD-BJ+ FC-BTD+, NC-BTD-BJ+ FDAC-BTD-BJ+ FDAC-BTD+ FDAC-BTD-BJ+ (by using recorded lower bounds not only at the end of a cluster exploration but also during its exploration) Décomposition arborescente avec heuristique Maximum Cardinality Search Ordre choix variable domain/degree compatible avec la décomposition Répétition dans BTD+ : moyenne ≤ 2.6, maximum = 14  Résultats identiques entre FDAC-BTD+ et FDAC-BTD*

Allocation de fréquences (CELAR SCEN06)

Allocation de fréquences But: Affectation de fréquences à des liens radio de telle sorte que les liens fonctionnent sans interférences notables (Cabon et al., 1999) SUBCELAR1 SUBCELAR3 SCEN-06-24r SCEN-07-104-30r n=14, d=44 w=9, h=14 n=18, d=44 w=12, h=15 n=99, d=20 w=10, h=37 n=196, d=14 w=12, h=32 time space FC-BTD 7,489 4,344 23,560 69,808 -* 3,002,547 - 109,311,451 NC-BTD-BJ+ 2,647 11,342 9,024 9,231 6,326,854 38 (5) 83,557 FDAC-BTD-BJ+ 66 653 4,789 65,270 15 (3) 5,874 FDAC-BTD-BJ* 65 638 4,573 64,571 30 (12) 9,247 MFDAC 14 193 Tree decomposition with min degree heur. 2-sided Jeroslow DVO (rep.) VE out of memory! * - : Time limit of 10 hours exhausted or 4 billion nodes expanded

Réseaux bayésiens (MPE) Ordres d’élimination : min-degree(FDAC-BTD+), min-fill(VE,s-AOMB) s-AOMB (Dechter & Marinescu, 2005)

Conclusion

Comparaison des méthodes DVO Propa. Complexité en temps Complexité en espace DFBB oui (exp(n)) (n) VE non (n.exp(w)) DFBB-VE(k) Inférieure à (exp(n)) (n.exp(k)) CTE (n.exp(s)) Lc-BTD Lc-BTD+ (GUB.n.exp(w)) Lc-BTD* (exp(h)) Worst-case time complexity => average case better except for VE FDAC-BTD? Nul sur un graphe de contrainte en arbre. s ≤ w ≤ h ≤ n

Compromis temps/mémoire paramétrable Cache uniquement pour des tailles de séparateur ≤ k Méthodes Complexité en temps Complexité en espace DFBB (exp(n)) (n) VE (n.exp(w)) DFBB-VE(k) Inférieure à (exp(n)) (n.exp(k)) CTE (n.exp(s)) Lc-BTD(k) (n.exp(w’)) Lc-BTD+(k) (GUB.n.exp(w’)) Lc-BTD*(k) (exp(h)) Limit subproblem repetition using an initial solution found by local search Combine Lc-BTD+ with Russian Doll Search as in (Larrosa et al., 2002) Combiner DFBB-VE et Lc-BTD+ ? s ≤ w ≤ w’ ≤ h ≤ n

toolbar, toulbar2 et site Web interactif Librairie open source Accessible depuis un wiki http://carlit.toulouse.inra.fr/cgi-bin/awki.cgi/SoftCSP Implémente NC,AC,DAC,FDAC,EDAC et BAC Implémente DFBB, VE, DFBB-VE(2) et Lc-BTD+ Lecture des formats Max-CSP wcsp, Max-SAT cnf (avec ou sans pondérations) et réseaux bayésiens MPE ergo Nombreux benchmarks dans des formats standardisés Source forge à http://mulcyber.toulouse.inra.fr/projects/toolbar/ http://mulcyber.toulouse.inra.fr/projects/toulbar2/