Méthodes hybrides dans les réseaux de contraintes pondérées
Simon de Givry, Thomas Schiex, INRA ToulouseGérard Verfaillie, Sylvain Bouveret, ONERA Toulouse
Remerciements à Javier Larrosa, UPC Barceloneet 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 fonctionnelsdans les séquences génomiques(~millions nucléotides)
Détection et correction d’erreurs de génotypagedans les pedigrees d’animaux(120000 individus)
Projet ANR sur les méthodes hybrides (2006-2008)
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
sommesomme des coûts des contraintes (< k=T)
En général, problème NP-difficileNP-difficile
Cadre général incluant SAT (T=1), CSP (T=1),
Max-CSP, Max-SAT, MPE, Min-COL, Max-Clique,…
Méthodes complètes usuelles
Recherche arborescente
Depth-First Branch and Bound
Inférence complète
Elimination de variables
Depth-First Branch and Bound
(LB) Minorant
(UB) Majorant
Si UB alors coupe
vari
ab
les
Approximation inférieure de l’optimum du sous-arbre
= meilleure solution trouvée
Chaque nœud est un sous-réseaude contraintes pondérées
LBLB
= T Temps: (exp(n)) Espace: (n) n : nombre de variables
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
OPT
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))
X4
X3
X5
X2
X1
iiKf
xKfi
][)(
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)
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,…
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
Comparaison entre recherche et inférence
Recherche
(DFBB)Élimination de
variables
Complexité temporelle
asymptotiqueO(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) O(n.exp(w))
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))
Exemple DFBB-VE(2)
Exemple DFBB-VE(2)
Hybridation de recherche et décomposition arborescente(élimination d’arbre de clusters)
CTE
BTD
BTD+
Lc-BTD+
Lc-BTD*
x1 x2 x3
x5x4 x6
x8
x7
x9
Décomposition arborescente
x9
x1 x2 x3
x5x4 x6
x8
x7
Décomposition arborescente
x9
x1 x2 x3
x5x4 x6
x8
x7
Décomposition arborescente
x9
x1 x2 x3
x5x4 x6
x8
x7
Décomposition arborescente
Largeur d’arbre (w) : nombre maximum de variables dans un cluster
= largeur induite du graphe triangulé
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
Décomposition arborescente u
r
vp
w
1. chaque variable apparaît dans un seul chemin
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
Décomposition arborescenteu
r
vp
w
2. Chaque contrainte est dans exactement un cluster
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
u
r
vp
w
Cluster Tree Elimination
( , )m u r
),()(
rusepfuf
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
u
r
vp
w
Cluster Tree Elimination
( , )m u r
),()(
rusepfuf
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
u
r
vp
w
Cluster Tree Elimination
Un message peut être envoyéen sortie d’un cluster
lorsque tous les autresmessages entrants sont arrivés
( , )m u r
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
u
r
vp
w
Cluster Tree Elimination
( , )m u r
( , )m p v
( , )m w r
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
u
r
vp
w
Cluster Tree Elimination
( , )m p v
( , )m w r( , )m u r
( , )m v r
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
u
r
vp
w
Cluster Tree Elimination
( , )m p v
( , )m u r ( , )m w r
( , )m v r
Temps: (n.exp(w))Espace: (n.exp(s)) s : taille du plus grand séparateur
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
u
r
vp
w
BTD (Terrioux & Jégou, 2003)Backtrack with Tree Decomposition
Ordre d’affectation desvariables du cluster racineaux 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
Hybridation recherche et décomposition arborescente
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
u
r
vp
w
Mémorise l’optimumde chaquesous-problème(majorant initial = ++))
Opt(u[A])
Opt(w[A])
Opt(p[A])
Opt(v[A])
BTD (Terrioux & Jégou, 2003)
Temps: (n.exp(w))Espace: (n.exp(s))
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
u
r
vp
w
Amélioration du majorant local: BTD+
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])
Temps: (UBr.n.exp(w))Espace: (n.exp(s))
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ûtscontrainte binaire contrainte unaire contrainte zéro W
(minorant)
0 0
0 0
0
0
0
0
0
0
X1 X2 X3 X4 X5
W=0
GUB=2
a
b
Hybridation recherche, propagation et décomposition
Introduction aux cohérences locales souples
0 0
0 0
0
0
0
0
0
0
X1 X2 X3 X4 X5
W=0
GUB=2
AC (Schiex, 2000)
projection
a
b
Introduction aux cohérences locales souples
0 0
0 0
0
0
0
11
0
0
X1 X2 X3 X4 X5
W=0
GUB=2
AC (Schiex, 2000)
projection
a
b
Introduction aux cohérences locales souples
0 0
0 0
0
0
0
1
0
0
X1 X2 X3 X4 X5
W=0
GUB=2
AC (Schiex, 2000)
a
b
projections
Introduction aux cohérences locales souples
0 11
0 11
0
0
0
1
0
0
X1 X2 X3 X4 X5
W=0
GUB=2
AC (Schiex, 2000)
a
b
Introduction aux cohérences locales souples
0 11
0 11
0
0
0
1
0
0
X1 X2 X3 X4 X5
W=0
GUB=2
NC* (Larrosa, 2002)
a
b
projection
Introduction aux cohérences locales souples
0 0
0 0
0
0
0
1
0
0
X1 X2 X3 X4 X5
W= 11
GUB=2
NC* (Larrosa, 2002)
a
b
Introduction aux cohérences locales souples
0 0
0 0
0
0
0
11
0
0
X1 X2 X3 X4 X5
W= 11
GUB=2
NC* (Larrosa, 2002)
Suppressionde valeur
a
b
Introduction aux cohérences locales souples
0 0
0 0
0
0
0 0
0
X1 X2 X3 X4 X5
W= 11
GUB=2
NC* (Larrosa, 2002)
a
b
Introduction aux cohérences locales souples
0 0
0 0
0
0
0 0
0
X1 X2 X3 X4 X5
W= 1
GUB=2
NC* (Larrosa, 2002)
a
b
Introduction aux cohérences locales souples
0 0
0 0
0
0
0 11
0
X1 X2 X3 X4 X5
W= 1
GUB=2
NC* (Larrosa, 2002)
a
b
Introduction aux cohérences locales souples
0 0
0 0
0
0
0
0
X1 X2 X3 X4 X5
W= 1
GUB=2
NC* (Larrosa, 2002)
a
b
Hiérarchie
NC* O(nd)
AC* O(n 2d 3) DAC* O(ed 2)
FDAC* O(end 3)AC
NC
DAC
Cas spécial : CSP (T=1)
d : taille du plus grand domainee : nombre de contraintes
EDAC O(ed2.max(UB,nd))(ijcai 2005)
BT
MNC
MAC/MDAC
MFDAC
MEDAC
x7
x1 x2
x5x4 x6
x3
x5 x6
x8
x2 x3
x5 x6
x9x8
u
r
vp
w
Lc-BTD+ : BTD+ avec cohérence locale souple
Mouvements de coûtsinvalident les minorants
mémorisésW= 1
GUB=2Une augmentation de
W peut avoir un impact
sur n’importe quel cluster pas de garantie detrouver l’optimum d’un
sous problème
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+ Lc-BTD+ (de Givry et al., 2005)
Propagation sans aucune restriction
Lc-BTD* Lc-BTD* (de Givry et al., 2005)
Lc-BTD*Lc-BTD*
Suppression de valeurs Coupe locale : WXi(a) + ∑Cj descend. of CkCkW
Cj UBk Coupe globale : WXi(a) + ∑Cj descend. of C1C1W
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))
OptimumNouvelle solution
Frontière
Trois approches possibles
Méthode Complexité temps Complexité espace
Lc-BTD (n.exp(w)) (n.exp(s))
Lc-BTD+ (GUB.n.exp(w)) (n.exp(s))
Lc-BTD* (exp(h)) (n.exp(s))
GUB = majorant globaln = nombre de variablesh = hauteur d’arbre w = largeur d’arbres = 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)
Problem (n,c,w,h) MFDAC MFDAC-VE(2) FDAC-BTD+ VEaim-100-1_6-no-1 (100,160,42,52) - 1853.16 - -aim-100-1_6-no-2 (100,160,42,51) 3139.6 400.33 - -dubois20 (60,160,3,33) 25.72 37.5 0.01 0dubois100 (300,800,3,153) - - 0.13 0hole06 (42,133,27,33) 0.07 0.06 0.08 89.86hole08 (72,297,45,57) 9.85 9.86 27.25 -pret60_25 (60,160,6,18) 74.12 34.51 0.02 0pret150_25 (150,400,9,23) - - 0.12 0bf0432-007 (1040,3668,117,177) 754.92 210.17 - -bf2670-001 (1393,3434,27,72) - - 2705.61 20.47ssa0432-003 (435,1027,22,44) 2.57 0.92 1.08 0.3ssa2670-141 (986,2315,23,54) - 907.1 28.73 1.18
Arbres de cliques aléatoires
Résultats identiques entre FDAC-BTD+ et FDAC-BTD*
FDAC-BTD+
FC-BTD
FC-BTD+
NC-BTD-BJ+
FDAC-BTD-BJ+
FC-BTD
FC-BTD+, NC-BTD-BJ+
FDAC-BTD-BJ+FDAC-BTD+
• 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
Allocation de fréquences (CELAR SCEN06)
Allocation de fréquencesBut: 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=44w=9, h=14
n=18, d=44w=12, h=15
n=99, d=20w=10, h=37
n=196, d=14w=12, h=32
time space time space time space time space
FC-BTD 7,489 4,344 23,560 69,808 -* 3,002,547 - 109,311,451
NC-BTD-BJ+ 2,647 4,344 11,342 9,024 9,231 6,326,854 38 (5) 83,557
FDAC-BTD-BJ+ 66 0 653 0 4,789 65,270 15 (3) 5,874
FDAC-BTD-BJ* 65 0 638 0 4,573 64,571 30 (12) 9,247
MFDAC 14 0 193 0 - 0 - 0
* - : Time limit of 10 hours exhausted or 4 billion nodes expanded
Tree decompositionwith min degree heur.2-sided Jeroslow DVO
(rep.)
Réseaux bayésiens (MPE)
Problem (n,d,w,h) MFDAC FDAC-BTD+ VE s-AOMB(5)barley (48,67,7,16) 4.39 1.52 7.86 0.56cpcs360b (360,2,20,26) 0.09 0.1 4.03cpcs422b (422,2,23,37) 0.45 0.13 20.04diabetes (413,21,5,43) - 1548.11 0.77link (724,4,17,41) - 1595.43 8.11mildew (35,100,4,13) 0.24 0.14 1.12 0.66munin1 (189,21,11,23) 0.3 0.9 37.79 1.66munin2 (1003,21,8,26) - 22.48 0.43 1.64munin3 (1044,21,7,22) - 27.88 0.4 0.45munin4 (1041,21,8,27) - 132.75 3.45pigs (441,3,11,24) - 9.35 0.15 0.02
Ordres d’élimination : min-degree(FDAC-BTD+), min-fill(VE,s-AOMB)s-AOMB (Dechter & Marinescu, 2005)
Conclusion
Comparaison des méthodes
Méthodes DVO Propa. Complexité en temps
Complexité en espace
DFBB oui oui (exp(n)) (n)
VE non non (n.exp(w)) (n.exp(w))
DFBB-VE(k) oui oui Inférieure à (exp(n))
(n.exp(k))
CTE non non (n.exp(w)) (n.exp(s))
Lc-BTD non oui (n.exp(w)) (n.exp(s))
Lc-BTD+ non oui (GUB.n.exp(w)) (n.exp(s))
Lc-BTD* non oui (exp(h)) (n.exp(s))
s ≤ w ≤ h ≤ n
Compromis temps/mémoire paramétrable
Méthodes Complexité en temps
Complexité en espace
DFBB (exp(n)) (n)
VE (n.exp(w)) (n.exp(w))
DFBB-VE(k) Inférieure à (exp(n))
(n.exp(k))
CTE (n.exp(w)) (n.exp(s))
Lc-BTD(k) (n.exp(w’)) (n.exp(k))
Lc-BTD+(k) (GUB.n.exp(w’)) (n.exp(k))
Lc-BTD*(k) (exp(h)) (n.exp(k))
s ≤ w ≤ w’ ≤ h ≤ n
Cache uniquement pour des tailles de séparateur ≤ k
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 wcspwcsp, Max-SAT cnfcnf (avec
ou sans pondérations) et réseaux bayésiens MPE ergoergo Nombreux benchmarks dans des formats standardisés Source forge à
http://mulcyber.toulouse.inra.fr/projects/toolbar/http://mulcyber.toulouse.inra.fr/projects/toulbar2/
Top Related