150 likes | 273 Views
Arc consistance et généralisation. Michel Liquière Lirmm. Langages de description. CSP. Résoudre un probléme de satisfaction de contraintes (CSP)<=> trouver un morphisme d’un graphe G1 vers un graphe G2. Un morphisme de G dans H correspond à une solution du CSP. Arc consistance.
E N D
Arc consistance et généralisation Michel Liquière Lirmm
CSP Résoudre un probléme de satisfaction de contraintes (CSP)<=> trouver un morphisme d’un graphe G1 vers un graphe G2. Un morphisme de G dans H correspond à une solution du CSP
Arc consistance • Morphisme => NP-complet • CSP utilise un filtrage basé sur des contraintes de voisinages (l’arc consistance) • Nous proposons d’utiliser un nouveau type de projection (AC-projection) basé sur l’arc consistance
Ensembles N-compatible 4 7 9 G 2 1 8 5 Pour un graphe dirigé G, deux ensembles S, S’ de sommets de G sont dit N-compatible ssi Pour tout x dans S il y a un successeur (voisin) de x dans S’ et pour tout x’ dans S’ il y a un predecesseur de x’ dans S. Notation S ~>S’. Nous avons {A1,A2) ~> {B4,B5} puisque (A1,B4),(A2,B5) sont des arcs de G. De même {C7,C8) ~> {A1,A2,A9} {A1,A2,A9} et {B4,B5} ne sont pas N-compatible puisqu’il n’y a aucun arc entre A9 et B4 ou B5
0 4 7 AC 1 2 3 8 5 6 AC-Projection Pour deux graphes dirigés (étiquetés) G1 et G2, une application AC: N(G1) -> N(G2)* est une AC- projection (Notation G1--• G2) ssi pour tout (x,y) dans E(G1) nous avons AC(x) ~> AC(y) et pour tout x’ dans AC(x) label(x’)= label(x). 9 G1 G2 AC: A0 -> {A1,A2}, B3 -> {B4,B5} et C6 ->{C7,C8} est une AC- projection de G1 dans G2. Par exemple pour l’arc (A0,B3) nous avons: AC(A0)={A1,A2} ~> AC(B3)= {B4,B5}
Propriétés de l’AC-projection Pour G1 et G2 deux graphes: • La recherche d’une AC-projection de G1 dans G2 est polynomial • S’il n’y a pas d’AC-projection de G1 dans G2 alors il n’y a pas de morphisme de G1 dans G2. • S’il y a une AC-projection de G1 dans G2 Alors tout arbre qui a un morphisme dans G1 a un morphisme dans G2.
AC Interpretation G1 G2 Morphism Morphism … T
Operations • Il existe un opérateur produit de complexité polynomiale • Il existe un opérateur de réduction de complexité polynomiale (élément minimal d’une classe d’équivalence).
R(G1 G2) Generalization operator E D
Treillis des concepts et AC-Projection Calcul via l’opération Produit (généralisation)
Operation de spécialisation On définit l’opération ~ entre deux ensembles de sommets S1,S2 d’un graphe G. (S’1,S’2)= S1 ~ S2 avec S’1= {x S1 / y S2 avec (x,y) arc de G} S’2= {y S2 / x S1 avec (x,y) arc de G} Rectangle 0 0,3 1,2 Rectangle ~ on on on 1 2 1,2 Rectangle Circle Rectangle 0 3 4 right
Méthode en spécialisation Rectangle Rectangle Square 0 6 12 on on on on on 1 2 7 8 13 Rectangle Circle Circle Rectangle Rectangle Square 14 16 3 4 9 10 right right on 5 11 15 Support 2 Rectangle 0,3,6,10,14 on 1,2,7,8,13,15 Circle 4,9 Right 5,11 Square 12,16 Rectangle 0,6,14 on 1,2,7,8,15 on 1,8 13 Rectangle 3,10,14 on 2,7 Rectangle 0,6 on Rectangle 3,10,14 1,8 on 1,2,7,8
Conclusion Résultats: • Une nouvelle relation d’ordre partiel pour les graphes: AC-projection. • Un opérateur de généralisation pour cet ordre partiel. • Calcul des opérations de projections et de généralisation: polynomial. • Les graphes trouvés représentent un grand (potentiellement infini) ensemble d’arbres. • On posséde un opérateur de spécialisation ~ très simple à calculer ce qui donne une méthode de parcours en spécialisation. • L’algorithme est parallélisable