A polynomial time algorithm for bounded directed pathwidth Hisao - - PowerPoint PPT Presentation
A polynomial time algorithm for bounded directed pathwidth Hisao - - PowerPoint PPT Presentation
A polynomial time algorithm for bounded directed pathwidth Hisao Tamaki Meiji University Directed pathwidth/decomposition A directed path-decomposition of 1 2 3 4 5 f b f c d a e e c g g g g g b
Directed pathwidth/decomposition
- 1. for each ๐ค โ ๐(๐ป) , ๐ฝ๐ค = ๐ ๐ค โ ๐๐+ is a single non-
empty interval
- 2. for each directed edge (๐ฃ, ๐ค) there is a pair ๐ โค ๐ such
that ๐ฃ โ ๐๐ and ๐ค โ ๐
๐
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
Directed pathwidth/decomposition
- 1. for each ๐ค โ ๐(๐ป) , ๐ฝ๐ค = ๐ ๐ค โ ๐๐+ is a single non-
empty interval
- 2. for each directed edge (๐ฃ, ๐ค) there is a pair ๐ โค ๐ such
that ๐ฃ โ ๐๐ and ๐ค โ ๐
๐
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
Undirected *๐ฃ, ๐ค+
- some ๐
๐ฃ, ๐ค โ ๐๐
Directed pathwidth/decomposition
- 1. for each ๐ค โ ๐(๐ป) , ๐ฝ๐ค = ๐ ๐ค โ ๐๐+ is a single non-
empty interval
- 2. for each directed edge (๐ฃ, ๐ค) there is a pair ๐ โค ๐ such
that ๐ฃ โ ๐๐ and ๐ค โ ๐
๐
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
Directed pathwidth/decomposition
- 1. for each ๐ค โ ๐(๐ป) , ๐ฝ๐ค = ๐ ๐ค โ ๐๐+ is a single non-
empty interval
- 2. for each directed edge (๐ฃ, ๐ค) there is a pair ๐ โค ๐ such
that ๐ฃ โ ๐๐ and ๐ค โ ๐
๐
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
Directed pathwidth/decomposition
- 1. for each ๐ค โ ๐(๐ป) , ๐ฝ๐ค = ๐ ๐ค โ ๐๐+ is a single non-
empty interval
- 2. for each directed edge (๐ฃ, ๐ค) there is a pair ๐ โค ๐ such
that ๐ฃ โ ๐๐ and ๐ค โ ๐
๐
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
Directed pathwidth/decomposition
- 1. for each ๐ค โ ๐(๐ป) , ๐ฝ๐ค = ๐ ๐ค โ ๐๐+ is a single non-
empty interval
- 2. for each directed edge (๐ฃ, ๐ค) there is a pair ๐ โค ๐ such
that ๐ฃ โ ๐๐ and ๐ค โ ๐
๐
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
Directed pathwidth/decomposition
- 1. for each ๐ค โ ๐(๐ป) , ๐ฝ๐ค = ๐ ๐ค โ ๐๐+ is a single non-
empty interval
- 2. for each directed edge (๐ฃ, ๐ค) there is a pair ๐ โค ๐ such
that ๐ฃ โ ๐๐ and ๐ค โ ๐
๐
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
Directed pathwidth/decomposition
- 1. for each ๐ค โ ๐(๐ป) , ๐ฝ๐ค = ๐ ๐ค โ ๐๐+ is a single non-
empty interval
- 2. for each directed edge (๐ฃ, ๐ค) there is a pair ๐ โค ๐ such
that ๐ฃ โ ๐๐ and ๐ค โ ๐
๐
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
Directed pathwidth/decomposition
- 1. for each ๐ค โ ๐(๐ป) , ๐ฝ๐ค = ๐ ๐ค โ ๐๐+ is a single non-
empty interval
- 2. for each directed edge (๐ฃ, ๐ค) there is a pair ๐ โค ๐ such
that ๐ฃ โ ๐๐ and ๐ค โ ๐
๐
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
Directed pathwidth/decomposition
- 1. for each ๐ค โ ๐(๐ป) , ๐ฝ๐ค = ๐ ๐ค โ ๐๐+ is a single non-
empty interval
- 2. for each directed edge (๐ฃ, ๐ค) there is a pair ๐ โค ๐ such
that ๐ฃ โ ๐๐ and ๐ค โ ๐
๐
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
Directed pathwidth/decomposition
The width of a directed path-decomposition is ๐๐๐ฆ๐ |๐๐| - 1. The directed pathwidth of ๐ป is the minimum ๐ฅ such that there is a directed path-decomposition of ๐ป of width ๐ฅ.
b e a d c
๐ป
a c b f g e g d
A directed path-decomposition of ๐ป
๐1 ๐2 ๐3 ๐4 ๐5
f g g g
width = 1 ๐๐ช๐ฑ(๐ป) = 1
๐ป: undirected graph ๐ปโ: digraph with a pair of anti-parallel edges for each edge of ๐ป The condition for a path-decomposition of ๐ป = the condition for a directed path-decomposition of ๐ปโฒ
Observation 1 ๐ป ๐ปโ
๐๐ ๐
๐
๐ฃ ๐ค
๐ โค ๐ ๐ โค ๐ The problem of deciding the directed-pathwidth is a generalization of that of deciding the pathwidth.
Observation 2
๐๐
A directed path decomposition represents a linear system
- f dicuts.
๐๐+1 ๐
Observation 2
๐โค๐
A directed path-decomposition represents a linear system
- f dicuts of size at most the width.
๐๐+1 ๐ ๐>๐ ๐๐ ๐ฃ ๐ค
Some facts on directed pathwidth
Introduced by Reed, Seymour, and Thomas in mid 90โs. Relates to directed treewidth [Johnson, Robertson, Seymour and Thomas 01], D-width [Safari 05], Dag-width [ Berwanger, Dawar, Hunter & Kreutzer 05, Obdrzalek 06], and Kelly-width[Hunter & Kreutzer 07] as pathwidth relates to treewidth. For digraphs of directed pathwidth ๐ฅ, some problems including directed Hamiltonian cycle can be solved in ๐๐(๐ฅ) time [JRST01] . Used in a heuristic algorithm for enumerating attractors of boolean networks [Tamaki 10].
Complexity
Input: positive integer k and graph (digraph) G Question: Is the (directed) pathwidth of G at most k ?
NP-complete for the undirected case [Kashiwabara & Fujisawa 79] and hence for the directed case.
Undirected pathwidth is fixed parameter tractable:
๐ ๐ ๐๐(1) time: graph minor theorem 2๐ ๐3 ๐ time: [Bodlaender 96, Bodlaender & Kloks 96]
Directed pathwidth is open for FPT
Even for k = 2, no polynomial time was previously known.
Result
An ๐ ๐๐๐+1 time algorithm for deciding if the directed pathwidth is โค ๐ (and constructing the associated decomposition) for a digraph of ๐ vertices and ๐ edges. Note This algorithm is extremely simple, easy to implement, and useful even for undirected pathwidth/-decomposition (the linear time algorithm of Bodlaender depends exponentially on k 3)
Notation
๐ป : digraph, fixed ๐ = ๐ ๐ป ๐ = ๐น ๐ป ๐
โ ๐ = ๐ฃ โ ๐ ๐ฃ, ๐ค โ ๐น ๐ป , ๐ค โ ๐ +
: set of in-neighbors of ๐ ๏๐(๐ป) ๐
โ (๐) = |๐ โ (๐)| : in-degree of ๐ ๏๐(๐ป)
ฮฃ(๐ป ): the set of all non-duplicating sequences of vertices of ๐ป ๐ (ฯ) : the set of vertices appearing in ฯ ๏S(G )
Directed vertex separation number
A vertex sequence ๐ โ ฮฃ ๐ป is ๐-feasible if ๐โ ๐ ฯ โค ๐ for every prefix ฯ of ฯ. The directed vertex separation number of G : dvsn(G ) = min ๐ ๐ โ ฮฃ ๐ป : ๐ ๐ = ๐(๐ป)and ฯ is ๐-feasible+ Fact: dvsn(G ) = dpw(G )
The conversion from a vertex separation sequence to a directed path-decomposition is straightforward.
Search tree for k-feasible sequences Vertex sets in the search tree are feasible. Those leading to a solution are strongly feasible.
b e a d c
๐ป ๐ = 2 {a} 2 {} 0 {b} 1 {c} 2 {e} 2 {d} 2 {a,b} 2 {a,c} 4 {a,d} 3 {a,e} 3 {a,b,c} 3 {a,b,c} 3 {a,b,d} 3 {a,b,e} 3 {d,e} 2 {c,d,e} 1 {b,c,d,e} 0 {a,b,c,d,e} 0
Commitment: a special case Is it safe to commit to this child? In other words, is it true that if ๐ is strongly feasible then ๐ โช ๐ค is? ๐ ๐ ๐ โช ๐ค โค๐
Adding ๐ค does not increase the indegree.
Commitment: a special case Is it safe to commit to this child? In other words, is it true that if ๐ is strongly feasible then ๐ โช ๐ค is? YES, in a more genral form ๐ ๐ ๐ โช ๐ค โค๐
Adding ๐ค does not increase the in-degree.
Commitment in general form Commitment lemma Let ๐ โ ๐ both feasible and suppose:
- 1. ๐โ ๐ โค ๐โ ๐ ,
- 2. ๐โ ๐โฒ > ๐โ ๐ for every feasible proper
superset ๐โฒ of ๐ strictly smaller than ๐, and
- 3. ๐ is strongly feasible.
Then ๐ is strongly feasible. ๐ ๐ ๐ โค๐ ๐โฒ >๐
First decsendant with the same or smaller in-degree.
Search tree pruning based on commitment
When a node has a descendant to which it can commit, all other descendants are removed from the tree. Effectively, branching occurs only when the in-degree increases. The pruned tree behaves like a depth ๐ tree in a fuzzy sense. Can show, with some technicality, that the size of the pruned tree is at most ๐๐+1 .
Proof of the commitment lemma
Fact:
The in-degree function ๐
โ is submodular:
for every pair of subsets ๐, ๐ โ ๐ (๐ป ),
๐
โ ๐ + ๐ โ ๐ โฅ ๐ โ (๐ โฉ ๐ ) + ๐ โ (๐ โช ๐ )
Proof of the commitment lemma
Step 2:
Using the condition established in Step 1, derive the strong feasibility of ๐ from that of ๐.
Step 1:
Let ๐ and ๐ as in the lemma. Then, ๐
โ ๐ โค ๐ โ (๐)
holds for every ๐ such that ๐ ๏ ๐ ๏ ๐. (Even if ๐ is not feasible.)
Step 2 of the proof
Assumptions:
๐ โ ๐, ๐ is strongly feasible, ๐ is feasible, and
๐
โ ๐ โค ๐ โ (๐) for every ๐ such that ๐ ๏ ๐ ๏ ๐.
Goal: ๐ is also strongly feasible
๐ ๐
Step 2 of the proof
Assumptions:
๐ is strongly feasible, ๐ is feasible, and
๐
โ ๐ โค ๐ โ (๐) for every ๐ such that ๐ ๏ ๐ ๏ ๐.
Goal: ๐ is also strongly feasible
๐ ๐
๐ : ๐-feasible
Step 2 of the proof
Assumptions:
๐ is feasible, and
๐
โ ๐ โค ๐ โ (๐) for every ๐ such that ๐ ๏ ๐ ๏ ๐.
Goal: ๐ฝ is ๐-feasible
๐ ๐
๐ : ๐-feasible ๐ฝ
Step 2 of the proof
Assumptions:
๐ is feasible, and
๐
โ ๐ โค ๐ โ (๐) for every ๐ such that ๐ ๏ ๐ ๏ ๐.
Goal: ๐ฝ is ๐-feasible
๐ ๐
๐ : ๐-feasible ๐ฝ ๐-feasible
Step 2 of the proof
๐
โ ๐ โค ๐ โ (๐) for every ๐ such that ๐ ๏ ๐ ๏ ๐.
Goal:๐
โ ๐ต โค ๐ for each superset ๐ต of ๐ that is the vertex
set of some prefix of ๐ฝ
๐ ๐
๐ : ๐-feasible ๐ฝ
๐ต
Step 2 of the proof
๐
โ ๐ โค ๐ โ (๐) for every ๐ such that ๐ ๏ ๐ ๏ ๐.
Goal: ๐
โ ๐ต โค ๐
๐ : ๐-feasible ๐ฝ
๐ต
๐ถ: the vertex set of the minimal prefix of๐ such that
๐ถ โ ๐ = ๐ต โ ๐
๐ถ
Step 2 of the proof
๐
โ ๐ โค ๐ โ (๐) for every ๐ such that ๐ ๏ ๐ ๏ ๐.
Goal: ๐
โ ๐ต โค ๐
๐ : ๐-feasible ๐ฝ
๐ต
By submodularity: ๐
โ ๐ + ๐ โ ๐ถ โฅ ๐ โ (๐ โฉ ๐ถ) + ๐ โ (๐ โช ๐ถ)
๐ถ ๐ต ๐
Step 2 of the proof
๐
โ ๐ โค ๐ โ (๐) for every ๐ such that ๐ ๏ ๐ ๏ ๐.
Goal: ๐
โ ๐ต โค ๐
๐ : ๐-feasible ๐ฝ
๐ต
By submodularity: ๐
โ ๐ + ๐ โ ๐ถ โฅ ๐ โ (๐ โฉ ๐ถ) + ๐ โ (๐ โช ๐ถ)
๐ถ ๐ต ๐
โค ๐ โฅ ๐
โ ๐
Step 2 of the proof
Goal: ๐
โ ๐ต โค ๐ : established
โ ๐ฝ is ๐-feasible โ ๐ is strongly feasible
๐ : ๐-feasible ๐ฝ
๐ต
By submodularity: ๐
โ ๐ + ๐ โ ๐ถ โฅ ๐ โ (๐ โฉ ๐ถ) + ๐ โ (๐ โช ๐ถ)
๐ถ ๐ต ๐
โค ๐ โฅ ๐
โ ๐