The b -branching problem in digraphs Naonori Kakimura Keio Univ, JPN Naoyuki Kamiyama Kyushu Univ & JST PRESTO, JPN Kenjiro Takazawa Hosei Univ, JPN 3 2 2 1 MFCS 2018 @ Liverpool, UK Aug. 27-31, 2018 2 2
Overview 2 Branching b -branching [This talk] ➢ Algorithm ➢ Algorithm [Chu & Liu 65, etc.] ➢ Packing theorem ➢ Packing theorem [Edmonds 73] 3 2 2 1 2 2 b -matching Matching ➢ Min-max theorem [Tutte 47] ➢ Min-max theorem [Tutte 54] ➢ Algorithm [Marsh 79] [Berge 58] ➢ Algorithm [Edmonds 65] b ( v 1 )=3 2 2 b ( v 2 )= 1 2 2
Contents 3 ⚫ Introduction: Branching ◼ Partition matroid ∩ Graphic matroid ➢ Algorithm ➢ Theorem for packing disjoint branchings 3 2 ⚫ Our result: b -branching 2 1 ◼ Partition matroid ∩ Sparsity matroid ➢ Algorithm 2 2 ➢ Theorem for packing disjoint b -branchings
Branching 4 ◆ Digraph ( V , A ) Definition ⚫ B ⊆ A is a branching ⇔ (i) indeg( u ) ≤ 1 ( u ∈ V ) (ii) No undirected cycle Fact Special case of Matroid intersection ( ☞ Next slide) δ( u ) u ➢ (i): Partition matroid ✓ A = δ in ( u 1 )∪δ in ( u 2 )∪∙∙∙∪δ in ( u n ) ✓ | B ∩δ in ( u i )| ≤ 1 ( i =1,2,...., n ) ➢ (ii): Graphic matroid X ✓ | B [ X ]| ≤ | X | - 1 (∅≠ X ⊆ V )
Matroid intersection 5 ◆ Matroids M 1 =( A , I 1 ), M 2 =( A , I 2 ) ◆ Weight w ∈ R A Weighted matroid intersection problem ⚫ Find B ∊ I 1 ∩ I 2 maximizing w ( B )=∑ a ∊ B w ( a ) ➢ Solved in polynomial time 9 10 ✓ Augmenting-path algorithm [Edmonds 70] 8 1 1 ⚫ Example 1 : Bipartite matching 9 ✓ M 1 : Partition matroid 1 ✓ M 2 : Partition matroid 9 3 5 9 ⚫ Example 2 : Branching 4 1 4 8 4 ✓ M 1 : Partition matroid 1 6 1 ✓ M 2 : Graphic matroid 2 2
Branching as Special Matroid Intersection 6 ◆ Properties (A),(B): Not true for general matroid intersection Property (A) Greedy-type algorithm for max weight branching [Chu-Liu 65, Edmonds 67, Bock 71, Fulkerson 74] ➢ NOT true for bipartite matching (!) Property (B) Theorem for packing disjoint branchings [Edmonds 73] ➢ Also holds for Bipartite matching ( Kőnig’s edge-coloring theorem) • Strongly base orderable matroid intersection [Davies, McDiarmid 76] • Matroids without ( k + 1)-spanned elements [Kotlar, Ziv 05] • [ T . , Yokoi 18]
(A) Greedy-type Algorithm 7 [Chu-Liu 65, Edmonds 67, Bock 71, Fulkerson 74] 4 9 4 9 2 1 7 7 7 7 10 10 6 6 9 6 9 3 6 6 6 10 10 10 2 2 = 7 + 4 – 9 1 3 = 9 + 4 – 10 1 = 7 + 4 – 10 3 4 9 2 1 7 7 10 6 9 6 3 6 6 10 10
(B) Packing Disjoint Branchings 8 Theorem [Edmonds 67, Bock 71, Fulkerson 74] Digraph D has one r -arborescence ⇔ | δ in ( X )| ≥ 1 (∅ ≠ X ⊆ V∖ { r }) X r Disjoint Arborescences Theorem [Edmonds 73] Digraph D has k arc-disjoint r -arborescence ⇔ | δ in ( X )| ≥ k (∅ ≠ X ⊆ V ∖{ r })
Contents 9 ⚫ Introduction: Branching ◼ Partition matroid ∩ Graphic matroid ➢ Algorithm ➢ Theorem for packing disjoint branchings 3 2 ⚫ Our result: b -branching 2 1 ◼ Partition matroid ∩ Sparsity matroid ➢ Algorithm 2 2 ➢ Theorem for packing disjoint b -branchings
b -branching 10 2 3 ◆ Digraph ( V , A ) 1 2 ◆ Positive integer vector b ∈ Z V on V Definition 2 2 X ⚫ B ⊆ A is a b -branching ⇔ ✓ | B [ X ]|= 7 , b ( X )-1= 8 (i) indeg B ( u ) ≤ b ( u ) ( u ∈ V ) 3 2 (ii) | B [ X ]| ≤ b ( X ) – 1 (∅≠ X ⊆ V ) 1 2 Branching: b ( u )=1 • 2 X 2 ➢ (i): Direct sum of uniform matroids × | B ( X )|= 6 , b ( X )-1= 5 ➢ (ii): Sparsity matroid Sparsity matroid [cf. Frank 11] Graph G =( V , E ), Vector b ∈ Z V , Integer k ≥0 ➢ { B ⊆ E : | B [ X ]| ≤ b ( X ) - k } is an independent set family of a matroid k disjoint branchings: indeg( u ) ≤ k ( u ∈ V ) ✓ | B [ X ]| ≤ k | X | – k (∅≠ U ⊆ V )
Our Results: Properties of b -branching 11 Property (A) [Our result] Greedy-type algorithm for max weight b -branching ➢ More tractable than bipartite matching Property (B) [Our result] Theorem for packing disjoint b -branchings + Integer decomposition property of the polytope X 2 2 b -branching polytope x (δ( u )) ≤ b ( u ) ( u ∈ V ) 1 r x ( A [ X ]) ≤ b ( X ) – 1 (∅≠ X ⊆ V ) x ( a ) ≥ 0 ( a ∈ A ) 2 2 ➢ |δ( u )| ≥ k ∙ b ( u ) ( u ∈ V ∖{ r }) ➢ |δ( X )| ≥ k (∅ ≠ X ⊆ V∖ { r })
(A) Greedy-type Algorithm 12 b ( u )=2 ( ∀ u ∈ V ) X 11 11 10 10 8 8 5 5 11 7 11 7 5 12 5 12 4 4 9 2 9 2 |B [ X ] |=b ( X ) 8 8 11 2 = 8 + 5 – 11 2 v X 3 10 4 = 4 + 5 – 5 8 5 3 = 5 + 5 – 7 11 7 5 12 4 -1 -1 = 2 + 5 – 8 4 b ( v X ) := 1 9 2 8
(B) Packing Disjoint b -branchings 13 Theorem 2 3 b -branching with indeg( u )= b ( u ) ( u ∈ V ∖{ r }) ⇔ 1 1 ➢ | δ in ( u )| ≥ b ( u ) ( u ∈ V ∖{ r }) ➢ | δ in ( X )| ≥ 1 (∅ ≠ X ⊆ V∖ { r }) r 2 2 X Theorem k disjoint b -branchings with indeg( u )= b ( u ) ( u ∈ V ∖{ r }) ⇔ ➢ | δ in ( u )| ≥ k ∙ b ( u ) ( u ∈ V ∖{ r }) ➢ | δ in ( X )| ≥ k (∅ ≠ X ⊆ V∖ { r }) X Th. [Edmonds 67, Bock 71, Fulkerson 74] 2 2 r -arborescence 1 ⇔ | δ in ( X )| ≥ 1 (∅≠ X ⊆ V∖ { r }) r Th. [Edmonds 73] 2 2 k disjoint r -arborescence ⇔ | δ in ( X )| ≥ k (∅≠ X ⊆ V ∖{ r })
Algorithm for Packing b -branchings 14 Theorem [Recap] k disjoint b -branchings with indeg( u )= b ( u ) ( u ∈ V ∖{ r }) exist ⇔ ➢ |δ( u )| ≥ k ∙ b ( u ) ( u ∈ V ∖{ r }) ➢ |δ( X )| ≥ k (∅ ≠ X ⊆ V∖ { r }) Theorem Packing b -branchings in strongly polynomial time : ① Existence ② Find a packing ③ Find a minimum-cost packing ① Min-cut algorithm ② Min-cut algorithm k ∙ b ( V )∙| A | (≤ | A | 2 ) times ③ Submodular-flow algorithm
Integer Decomposition Property 15 Theorem [Recap] k disjoint b -branchings with indeg( u )= b ( u ) ( u ∈ V ∖{ r }) ⇔ ➢ |δ( u )| ≥ k ∙ b ( u ) ( u ∈ V ∖{ r }) ➢ |δ( X )| ≥ k (∅ ≠ X ⊆ V∖ { r }) Theorem The b -branching polytope: ➢ x ( δ u ) ≤ b ( u ) ( v ∈ V ) ➢ x ( A [ X ]) ≤ b ( X ) – 1 (∅≠ X ⊆ V ) ➢ 0 ≤ x ( a ) ≤ 1 ( a ∈ A ) has the integer decomposition property 2 P x Integer decomposition property of a polytope P ∀ k ∊ Z ++ , ∀ x ∊ kP ∩ Z A , x = x 1 +…+ x k ( x 1 ,..., x k ∊ P ∩ Z A ) x 1 x 2
Further Generalizations 16 ⚫ Packing b -branchings with different indegrees b ( u ) ≡2 b 1 , b 2 ,..., b k ∈ Z V (with b i ≤ b ) b 1 ( u ), b 2 ( u ) X Theorem 2,0 2,2 Disjoint b -branchings B 1 , B 2 ,..., B k 0,1 1,2 with indeg Bi ( u )= b i ( u ) ( u ∈ V, i =1,2,..., k ) ⇔ ➢ |δ( v )| ≥ σ 𝑗=1 ( v ∈ V ) 𝑙 𝑐 𝑗 (𝑤) 2,1 2,1 ➢ |δ( X )| ≥ |{ i ∈[ k ] : b i ( X )= b ( X )≠0}| (∅≠ X ⊆ V ) ➔ |δ( X )| ≥ 1 ⚫ Matroid-restricted b -branching Each u ∈ V associated with a matroid M u =( δ ( u ), I u ) 3 2 Definition ⚫ B ⊆ A is a matroid-restricted b -branching ⇔ 1 1 (i) B ∩δ ( u ) ∈ I u ( u ∈ V ) (ii) | B [ X ]| ≤ b ( X ) – 1 (∅≠ X ⊆ V ) 2 2 u ➢ Greedy-type algorithm can be extended
Contents 17 ⚫ Introduction: Branching ◼ Partition matroid ∩ Graphic matroid ➢ Algorithm ➢ Theorem for packing disjoint branchings 3 2 ⚫ Our result: b -branching 2 1 ◼ Partition matroid ∩ Sparsity matroid ➢ Algorithm 2 2 ➢ Theorem for packing disjoint b -branchings
Summary & Future Work 18 Summary ⚫ b -branchings in digraphs ➢ indeg( u ) ≤ b ( u ) ✓ Matching ➔ b -matching ✓ Branching ➔ b -branching 3 2 ➢ Other matroid = Sparsity matroid 1 2 ➢ Heritage from branchings: ✓ Greedy-type algorithm 2 2 ✓ Packing theorem ✓ Integer decomposition property Future work ⚫ Other class of matroid intersection admitting greedy-type algorithm ? ⚫ Extending other results on branchings ?
END of Slides 19
Recommend
More recommend