La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Méthodes hybrides dans les réseaux de contraintes pondérées"— Transcription de la présentation:

1 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

2 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 ( individus) Projet ANR sur les méthodes hybrides ( ) Equipe dirigée par Thomas Schiex. Applications prototypes

3 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

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

5 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

6 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

7 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

8 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

9 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

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

11 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

12 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)

13 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

14 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 !

15 Hybridation de recherche et élimination de variables
DFBB-VE

16 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

17 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

18 Exemple DFBB-VE(2)

19 Exemple DFBB-VE(2)

20 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

21 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)

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

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

24 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é

25 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

26 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

27 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

28 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

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

30 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

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

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

33 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

34 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

35 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))

36 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))

37 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

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

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

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

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

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

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

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

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

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

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

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

49 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

50 MEDAC MFDAC MAC/MDAC MNC BT

51 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

52 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)

53 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

54 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

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

56 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

57 DIMACS (SAT)

58 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*

59 Allocation de fréquences (CELAR SCEN06)

60 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 r 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

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

62 Conclusion

63 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

64 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

65 toolbar, toulbar2 et site Web interactif
Librairie open source Accessible depuis un wiki 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 à


Télécharger ppt "Méthodes hybrides dans les réseaux de contraintes pondérées"

Présentations similaires


Annonces Google