Date post: | 22-Dec-2015 |
Category: |
Documents |
View: | 217 times |
Download: | 0 times |
Advanced Constraint Processing, Fall 2009
An Efficient Consistency Algorithm for the Temporal
Constraint Satisfaction Problem
Berthe Y. Choueiry & Lin Xu, AI Comm. 2004
Presented by Shant KarakashianAdvanced Constraint Processing
CSCE 990 02, Fall 2009
19/8/2009
Advanced Constraint Processing, Fall 2009
Outline
• Introduction• Solving the TCSP• Motivation: Constraint Propagation & Fragmentation• ∆AC Algorithm• Identifying the Triangles • ∆AC Initialization• Advantages of ∆AC• Experiment Results• Conclusion
29/8/2009
Advanced Constraint Processing, Fall 2009
Introduction• Temporal relations in a problem can be represented
& reasoned about by modeling the problem as a Temporal Constraint Satisfaction Problem (TCSP)
• TCSP can be solved by assigning a value to each time point, such that all the constraints are simultaneously satisfied
• A TCSP can have exponential number of STPs, where each STP can be solved efficiently
39/8/2009
Advanced Constraint Processing, Fall 2009
Outline
• Introduction• Solving the TCSP• Motivation: Constraint Propagation & Fragmentation• ∆AC Algorithm• Identifying the Triangles • ∆AC Initialization• Advantages of ∆AC• Experiment Results• Conclusion
49/8/2009
Advanced Constraint Processing, Fall 2009
Solving TCSP [Dechter et al. 91]
• Dechter described a backtrack search procedure for determining the consistency of the TCSP.
• TCSP is modeled as a meta-CSP – With n vertices, e edges, and k intervals per edge– The edges in TCSP are the variables in meta-CSP– The labels of an edge in TCSP form the domain of the corresponding variable – The only constraint is a global constraint, stating that the edge-interval pairs
form a consistent STP
59/8/2009
Advanced Constraint Processing, Fall 2009
Outline
• Introduction• Solving TCSP• Motivation: Constraint Propagation & Fragmentation• ∆AC Algorithm• Identifying the Triangles • ∆AC Initialization• Advantages of ∆AC• Experiment Results• Conclusion
69/8/2009
Advanced Constraint Processing, Fall 2009
Constraint Propagation by Domain Filtering• Constraint propagation effectively enhances the performance of search
• The single constraint for the meta-CSP has size O(ke), which makes it unrealistic to apply GAC
• ∆AC remedies this difficulty by imposing a new ternary constraint over every existing triangle in the TCSP graph
8/25/2009 Topic 7
Arc consistency– Single n-ary constraint– GAC is NP-hard
AC– Works on existing triangles– Poly # of poly constraints
Advanced Constraint Processing, Fall 2009
Fragmentation• Algorithms such as NPC-1 and NPC-2 modify intervals, which causes
fragmentation• AC removes values that are not supported by the ternary constraint
For every interval in the domain of an edge, there must existintervals in the domains of the 2 other edges such that the 3intervals verify the triangle inequality rule
8/25/2009 Topic 8
[1,3] in e3 has no support in e1 and e2
AC removes [1,3] from domain of e3
• ∆AC either keeps an interval as is or removes it, hence avoids fragmentation
Advanced Constraint Processing, Fall 2009
Outline
• Introduction• Solving TCSP• Motivation: Constraint Propagation & Fragmentation• ∆AC Algorithm• Identifying the Triangles • ∆AC Initialization• Advantages of ∆AC• Experiment Results• Conclusion
99/8/2009
Advanced Constraint Processing, Fall 2009
∆AC Algorithm (1)
• ∆AC keeps support tables (à la AC-4 / AC-2001)– Calls InitializeSupport
• Initializes the queue of (edge,interval) pairs• Builds 2 support tables: Supports, SupportedBy
– Loops through the queue, checking if a (edge-interval) pair has a support in all triangles where the edge appears
8/25/2009 Topic 10
A= {a1, a2,.., ak}
Advanced Constraint Processing, Fall 2009
∆AC Algorithm (2)Given the triangle: XYZREVISE A={a1,a,2,.., ak}, finding a support for each interval
For ai in A
If FINDSUPPORT(A, ai) = false
Then DELETE ai from A
ENQUEUE the intervals supported by ai
FINDSUPPORT (A, ai)
For each interval bj in B, ck in C:
If (bj •ck) ai is not empty
Then ADD a to list of intervals supported by b j, ck
Return trueReturn false
11
Y
X Z
C ={c1,c2,..,ck }
B ={b1,b2,..,bk}
A= {a1, a2,.., ak}
• 9/8/2009
[1,3] in e3 has no support in e1 and e2
Advanced Constraint Processing, Fall 2009
Outline
• Introduction• Solving TCSP• Motivation• Filtering intervals with ∆AC• Identifying the Triangles • ∆AC Initialization• Advantages of ∆AC• Experiment Results• Conclusion
129/8/2009
Advanced Constraint Processing, Fall 2009
Identifying the Triangles
13
X Y
Z W
A={a1, a2}
C={c1, c2}
E={e1, e2}
D={d1, d2}
F = {[-∞,+∞)}
The interval i11 is an absorbing element: (-∞,+∞)• (-∞,+∞) composed with any interval is: (-∞,+∞)• (-∞,+∞) intersected with any interval x is x, not null
B={b1, b2}
9/8/2009
Advanced Constraint Processing, Fall 2009
Outline
• Introduction• Solving TCSP• Motivation• Filtering intervals with ∆AC• Identifying the Triangles • ∆AC Initialization• Advantages of ∆AC• Experiment Results• Conclusion
149/8/2009
Advanced Constraint Processing, Fall 2009
∆AC: Initialization
15
(A, a1)(A ,a2)(B,b1)(B,b2)(C,c1)(C,c2)(D,d1)
(D,d2)
Q
X Y
Z W
A={a1, a2}
C={c1, c2}
B={b1, b2}
D={d1, d2}
d2 supports b1
c1 supports b1
B={b1}
C={c2}
(B,b1)
9/8/2009
b1 supported by d2
b1 supported by c1
Advanced Constraint Processing, Fall 2009
Outline
• Introduction• Solving TCSP• Motivation• Filtering intervals with ∆AC• Identifying the Triangles • ∆AC Initialization• Advantages of ∆AC• Experiment Results• Conclusion
169/8/2009
Advanced Constraint Processing, Fall 2009
Advantages of AC
• Powerful, especially for dense TCSPs
• Sound and cheap O(n |E| k3)
• It may be optimal
– Uses polynomial-size data-structures:
Supports, Supported-by as in AC-4
17
[borrowed from lecture slides]
9/8/2009
Advanced Constraint Processing, Fall 2009
Outline
• Introduction• Solving TCSP• Motivation• Filtering intervals with ∆AC• Identifying the Triangles • ∆AC Initialization• Advantages of ∆AC• Experiment Results• Conclusion
189/8/2009
Advanced Constraint Processing, Fall 2009
Reduction of meta-CSP’s size
19
[borrowed from lecture slides]
9/8/2009
Advanced Constraint Processing, Fall 2009
Effect of AC on #nodes visited
20
[borrowed from lecture slides]
9/8/2009
Advanced Constraint Processing, Fall 2009
Cumulative Improvement
21
Before, after AP, after NewCyc,… … and now (AC, STP, NewCyc, EdgeOrd)
Max on y-axis 5.000.000 Max on y-axis 18.000, 2 orders of magnitude improvement
[borrowed from lecture slides]
9/8/2009
Advanced Constraint Processing, Fall 2009
Outline
• Introduction• Solving TCSP• Motivation• Filtering intervals with ∆AC• Identifying the Triangles • ∆AC Initialization• Advantages of ∆AC• Experiment Results• Conclusion
229/8/2009
Advanced Constraint Processing, Fall 2009
Conclusion
• The paper proposes ∆AC that:– Defines ternary constraints on a TCSP– Propagates the constraints to filter the intervals in the
TCSP that are the domains of the variables in the meta-CSP
• ∆AC is used as a preprocessing step– Should be also used for look-ahead
• Experiments show that the algorithm is able to filter the domains tremendously specially as the density of the graph increases
239/8/2009