380 likes | 496 Views
Recent Advances in High-Level Relational Consistency. Robert J. Woodward. Joint work with Shant Karakashian, Daniel Geschwender, Christopher Reeson, and Berthe Y. Choueiry @ UNL Christian Bessiere @ LIRMM-CNRS Support Experiments conducted at UNL ’ s Holland Computing Center
E N D
Recent Advances in High-Level Relational Consistency Robert J. Woodward • Joint work with • Shant Karakashian, Daniel Geschwender, Christopher Reeson, and Berthe Y. Choueiry @ UNL • Christian Bessiere @ LIRMM-CNRS • Support • Experiments conducted at UNL’s Holland Computing Center • NSF Graduate Research Fellowship & NSF Grant No. RI-111795 Coconut Talk
Publications • Relational m-wise consistency, R(∗,m)C • Relational Consistency by Constraint Filtering [SAC 10] • A First Practical Algorithm for High Levels of Relational Consistency [AAAI 10] • Improving the Performance of Consistency Algorithms by Localizing and Bolstering Propagation in a Tree Decomposition [AAAI 13] • Relational Neighborhood Inverse Consistency, RNIC • Solving Difficult CSPs with Relational Neighborhood Inverse Consistency [AAAI 11] • Adaptive Neighborhood Inverse Consistency as Lookahead for Non-Binary CSPs [AAAI-SA 11] • Reformulating the Dual Graphs of CSPs to Improve the Performance of Relational Neighborhood Inverse Consistency [SARA 11] • Revisiting Neighborhood Inverse Consistency on Binary CSPs [CP 12] • Selecting the Appropriate Consistency Algorithm for CSPs Using Machine Learning Classifiers[AAAI-SA13] • MS thesis, Woodward, Dec 2011 • PhD thesis, Karakashian, May 2013 • Papers and slides available on lab website, consystlab.unl.edu Coconut Talk
Overview • Background • Relational m-wise consistency, R(∗,m)C [SAC10,AAAI10] • Property, Algorithm, Weakening • Characterization, Evaluating • Relational Neighborhood Inverse Consistency (RNIC) [AAAI11,SARA11] • Property, Algorithm • Dual-graph reformulation, Characterization, Selection strategy • Evaluating • Dual Graphs of Binary CSPs [CP2012] • Complete constraint network, Non-complete constraint network • RNIC on binary CSPs • Characterization, Evaluating • Conclusions Coconut Talk
Constraint Satisfaction Problem R6 B • Key to our research • Operate on the dual graph • CSP • Variables, Domains • Constraints: Relations & scopes • Representation • Hypergraph • Dual graph • Solved with • Search • Enforcing consistency • Lookahead = Search + enforcing consistency A Hypergraph R4 E R1 R2 R5 R3 C F D R5 R3 R1 C D AD BCD CF Dual graph A B BD AD F AB ABDE EF AB E R6 R4 R2 Coconut Talk
Relational m-wise consistency, R(∗,m)C [SAC 2010, AAAI 2010] • A parameterized relational consistency property • Definition • For every set of m constraints • every tuple in a relation can be extended to an assignment • of variables in the scopes of the other m-1 relations • R(∗,m)C ≡ every m relations form a minimal CSP Coconut Talk
Algorithms for Enforcing R(∗,m)C • PerTuple • For each tuple find a solution for the variables in the m-1 relations • Many satisfiability searches • Effective when there are many solutions • Each search is quick & easy ti t3 t2 t1 • AllSol • Find all solutions of problem induced by m relations, & keep their tuples • A single exhaustive search • Effective when there are few or no solutions • Hybrid Solvers (portfolio based)[+Scott] Coconut Talk
Index-Tree Data Structure • Goal: quickly find matching tuples in other relations • Given two relations, R1 & R2 • For a given tuple in R1, find matching tuples in R2 Root A 0 1 B 0 1 1 C 1 1 1 t1 t2 t4 t3 Coconut Talk
Weakening R(∗,m)C • Weaken R(∗,m)C by removing redundant edges [Jégou 89] R(∗,3)C wR(∗,3)C R1 R2 R3 R1 R2 R4 R1 R2 R5 R1 R3 R4 R2 R3 R4 R2 R4 R5 R3 R4 R5 R1 R2 R3 R1 R2 R5 R1 R3 R4 R2 R4 R5 R3 R4 R5 R1 R2 B ABD BCF C F A CFG C A D R5 ADE ACEG C G R3 R4 A E C R1 R2 A minimal dual graph B ABD BCF CF CFG AD R5 ADE ACEG CG R3 R4 AE Coconut Talk
Characterizing R(∗,m)C [Jégou 89] • GAC [Waltz 75] • maxRPWC [Bessiere+ 08] • RmC: Relational m Consistency [Dechter+ 97] R2C R3C R4C RmC p p’ : pis strictly weaker than p’ R(∗,3)C R(∗,4)C R(∗,m)C R(∗,2)C wR(∗,2)C GAC maxRPWC wR(∗,3)C wR(∗,4)C wR(∗,m)C Coconut Talk
Empirical Evaluations (1) Coconut Talk
Empirical Evaluations (2) Coconut Talk
Overview • Background • Relational Consistency R(∗,m)C [SAC10,AAAI10] • Property, Algorithm, Weakening • Characterization, Evaluating • Relational Neighborhood Inverse Consistency (RNIC) [AAAI11,SARA11] • Property, Algorithm • Dual-graph reformulation, Characterization, Selection strategy • Evaluating • Dual Graphs of Binary CSPs [CP2012] • Complete constraint network, Non-complete constraint network • RNIC on binary CSPs • Characterization, Evaluating • Conclusions Coconut Talk
Neighborhood Inverse Consistency • Binary CSPs [Debruyene+ 01] • Not effective on sparse problems • Too costly on dense problems • Non-binary CSPs? • Neighborhoods likely too large • Property [Freuder+ 96] • Every value can be extended to a solution in its variable’s neighborhood • Domain-based property • Algorithm • No space overhead • Adapts to graph connectivity R4 A C 0,1,2 0,1,2 R0 R1 R3 B D 0,1,2 0,1,2 R2 R6 B A R4 E R1 R2 R5 C F D R3 Coconut Talk
Relational NIC B A R4 E R1 R2 R5 R3 C F D Hypergraph R5 R3 R1 C D AD BCD CF A B BD AD F • Domain filtering • Property: RNIC+DF • Algorithm: Projection AB ABDE EF AB E R6 R4 R2 Dual graph • Property • Every tuple can be extended to a solution in its relation’s neighborhood • Relation-based property • Algorithm • Operates on dual graph • Filters relations • Does not alter topology of graphs Coconut Talk
From NIC to RNIC • Neighborhood Inverse Consistency (NIC)[Freuder+ 96] • Proposed for binary CSPs • Operates on constraint graph • Filters domain of variables • Relational Neighborhood Inverse Consistency (RNIC) • Proposed for both binary & non-binary CSPs • Operates on dual graph • Filters relations; last step projects updated relations on domains • Both • Adapt consistency level to local topology of constraint network • Add no new relations (no constraint synthesis) Coconut Talk
Algorithm for Enforcing RNIC • Two queues • Q: relations to be updated • Qt(R): The tuples of relation Rwhose supports must be verified • SEARCHSUPPORT(τ,R) • Backtrack search on Neigh(R) • Loop until all Qt(⋅)are empty τi ✗ τ √ ..… • Complexity • Space: O(ketδ) • Time: O(tδ+1eδ) • Efficient for a fixed δ R Neigh(R) Coconut Talk
Improving Algorithm’s Performance Dynamically detect dangles • Tree structures may show in subproblem @ each instantiation • Apply directional arc consistency Note that exploiting dangles is • Not useful in R(∗,m)C: small value of m, subproblem size • Not applicable to GAC: does not operate on dual graph R5 R3 R1 R6 R4 R2 Coconut Talk
Reformulation: Removing Redundant Edges • High density • Large neighborhoods • Higher cost of RNIC • Minimal dual graph • Equivalent CSP • Computed efficiently [Janssen+ 89] • Run algorithm on a minimal dual graph • Smaller neighborhoods, solution set not affected • wRNIC: a strictly weaker property R1 R5 R3 C D AD BCD CF A B BD F D A AB ABDE EF B A E R6 R4 R2 dGo= 60% dGw = 40% wRNIC RNIC Coconut Talk
Reformulation: Triangulation • Cycles of length ≥ 4 • Hampers propagation • Triangulating dual graph • Equivalent CSP • Min-fill heuristic • Run algorithm on a triangulated dual graph • Created loops enhance propagation • triRNIC: a strictly stronger property R5 R3 R1 C D AD BCD CF A B BD F AD AB ABDE EF AB E R6 R4 R2 dGo= 60% dGtri = 67% wRNIC RNIC triRNIC Coconut Talk
Reformulation: RR & Triangulation R5 R3 R1 • Fixing the dual graph • RR copes with high density • Triangulation boosts propagation • RR+Tri • Both operate locally • Are complementary, do not ‘clash’ • Run algorithm on a RR+tri dual graph • CSP solution set is not affected • wtriRNIC is not comparable with RNIC C D AD BCD CF A B BD F AD AB ABDE EF AB E R6 R4 R2 dGo= 60% R5 R3 R1 C D AD BCD CF A B BD F AD AB ABDE EF AB E R6 R4 R2 dGwtri = 47% RNIC wRNIC triRNIC wtriRNIC Coconut Talk
Selection Strategy: Which? When? • Density of dual graph ≥ 15% is too dense • Remove redundant edges • Triangulation increases density no more than two fold • Reformulate by triangulation • Each reformulation executed at most once Start No Yes dGo≥ 15% No No Yes Yes dGtri≤ 2 dGo dGwtri≤ 2 dGw Gwtri Gtri Gw Go Coconut Talk
Characterizing RNIC R(∗,m)C • Relation-based property • GAC, SGAC • Variable-based properties RNIC+DF R(*,2)C+DF GAC SGAC p p’ : pis strictly weaker than p’ Coconut Talk R(*,2)C R(*,3)C RNIC R(*,δ+1)C
Characterizing RNIC • The fuller picture • w: Property weakened by redundancy removal • tri: Property strengthened by triangulation • δ: Degree of dual network wR(*,4)C R(*,4)C R(*,2)C≡ wR(*,2)C wR(*,3)C R(*,3)C RNIC R(*,δ+1)C wR(*,δ+1)C wRNIC triRNIC wtriRNIC Coconut Talk
Experimental Setup • Backtrack search with full lookahead • We compare • wR(∗,m)C for m = 2,3,4 • GAC • RNIC and its variations • General conclusion • GAC best on random problems • RNIC-based best on structured/quasi-structued problems • We focus on non-binary results (960 instances) • triRNIC theoretically has the least number of nodes visited • selRNIC solves most instances backtrack free (652 instances) Coconut Talk
Experimental Results • Statistical analysis on CP benchmarks • Time: Censored data calculated mean • Rank: Censored data rank based on probability of survival data analysis • #F: Number of instances fastest • [⋅]CPU: Equivalence classes based on CPU • [⋅]Completion: Equivalence classes based on completion • #C: Number of instances completed • #BT-free: # instances solved backtrack free Coconut Talk
Overview • Background • Relational Consistency R(∗,m)C [SAC10,AAAI10] • Property, Algorithm, Weakening • Characterization, Evaluating • Relational Neighborhood Inverse Consistency (RNIC) [AAAI11,SARA11] • Property, Algorithm • Dual-graph reformulation, Characterization, Selection strategy • Evaluating • Dual Graphs of Binary CSPs [CP2012] • Complete constraint network, Non-complete constraint network • RNIC on binary CSPs • Characterization, Evaluating • Conclusions Coconut Talk
Neighborhood Inverse Consistency A C R1 R2 B D R4 R3 • Relational NIC [Woodward+ AAAI 11] • Reformulation of NIC [Freuder & Elfe, AAAI 96] • Defined for dual graph • Algorithm operates on dual graph & filter relations (not domains!) • Initially designed for non-binary CSPs • How about RNIC on binary CSPs? • Impact of the structure of the dual graph Coconut Talk
Complete Constraint Graph Dual Graph: Triangle shaped grids Vn Vn Vn Vn C1,n Cn-1,n C4,n C3,n C2,n V1 Vn-1 V3 V2 V4 Ci,n V1 V5 V4 V3 V2 V3 V5 V5 V5 Vi C1,5 C4,5 C3,5 C2,5 V2 Vn-1 Ci,n-1 (n-i) vertices V1 V4 V3 V2 V1 Vn Vi V4 V4 Vi Vi C1,4 C3,4 C2,4 Ci,i+1 V3 V2 V1 V3 V1 Vi C1,3 C2,3 C1,i Ci-2,i C3,i C2,i Vi Vi Vi V2 V1 C1,2 Vi (i-2)vertices Coconut Talk
Minimal Dual Graph Dual Graph: Triangle shaped grids Vn Vn Vn Vn C1,n Cn-1,n C4,n C3,n C2,n V1 Vn-1 V4 V3 V2 Ci,n V1 V5 V4 V3 V2 V3 V5 V5 V5 Vi C1,5 C4,5 C3,5 C2,5 V2 Vn-1 Ci,n-1 (n-i) vertices V1 V4 V3 V2 V1 Vn Vi V4 V4 Vi Vi C1,4 C3,4 C2,4 Ci,i+1 V3 V2 V1 V3 V1 Vi C1,3 C2,3 C1,i Ci-2,i C3,i C2,i Vi Vi Vi V2 V1 C1,2 Vi (i-2)vertices Coconut Talk
Minimal Dual Graph … can be a triangle-shaped grid (planar) V2 • … but does not have to be • Star on V2 • Cycle of size 6 V5 C4,5 C2,5 V1 V4 V5 C1,2 V2 C1,5 C1,2 C1,5 C2,4 C1,3 V2 C1,4 V1 V5 V5 V2 C2,5 V4 V1 C2,4 C3,5 V3 C2,3 C1,3 C3,4 C2,3 C4,5 V3 V4 V3 V3 C3,4 V1 V4 C1,4 C3,5 V5 V5 V5 C1,5 C4,5 C3,5 C2,5 V1 V4 V3 V2 V4 V4 C1,4 C3,4 C2,4 V3 V2 V1 V3 C1,3 C2,3 V2 V1 Coconut Talk C1,2
Non-Complete Constraint Graph V5 V5 C1,5 C3,5 C2,5 • Can still be a triangle-shaped grid • Have a chain of vertices • of length ≤ n-1 V1 V3 V1 V4 C1,2 C1,5 C1,4 C1,4 C3,4 V2 C2,5 V2 V5 V3 C3,5 C2,3 V1 C2,3 V2 V3 V4 C3,4 C1,2 Coconut Talk
wRNIC on Binary CSPs • On a binary CSP, RNIC enforced on the minimal dual graph (wRNIC) is never strictly stronger than R(*,3)C. • wRNIC can never consider more than 3 relations C1 C1 V1 V2 V1 V1 C2 C4 V1 C2 C4 V2 V3 V3 C3 C3 • In either case, it is not possible to have an edge between C3 & C4 (a common variable to C3 & C4) while keeping C3 as a binary constraint Coconut Talk
NIC, sCDC, and RNIC not comparable • NIC Property [Freuder & Elfe, AAAI 96] • Every value can be extended to a solution in its variable’s neighborhood • sCDC Property [Lecoutre+, JAIR 11] • An instantiation {(x,a),(y,b)} is DC iff (y,b) holds in SAC when x=a and (x,a) holds in SAC when y=b and (x,y) in scope of some constraint. Further, the problem is also AC. • RNIC Property [Woodward+, AAAI 11] • Every tuple can be extended to a solution in its relation’s neighborhood • wRNIC, triRNIC, wtriRNIC enforce RNIC on a minimal, triangulated, and minimal triangulated dual graph, respectively • selRNIC automatically selects the RNIC variant based on the density of the dual graph R1 R2 R4 R3 Coconut Talk A C B D
Experimental Results (CPU Time) Coconut Talk
Experimental Results (BT-free, #NV) Coconut Talk
Conclusions • Introduced R(∗,m)C, RNIC • Algorithm for enforcing R(∗,m)C and RNIC • BT-free search: hints to problem tractability • Various reformulations of the dual graph • Adaptive, unifying, self-regulatory, automatic strategy for RNIC • Structure of binary dual graph • Empirical evidence, supported by statistics Coconut Talk
Thank You! Questions? Coconut Talk
Enforcing R(*,m)C on the Induced Dual CSP Pω Q Extract <ω,R> from Q <ω1,R1> Define CSP Pω ω2 ω1 ω3 <ω1,R2> For each τ in R <ω1,R5> Assign τ as a value for R Solve Pω(with τ fixed) with forward checking <ω2,R2> If no solution found: delete τ <ω2,R5> • Add <ω’, R’> to Q: Ri≠R’, Ri∈ω’ and R’∈ω’ <ω2,R4> CB <ω3,R3> ω1 CC <ω3,R4> R2 R1 AB BC R1: A B R2: B C <ω3,R5> R5: C F G R5 CFG R5: C F G R3 DE EF R4 ω2 ω3 CC R3: D E R4: E F Coconut Talk CB