On Applications of Weighted Linear Matroid Parity
Yusuke Kobayashi1, Yutaro Yamaguchi2 1. University of Tsukuba, Japan 2. Osaka University, Japan
JH 2017 @Budapest May 22, 2017 Applications of Linear Matroid Parity
• Maximum Forests in 3-Uniform Hypergraphs [Lovász 1980]
• Maximum Disjoint 풮-paths [Lovász 1980][Schrijver 2003] • Minimum Pinning-Down Points to Make Planar Structures Rigid [Lovász 1980] • Minimum Feedback Vertex Sets in (Sub)Cubic Graphs [Ueno–Kajitani–Gotoh 1988] • Maximum-Genus Embedding of Graphs [Furst–Gross–McGeoch 1988] etc. Analogy in Weighted Situations?
Some Problem Linear Matroid Parity
Unweighted Polytime Polytime via (Cardinality) [Lovász 1978] ver. Reduction
Weighted Polytime?? Polytime ??? ver. [Iwata–Kobayashi 2017] (Also Announced by [Pap 2013]) Outline • Preliminaries • Disjoint 풮-paths – Background – Extension Trick • Feedback Vertex Sets in (Sub)Cubic Graphs – Background – Extension Trick • Conclusion Outline • Preliminaries (What is Difficult?) • Disjoint 풮-paths – Background – Extension Trick • Feedback Vertex Sets in (Sub)Cubic Graphs – Background – Extension Trick • Conclusion Linear Matroid Parity Problem
Given 푍 ∈ 퐅푟×2푚: Matrix with Lines (Pairing of Columns)
Find Maximum Number of Linearly Independent Lines
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 Column 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 2 Full Rank 0 0 0 0 1 0 0 2 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 Weighted Linear Matroid Parity Problem
Given 푍 ∈ 퐅푟×2푚: Matrix with Lines (Pairing of Columns) 푤: 푚 → 퐑 Weight on Lines Find Parity Base of Minimum Weight
Line Subset consistng of a Basis ⟺ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 Non- 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 singular 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 2 0 0 0 0 1 0 0 2 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 4 < 6 ퟐ ퟑ 1 −ퟏ ퟐ ퟑ ퟏ −1 Reduction Sketch (Unweighted Case)
Reduce Some Problem Linear Matroid Parity
Original Instance Construct Solve Solve
Column
Solution Full Rank Reconstruct Reduction Sketch (Unweighted Case)
Reduce Some Problem Linear Matroid Parity
Original Instance Construct What We Optimal ⟸ Max. Cardinality Need Column
Solution Full Rank Reconstruct General Difficulty
• Solution Correspondence may NOT be One-to-One • Weights of Solutions may NOT be Preserved
Original L.M.P. Problem Opt. Max. Card. General Difficulty
• Solution Correspondence may NOT be One-to-One • Weights of Solutions may NOT be Preserved
Opt. Weight Original L.M.P. Problem Opt. Weight
푤Org ≠ 푤LMP Outline • Preliminaries • Disjoint 풮-paths – Background – Extension Trick • Feedback Vertex Sets in (Sub)Cubic Graphs – Background – Extension Trick • Conclusion Overview on Cardinality Maximization P
Disjoint 풮-paths Solved via L.M.P. [Lovász 1978, 1980] [Schrijver 2003]
푡 푠 Disjoint Non-bipartite 푠–푡 Paths Matching
Bipartite Matching Overview on Cost Minimization
Disjoint 풮-paths Open for a long time
P 푡 푠 Disjoint Non-bipartite 푠–푡 Paths Matching Min-Cost Flow Weighted Matching (Integral) Assignment Problem Bipartite Matching Overview on Cost Minimization P Solved via Disjoint 풮-paths Weighted L.M.P.
푡 푠 Disjoint Non-bipartite 푠–푡 Paths Matching Min-Cost Flow Weighted Matching (Integral) Assignment Problem Bipartite Matching 퐴-paths and 풮-paths
퐺 = 푉, 퐸 : Undirected Graph 퐴 ⊆ 푉: Terminal Set
퐴-paths ∈ 퐴 NOT 퐴-paths ∉ 퐴 퐴-paths and 풮-paths
퐺 = 푉, 퐸 : Undirected Graph 퐴 ⊆ 푉: Terminal Set
풮 = 퐴1, 퐴2, … , 퐴푘 : Partition of 퐴
풮-paths ∈ 퐴 NOT 풮-path ∉ 퐴 퐴2 퐴2
퐴1 퐴1
퐴3 퐴3 Disjoint 풮-paths Problem
Given 퐺 = 푉, 퐸 : Undirected Graph 퐴 ⊆ 푉: Terminal Set, 풮: Partition of 퐴
Find Maximum Number of Vertex-Disjoint 풮-paths including Terminals Shortest Disjoint 풮-paths Problem
Given 퐺 = 푉, 퐸 : Undirected Graph 퐴 ⊆ 푉: Terminal Set, 풮: Partition of 퐴
ℓ: 퐸 → 퐑≥0 Edge Length, 푘 ∈ 퐙>0 Find Totally Shortest 푘 Vertex-Disjoint 풮-paths
Ex. ℓ ≡ ퟏ 푘 = 2
2 + 2 = 4 < 5 = 2 + 3 Disjoint 풮-paths → Linear Matroid Parity [Lovász 1980][Schrijver 2003] Reduce Disjoint 풮-paths Linear Matroid Parity
Construct Solve Solve
Column
Full Rank Reconstruct Disjoint 풮-paths → Linear Matroid Parity [Lovász 1980][Schrijver 2003] Thm. ∀ 퐺 = 푉, 퐸 , 퐴, 풮 , ∃ L.M.P. Instance s.t. • The Line set is the Edge set 퐸 • 퐹 ⊆ 퐸 is Feasible if and only if – the Subgraph 퐺 퐹 is a Forest, and – each tree has at most one 퐴-path, which is an 풮-path
Column
⟺ Full Rank Disjoint 풮-paths → Linear Matroid Parity [Lovász 1980][Schrijver 2003] Thm. ∀ 퐺 = 푉, 퐸 , 퐴, 풮 , ∃ L.M.P. Instance s.t. • The Line set is the Edge set 퐸 • 퐹 ⊆ 퐸 is Feasible if and only if – the Subgraph 퐺 퐹 is a Forest, and – each tree has at most one 퐴-path, which is an 풮-path
Max. #(This Type) ⟸ Max. Card.
Column
⟺ Full Rank Disjoint 풮-paths → Linear Matroid Parity [Lovász 1980][Schrijver 2003] Thm. ∀ 퐺 = 푉, 퐸 , 퐴, 풮 , ∃ L.M.P. Instance s.t. • The Line set is the Edge set 퐸 • 퐹 ⊆ 퐸 is Feasible if and only if – the Subgraph 퐺 퐹 is a Forest, and – each tree has at most one 퐴-path, which is an 풮-path Total Length of 풮-paths & Dotted Edges = Weight
Column
⟺ Full Rank Outline • Preliminaries • Disjoint 풮-paths – Background – Extension Trick (Constructing Auxiliary Instance) • Feedback Vertex Sets in (Sub)Cubic Graphs – Background – Extension Trick • Conclusion Construction of Auxiliary Graph • 퐴 − 2푘 Extra Terminals to Rescue Unused Terminals (Because we want to Find 푘 Vertex-Disjoint 풮-paths) • An Extra 풮-path to Rescue Unused Non-terminals (ALL Extra Edges are of Length 0) 퐴 푉 ∖ 퐴 Construction of Auxiliary Graph • 퐴 − 2푘 Extra Terminals to Rescue Unused Terminals (Because we want to Find 푘 Vertex-Disjoint 풮-paths) • An Extra 풮-path to Rescue Unused Non-terminals (ALL Extra Edges are of Length 0) 퐴 푉 ∖ 퐴 Construction of Auxiliary Graph • 퐴 − 2푘 Extra Terminals to Rescue Unused Terminals (Because we want to Find 푘 Vertex-Disjoint 풮-paths) • An Extra 풮-path to Rescue Unused Non-terminals (ALL Extra Edges are of Length 0) 퐴 푉 ∖ 퐴 Construction of Auxiliary Graph • 퐴 − 2푘 Extra Terminals to Rescue Unused Terminals (Because we want to Find 푘 Vertex-Disjoint 풮-paths) • An Extra 풮-path to Rescue Unused Non-terminals (ALL Extra Edges are of Length 0) 퐴 푉 ∖ 퐴
Non- ⟸ singular
Min. Weight Construction of Auxiliary Graph • 퐴 − 2푘 Extra Terminals to Rescue Unused Terminals (Because we want to Find 푘 Vertex-Disjoint 풮-paths) • An Extra 풮-path to Rescue Unused Non-terminals (ALL Extra Edges are of Length 0) 퐴 푉 ∖ 퐴
Non- ⟸ singular
Min. Total Length = Min. Weight of 풮-paths Summary on Disjoint 풮-paths
Constructing Auxiliary Instance (by Adding Weight-0 Elements)
• Shortest Disjoint 풮-paths Problem is solved in Polytime via Weighted L.M.P. • This result can be extended to Packing Non-zero 퐴-paths in Group-Labeled Graphs under some Group Representability Condition [Y. 2016] Outline • Preliminaries • Disjoint 풮-paths – Background – Extension Trick • Feedback Vertex Sets in (Sub)Cubic Graphs – Background – Extension Trick • Conclusion Feedback Vertex Set Problem
Given 퐺 = 푉, 퐸 : Undirected Graph
Find Feedback Vertex Set of Minimum Cardinality 푋 ⊆ 푉 s.t. 퐺 − 푋 is a Forest Minimum-Weight F.V.S. Problem
Given 퐺 = 푉, 퐸 : Undirected Graph
푤: 푉 → 퐑≥0 Weight on Vertices Find Feedback Vertex Set of Minimum Weight
Ex. 푤 ≡ 푑퐺 (Degree of Vertices)
3 + 3 + 4 = 10 < 11 = 7 + 4 Minimum-Weight F.V.S. Problem
Given 퐺 = 푉, 퐸 : Undirected Graph, 푤: 푉 → 퐑≥0 Find Feedback Vertex Set of Minimum Weight
• NP-Hard even when 푤 ≡ ퟏ ‒ (Unweighted), and [Garey–Johnson 1977] ‒ 퐺 is Planar with 푑퐺 ≤ ퟒ
• Polytime via L.M.P. when 푤 ≡ ퟏ and 푑퐺 ≤ ퟑ (Subcubic) [Ueno–Kajitani–Gotoh 1988] • Polytime 2-Approximation in General [Bafna‒Berman‒Fujito 1999] F.V.S. in (Sub)Cubic Graphs → L.M.P. [Ueno–Kajitani–Gotoh 1988] 푑퐺 ≡ ퟑ Reduce F.V.S. in Cubic Graphs Linear Matroid Parity
Construct Solve Solve
Column
Full Rank Reconstruct F.V.S. in (Sub)Cubic Graphs → L.M.P. [Ueno–Kajitani–Gotoh 1988] Thm. ∀퐺 = 푉, 퐸 : Cubic, ∃ L.M.P. Instance s.t. • The Line set is the Vertex set 푉 • If 푌 ⊆ 푉 is Optimal, then – each 2-(edge)-conn. comp. of 퐺 − 푌 is a Cycle, – min 푋 ∣ 푋: F.V.S. in 퐺 = 푌 + # Cycles in 퐺 − 푌
Max. Card.
Column
⟸ Full Rank F.V.S. in (Sub)Cubic Graphs → L.M.P. [Ueno–Kajitani–Gotoh 1988] Thm. ∀퐺 = 푉, 퐸 : Cubic, ∃ L.M.P. Instance s.t. • The Line set is the Vertex set 푉 • If 푌 ⊆ 푉 is Optimal, then – each 2-(edge)-conn. comp. of 퐺 − 푌 is a Cycle, – min 푋 ∣ 푋: F.V.S. in 퐺 = 푌 + # Cycles in 퐺 − 푌
Min.-Card. F.V.S. Max. Card. Reconstruct Column
⟸ Full Rank Outline • Preliminaries • Disjoint 풮-paths – Background – Extension Trick • Feedback Vertex Sets in (Sub)Cubic Graphs – Background – Extension Trick (Using Alternative Formulations) • Conclusion Alternative Characterization [Ueno–Kajitani–Gotoh 1988] Thm. ∀퐺 = 푉, 퐸 : Cubic, ∃ L.M.P. Instance s.t. • The Line set is the Vertex set 푉 • If 푌 ⊆ 푉 is Optimal, then – each 2-(edge)-conn. comp. of 퐺 − 푌 is a Cycle, – min 푋 ∣ 푋: F.V.S. in 퐺 = 푌 + # Cycles in 퐺 − 푌
Max. Card.
Column
⟸ Full Rank Alternative Characterization [Ueno–Kajitani–Gotoh 1988] Obs. ∀퐺 = 푉, 퐸 : Cubic, ∃ L.M.P. Instance s.t. • The Line set is the Vertex set 푉 • 푋 ⊆ 푉 is a F.V.S. in 퐺 ⟺ 푋 is a Spanning Line Subset
Contains a Base (NOT necessarily Parity Base)
Row
⟺ Full Rank Alternative Characterization [Ueno–Kajitani–Gotoh 1988] Obs. ∀퐺 = 푉, 퐸 : Cubic, ∃ L.M.P. Instance s.t. • The Line set is the Vertex set 푉 • 푋 ⊆ 푉 is a F.V.S. in 퐺 ⟺ 푋 is a Spanning Line Subset
Contains a Base (NOT necessarily Parity Base) ⟺ 푉 − 푋 is Independent in the Dual Matroid
Row
⟺ Full Rank Alternative Characterization
Obs. ∀퐺 = 푉, 퐸 : Cubic, ∃ L.M.P. Instance s.t. • The Line set is the Vertex set 푉 • 푋 ⊆ 푉 is a F.V.S. in 퐺 ⟺ 푉 − 푋 is Feasible
Fact. Dual of 퐅-representable Matroid is 퐅-representable
Min.-Weight. F.V.S. ⟸ Max. Weight
Column
⟺ Full Rank Equivalent Formulations of Weighted L.M.P.
Given 푍 ∈ 퐅푟×2푚: Matrix with Lines (Pairing of Columns) 푤: 푚 → 퐑 Weight on Lines
Min.-Weight Negating Parity Base & Lifting up Duplicating by Suff. Large Const.
Max.-Weight Dual Matroids Min.-Weight Indep. Lines Spanning Lines Equivalent Formulations of Weighted L.M.P.
Given 푍 ∈ 퐅푟×2푚: Matrix with Lines (Pairing of Columns) 푤: 푚 → 퐑 Weight on Lines
Min.-Weight Negating Parity Base & Lifting up Duplicating
Max.-Weight Dual Matroids Min.-Weight Indep. Lines Spanning Lines Summary on F.V.S. in (Sub)Cubic Graphs
Using Alternative Formulations of Weighted Linear Matroid Parity
• Minimum-Weight F.V.S. Problem in Subcubic Graphs is solved in Polytime via Weighted L.M.P. • In fact, our reduction can be regarded as Finding Maximum Forests in 3-Uniform Hypergraphs, which reduces to L.M.P. in Unweighted case [Lovász 1980] Outline • Preliminaries • Disjoint 풮-paths – Background – Extension Trick • Feedback Vertex Sets in (Sub)Cubic Graphs – Background – Extension Trick • Conclusion Conclusion
• Weighted L.M.P. is Very Powerful to show Tractability
• Two General Strategies to Extend Applications of L.M.P. to Weighted Situations – Construct Auxiliary Instance (with Weight-0 Elements) – Use Alternative Formulations of Weighted L.M.P.
• Some Tricky or Other-type Applications?? – Like, e.g., Shortest Path & 푇-join → Weighted Matching? – Derive Min-Max Duality or Polyhedral Property? Appendix Duplicating of L.M.P. Instance
푧1 푧2 ퟎ ퟎ 푧1 ퟎ 푧2 ퟎ
푧1 푧2
ퟎ ퟎ 푧1 푧2 ퟎ 푧1 ퟎ 푧2 푤 푤 0 or 2푤 Original Duplicated Instance Feasible × 2 ⟸ Restriction of Parity Base Spanning × 2 ⟸ Parity Base