Revisiting the tree constraint Performing GAC in linear time - - PowerPoint PPT Presentation

revisiting the tree constraint
SMART_READER_LITE
LIVE PREVIEW

Revisiting the tree constraint Performing GAC in linear time - - PowerPoint PPT Presentation

Revisiting the tree constraint Performing GAC in linear time Jean-Guillaume Fages and Xavier Lorca Jean-Guillaume Fages and Xavier Lorca CP'11 TASC - Nantes 1 Contents Preamble Theoretical contribution Experiments and results


slide-1
SLIDE 1

Revisiting the tree constraint

Performing GAC in linear time

Jean-Guillaume Fages and Xavier Lorca

1 TASC - Nantes CP'11

Jean-Guillaume Fages and Xavier Lorca

slide-2
SLIDE 2

Contents

  • Preamble
  • Theoretical contribution
  • Experiments and results

2 TASC - Nantes CP'11

slide-3
SLIDE 3

Introduction

  • Preamble

– Anti-arborescence partitioning – Anti-arborescence partitioning – Vocabulary

  • Theoretical contribution
  • Experiments and results

3 TASC - Nantes CP'11

slide-4
SLIDE 4

Anti-arborescence partitioning

Directed graph such that each connected component has one loop (the root) and such that each node has exactly one successor successor

An input graph (directed) An anti-arborescence partition

CP'11 TASC - Nantes 4

slide-5
SLIDE 5

Anti-arborescence partitioning

First step for paths partitioning*

  • Vehicle routing

DEPOT

  • Vehicle routing
  • Mission planning

*(with a 1-predecessor propagator)

CP'11 TASC - Nantes 5

CUSTOMERS

slide-6
SLIDE 6

Anti-arborescence partitioning

Tree constraint introduced by X. Lorca et. al. [CPAIOR’05] [CPAIOR’05] Based on strong articulation points properties Ensures GAC Cardinality pruning in O(n+m) Structural pruning in O(nm)

CP'11 TASC - Nantes 6

slide-7
SLIDE 7

Anti-arborescence partitioning

Different from any weighted spanning tree constraint Work on a real tree (undirected) Work on a real tree (undirected) Take cost into account

J-C. Régin, L-M Rousseau, M. Rucher and W-J Van Hoeve [CPAIOR’10] J-C. Régin [CPAIOR'08]

  • G. Dooms and I. Katriel [CPAIOR’07]
  • I. Aron and P. Van Hentenryck [UAI’02]

CP'11 TASC - Nantes 7

slide-8
SLIDE 8

Vocabulary

  • Graph variable of an input graph G = (V,A)

Introduced by G. Dooms et. al. [CP’05] Introduced by G. Dooms et. al. [CP’05] Defined by:

– Envelope (max) GE = (VE,AE) Nodes and arcs that potentially figures in a solution – Kernel (min) GK = (VK,AK) Nodes and arcs that figure in every solution

CP'11 TASC - Nantes 8

GK ⊆ GE ⊆ G

slide-9
SLIDE 9

Vocabulary

  • Flow graph

Directed graph G(s) such that each

s

Directed graph G(s) such that each node is reachable from the source s by a directed path

  • Dominator

s

A node x dominates y (x≠y) in a flow graph G(s) iff all path from s to y go through x

CP'11 TASC - Nantes 9

slide-10
SLIDE 10

Theoretical contribution

  • Preamble
  • Theoretical contribution

– New pruning condition – Algorithm

  • Conclusion

10 TASC - Nantes CP'11

slide-11
SLIDE 11

New pruning condition

Necessary and sufficient condition for structural pruning: (v,u) in G is infeasible iff: (v,u) in GE is infeasible iff:

– v has another successor in the kernel (trivial) OR – All paths in GE from u to any potential root w go through v

Use of domination concept, identified by L. Quesada et.

  • al. as useful for graph accessibility problems [PADL’06]

CP'11 TASC - Nantes 11

slide-12
SLIDE 12

New pruning condition

(v,u) in GE is infeasible

  • v dominates u in GEs
  • 1(s)

Add a fictive sink s Inverse

s s

CP'11 TASC - Nantes 12

GE GEs GEs

  • 1(s)
slide-13
SLIDE 13

New pruning condition

(v,u) in GE is infeasible

  • v dominates u in GEs
  • 1(s)

s s v u

v dominates u, w and x

w v w u v w u

Add a fictive sink s Inverse

CP'11 TASC - Nantes 13

GE GEs GEs

  • 1(s)

u w w u w u x x

slide-14
SLIDE 14

Algorithm

Procedure:

  • 1. Build/Update GEs
  • 1(s)
  • 2. Compute dominance tree of GEs
  • 1(s)
  • 3. FOR EACH arc (x,y) in GE

4. IF (x dominates y in GEs

  • 1(s))

Es

5. GE GE\{(x,y)} 6. END IF

  • 7. END FOR

CP'11 TASC - Nantes 14

slide-15
SLIDE 15

Algorithm

Computing the dominance tree of a digraph in O(n+m) [l.2]

Alstrup et. al. O(n+m) [SAIM’99] Alstrup et. al. O(n+m) [SAIM’99] Buschbaum et. al. O(n+m) [TOPLAS’98] Lengauer-Tarjan O(α(n,m).m) [TOPLAS’79]

α is the inverse of Ackermann function so it is « almost » a constant

α(n,m) ≤ 5 for any practical input graph [Gabriel Nivasch, ETH Zürich]

CP'11 TASC - Nantes 15

slide-16
SLIDE 16

Algorithm

Answering O(m) dominance requests in O(n+m) [l. 3-4]

Preprocessing (DFS) Starting at the fictive source node Starting at the fictive source node Storage of preorder and postorder labels Request: x dominates y x ancestor of y in the dominance tree (preorder(y)>preorder(x)) ∧ (postorder(y)<postorder(x))

1-8 2-6 8-7 4-1

CP'11 TASC - Nantes 16

2-6 3-4 6-3 5-2 7-5

slide-17
SLIDE 17

Experiments and results

  • Preamble
  • Theoretical contribution
  • Experiments and results

– Different models – Scalability and data structures – Conclusion – Conclusion

17 TASC - Nantes CP'11

slide-18
SLIDE 18

Different models

Experiments on randomly generated instances: Connected directed graphs Connected directed graphs Various graph densities Models

  • Binary decomposition model
  • Original tree constraint

CP'11 TASC - Nantes 18

  • New tree constraint (LT algorithm)

1. Matrix representation (BitSets) 2. List representation (Linked lists)

slide-19
SLIDE 19

Different models

CP'11 TASC - Nantes 19

The decomposition model is unstable The previous tree constraint does not scale The new tree constraint looks reliable and fast

slide-20
SLIDE 20

Scalability and data structures

Sparse graph (d+=5) Complete graph (d+=n)

CP'11 TASC - Nantes 20

Important scaling factor from 2.5 to 12.85 Impact of the data structure

slide-21
SLIDE 21

Conclusion

Simpler formulation of the tree constraint Ensures GAC in O(n+m) worst case time complexity Ensures GAC in O(n+m) worst case time complexity Outperforms all previous approaches by an important scaling factor Points

  • ut

the impact

  • f

the chosen data structure Points

  • ut

the impact

  • f

the chosen data structure according to the input graph density Great perspectives such as path partitioning problems

21 TASC - Nantes CP'11

slide-22
SLIDE 22

Thank you for listening

If you have any question... If you have any question...

Do not forget

CP'11 TASC - Nantes 22