Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sándor Kisfaludi-Bak Jesper Nederlof Erik Jan van Leeuwen

Similar presentations


Presentation on theme: "Sándor Kisfaludi-Bak Jesper Nederlof Erik Jan van Leeuwen"— Presentation transcript:

1 Nearly ETH-tight algorithms for Planar Steiner Tree with Terminals on Few Faces
Sándor Kisfaludi-Bak Jesper Nederlof Erik Jan van Leeuwen TU Eindhoven TU Eindhoven Utrecht University

2 Steiner Tree (ST) Given : 𝑛-vertex graph 𝐺 and 𝑇⊆𝑉(𝐺) (called terminals), Find : smallest (-weight) tree in 𝐺 that contains 𝑇 Well-studied in Parameterized Complexity (PC): [DW’71, L’71] : 𝑂 ∗ (3 |𝑇| ) time ( 𝑂 ∗ omits factors poly in input) [BHKK’07] : 𝑂 ∗ ( 2 |𝑇| 𝑊) time (W denotes max input weight) [FKMSPW’07]: 𝑂 ∗ ( 2+𝜀 |𝑇| ) time (for any 𝜖>0) [N’13] : 𝑂 ∗ ( 2 |𝑇| 𝑊) W time and poly space [FKLPS’15] : 𝑂 ∗ ( 7.97 |𝑇| ) W time and poly space

3 Steiner Tree (ST) Use Dynamic Programming (DP) based on following observation: If 𝑆 is an optimal ST for T and 𝑣𝑤∈𝑆, then S∖ 𝑣,𝑤 = 𝑆 1 ∪ 𝑆 2 where 𝑆 1 is an optimal ST for 𝑇 1 ∪𝑣, and 𝑆 2 is an optimal ST for 𝑇 2 ∪𝑤, For some partition 𝑇 1 , 𝑇 2 of 𝑇. Dynamic Programming (DP): Only 2 |𝑇| 𝑛 subproblems 𝑂 ∗ (3 |𝑇| ) time, 2 |𝑇| space Recursion: Guess {𝑣,𝑤} and 𝑇 1 , 𝑇 2 s.t | 𝑇 1 |≈ 𝑇 2 , recurse 𝑛 log |𝑇| 2 𝑂( 𝑇 ) time, polynomial space 𝑣 𝑤 𝑇 2 𝑇 1

4 Planar Steiner Tree (PST)
Well-studied in e.g. approximation algorithms In PC, planarity often allows for sub-exponential time algorithms: find simple paths on 𝑘 vertices: 𝑂 ∗ (2 𝑂( 𝑘 ) ) [DPBF’06] find shortest tour visiting 𝑘 given vertices: 𝑂 ∗ ( 2 𝑂( 𝑘 log 𝑘 ) ) [MPP’18] Steiner tree: 𝑂 ∗ ( 2 |𝑆| log |𝑆| ) [PPSvL’13] Natural question: PST in 2 𝑜(|𝑇|) time? [MPP’18]: Not in 2 𝑜(|𝑇|) time assuming ETH [MPP’18]: 𝑛 𝑂( |𝑇| ) W time

5 Planar Steiner Tree with Terminals on Few Faces
Assume terminals are on only 𝑘 faces (called terminals faces) [EMV’87]: In 𝑛 𝑂(𝑘) time Even for 𝑘=1 interesting: Used as subroutine in Approximation algo’s [P’88,BKM’07] Kernelization algo’s [PPSvL’14] [B’90] improved constant in 𝑂() to 2 Natural question: Can we improve? Maybe to 𝑂 ∗ (𝑓(𝑘)) time? Our results: An 2 𝑂(𝑘) 𝑛 𝑂( 𝑘 ) time, polynomial space algorithm An 𝑓(𝑘) 𝑛 𝑜( 𝑘 ) time lower bound, assuming ETH

6 Steiner Tree (ST) with terminals on outer face
Use Dynamic Programming (DP) based on following observation: If 𝑆 is an optimal ST for T and 𝑣𝑤∈𝑆, then S∖ 𝑣,𝑤 = 𝑆 1 ∪ 𝑆 2 where 𝑆 1 is an optimal ST for 𝑇 1 ∪𝑣, and 𝑆 2 is an optimal ST for 𝑇 2 ∪𝑤, For some partition 𝑇 1 , 𝑇 2 of 𝑇 in intervals 𝑇 1 𝑣 𝑤 𝑇 2 If 𝑇 1 , 𝑇 2 are not intervals, 𝑆 1 and 𝑆 2 cross -> 𝑆 not min weight

7 Steiner Tree (ST) with terminals on outer face
Use Dynamic Programming (DP) based on following observation: If 𝑆 is an optimal ST for T and 𝑣𝑤∈𝑆, then S∖ 𝑣,𝑤 = 𝑆 1 ∪ 𝑆 2 where 𝑆 1 is an optimal ST for 𝑇 1 ∪𝑣, and 𝑆 2 is an optimal ST for 𝑇 2 ∪𝑤, For some partition 𝑇 1 , 𝑇 2 of 𝑇 in intervals X 𝑇 1 𝑣 𝑤 𝑇 2 If 𝑇 1 , 𝑇 2 are not intervals, 𝑆 1 and 𝑆 2 cross -> 𝑆 not min weight At most 𝑛 3 subproblems for DP [EMV’87]: for 𝑘 faces, use subproblems for each 𝑘-tuple of intervals DP gives 𝑛 𝑂(𝑘) time, 𝑛 𝑂(𝑘) space algorithm

8 Planar Steiner Tree with Terminals on Few Faces
Set of edges of all terminals faces Planar Steiner Tree with Terminals on Few Faces Our Idea: Guess a separator 𝑋 in the graph 𝐻=𝑆∪𝐹

9 Planar Steiner Tree with Terminals on Few Faces
Set of edges of all terminals faces Planar Steiner Tree with Terminals on Few Faces Our Idea: Guess a separator 𝑋 in the graph 𝐻=𝑆∪𝐹 Splits solution in two sub solutions 𝑆 1 and 𝑆 2 Separates terminal faces untouched by 𝑋

10 Planar Steiner Tree with Terminals on Few Faces
Set of edges of all terminals faces Planar Steiner Tree with Terminals on Few Faces Our Idea: Guess a separator 𝑋 in the graph 𝐻=𝑆∪𝐹 Splits solution in two sub solutions 𝑆 1 and 𝑆 2 Separates terminal faces untouched by 𝑋 Obs: 𝑡𝑤 𝐻 =𝑂( 𝑘 ) (planar dual of 𝐻 has dom set of size 𝑘)  𝐻 has separator 𝑋 of size 𝑂( 𝑘 ), such that 𝑆 1 and 𝑆 2 avoid ≥𝑘/3 terminals faces each Algorithm: Guess The separator 𝑋 ( 𝑛 |𝑋| ) Which terminal faces untouched by 𝑋 appear in 𝑆 1 and 𝑆 2 ( 2 𝑘 ) Which of the terminal faces segment cut by 𝑋 are in 𝑆 1 and in 𝑆 2 ( 2 |𝑋| ) Who of 𝑋 is connected to whom via 𝑆 1 and 𝑆 ( 𝑋 |𝑋| ) And search for 𝑆 1 and 𝑆 2 recursively. Runtime: 𝑇 𝑘 ≤ 2 𝑘 𝑛 𝑂 𝑘 𝑇(2𝑘/3) = 2 𝑂(𝑘) 𝑛 𝑂 𝑘

11 Lower Bound We show no 𝑓(𝑘) 𝑛 𝑜( 𝑘 ) time algorithm exists, assuming ETH Builds heavily on 2 𝑂(|𝑇|) lower bound from [MPP’18] Roughly same template. Major differences: Reduces from Grid Tiling instead of CNF-SAT, Flower gadget that communicates a lot of information with only one terminal face

12 Grid Tiling Given sets 𝑆 𝑎,𝑏 ⊆ 𝑛 ×[𝑛] for 𝑎,𝑏∈[𝑘] Find 𝑥𝑎 𝑦 𝑎 for 𝑎∈[𝑘] such that: 𝑥𝑎, 𝑦𝑏 ∊ 𝑆 𝑎,𝑏 for all a,b Theorem [M’12]: Cannot solve Grid Tiling in 𝑓 𝑘 𝑛 𝑜(𝑘) time under ETH

13 The reduction ∨ Picture and basic construction idea by [MPP’18]
Gadget from [MPP’18] Picture and basic construction idea by [MPP’18]

14 Flower Gadget 𝑃 𝑇 There exists a planar graph 𝐺 𝑡 with two faces
𝑇 of 𝑡 terminals 𝑃 of 𝑡 portals Such that if 𝑆⊆𝐸(𝐺) connects every terminal to some portal, 𝑆 ≥10𝑡 and If 𝑆 uses one portal, 𝑆 >10𝑡 If 𝑆 uses two portals and 𝑆 =10𝑡, the two used portals are opposite Moreover, an 𝑆 with two portals of cost 10𝑡 exists 𝑃 𝑇

15 Flower Gadget 𝑃 𝑇 There exists a planar graph 𝐺 𝑡 with two faces
𝑇 of 𝑡 terminals 𝑃 of 𝑡 portals Such that if 𝑆⊆𝐸(𝐺) connects every terminal to some portal, 𝑆 ≥10𝑡 and If 𝑆 uses one portal, 𝑆 >10𝑡 If 𝑆 uses two portals and 𝑆 =10𝑡, the two used portals are opposite Moreover, an 𝑆 with two portals of cost 10𝑡 exists Proved using the displayed graph with carefully chosen weights on edges Can get rid of weights by replacing edges with paths 𝑃 𝑇

16 The reduction

17 The reduction Given grid tiling instance with k rows/columns, PST instance has 𝑂 𝑘 2 terminal faces Thus an 𝑓(𝑘)𝑛 𝑜( 𝑘 ) time algo violates ETH by [M’12].

18 Concluding Remarks Our results:
An 2 𝑂(𝑘) 𝑛 𝑂( 𝑘 ) time, polynomial space algorithm An 𝑓(𝑘) 𝑛 𝑜( 𝑘 ) time lower bound, assuming ETH Embedding with 𝑘 terminal faces can be found in 𝑐 𝑘 time if exists [BM’88] Open: Is an 𝑛 𝑂( 𝑘 ) time algorithm possible? Open: How fast can we solve the problem for constant 𝑘?


Download ppt "Sándor Kisfaludi-Bak Jesper Nederlof Erik Jan van Leeuwen"

Similar presentations


Ads by Google