• Nem Talált Eredményt

Solving Planar k-Terminal Cut in O(n

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Solving Planar k-Terminal Cut in O(n"

Copied!
27
0
0

Teljes szövegt

(1)

Solving Planar k -Terminal Cut in O(n

c

k

) time

Philip N. Klein1 Dániel Marx2

1Computer Science Department, Brown University

Providence, RI

2Computer and Automation Research Institute, Hungarian Academy of Sciences (MTA SZTAKI)

Budapest, Hungary

ICALP 2012 Warwick, UK July 13, 2012

(2)

A classical problem

s−t Cut

Input: A graph G, an integerp, verticess andt

Output: A setS of at mostp edges such that removingS sep- aratess andt.

Fact

A minimums−t cut can be found in polynomial time.

What about separating more than two terminals?

(3)

More than two terminals

Multiway Cut

Input: A graph G, an integerp, and a set T of terminals Output: A setS of at mostp edges such that removingS sep-

arates any two vertices ofT

Note: Also called Multiterminal Cut or k-Terminal Cut.

Theorem [Dalhaus et al. 1994]

NP-hard already for|T|=3.

(4)

Planar graphs

Theorem [Dalhaus et al. 1994] [Hartvigsen 1998] [Bentz 2012]

k-Terminal Cut can be solved in time nO(k) on planar graphs.

Main result

k-Terminal Cut can be solved in timeck·nO(

k)on planar graphs.

The improvement in the exponent is best possible:

Previous talk

Assuming ETH,k-Terminal Cut on planar graphs cannot be solved in timef(k)·no(

k) for any computable function f(k).

(5)

Dual graph

The previous algorithms (as well as ours) look at the solution in the dual graph

(6)

Dual graph

The previous algorithms (as well as ours) look at the solution in the dual graph

Recall:

Primal graph Dual graph vertices faces

faces vertices edges edges

(7)

Dual graph

The previous algorithms (as well as ours) look at the solution in the dual graph

Recall:

Primal graph Dual graph vertices faces

faces vertices edges edges

We slightly transform the problem in such a way that the terminals are represented byverticesin the dual graph (instead of faces).

(8)

Previous approaches

[Dalhaus et al. 1994] [Hartvigsen 1998] [Bentz 2012]

1 The dual solution has O(k) branch vertices.

2 Guess the location of branch vertices (nO(k) guesses).

3 Deep magic to find the paths connecting the branch vertices (shortest paths are not necessarily good!)

New idea:

Fact

A planar graph withk vertices has treewidth O(√ k).

The dual solution has treewidthO(√

k), so instead of guessing, let’s find the vertices in a dynamic programming on the tree decomposition.

Problem: How to implement the deep magic in a DP?

(9)

Previous approaches

[Dalhaus et al. 1994] [Hartvigsen 1998] [Bentz 2012]

1 The dual solution has O(k) branch vertices.

2 Guess the location of branch vertices (nO(k) guesses).

3 Deep magic to find the paths connecting the branch vertices (shortest paths are not necessarily good!)

New idea:

Fact

A planar graph withk vertices has treewidth O(√ k).

The dual solution has treewidthO(√

k), so instead of guessing, let’s find the vertices in a dynamic programming on the tree decomposition.

Problem: How to implement the deep magic in a DP?

(10)

2-connectivity

In general, the dual solution is not 2-connected.

2-connected problem

Find a 2-connected dual solution that separates a subsetX of terminals from each other and from every other terminal.

A simple DP reduces the original problem to the 2-connected problem.

(11)

2-connectivity

a(X): cost of separating the terminals in X from each other.

b(X): cost of separatingX from each other and from every other terminal with a solution that is 2-connected in the dual.

a(T) = min

∅6=X⊆T(b(X) +a(T \X))

(12)

2-connectivity

a(X): cost of separating the terminals in X from each other.

b(X): cost of separatingX from each other and from every other terminal with a solution that is 2-connected in the dual.

a(T) = min

∅6=X⊆T(b(X)+a(T \X))

(13)

The Steiner tree

We find a minimum cost Steiner treeT of the terminals in the dualand cut open the graph along the tree.

( Steiner tree: 3k ·nO(1) time by [Dreyfus-Wagner 1972] or 2k·nO(1) time by [Björklund 2007] )

(14)

The Steiner tree

We find a minimum cost Steiner treeT of the terminals in the dualand cut open the graph along the tree.

( Steiner tree: 3k ·nO(1) time by [Dreyfus-Wagner 1972] or 2k·nO(1) time by [Björklund 2007] )

(15)

The Steiner tree

We find a minimum cost Steiner treeT of the terminals in the dualand cut open the graph along the tree.

( Steiner tree: 3k ·nO(1) time by [Dreyfus-Wagner 1972] or 2k·nO(1) time by [Björklund 2007] )

(16)

The Steiner tree

We find a minimum cost Steiner treeT of the terminals in the dualand cut open the graph along the tree.

( Steiner tree: 3k ·nO(1) time by [Dreyfus-Wagner 1972] or 2k·nO(1) time by [Björklund 2007] )

(17)

The Steiner tree

We find a minimum cost Steiner treeT of the terminals in the dualand cut open the graph along the tree.

( Steiner tree: 3k ·nO(1) time by [Dreyfus-Wagner 1972] or 2k·nO(1) time by [Björklund 2007] )

(18)

The Steiner tree

We find a minimum cost Steiner treeT of the terminals in the dualand cut open the graph along the tree.

( Steiner tree: 3k ·nO(1) time by [Dreyfus-Wagner 1972] or 2k·nO(1) time by [Björklund 2007] )

Key idea: the paths of the dual solution between the branch points/crossing points can be assumed to be shortest paths.

(19)

Topology

Key idea: the paths of the dual solution between the branch points/crossing points can be assumed to be shortest paths.

1

2

3 4 5

Thus a solution can be completely described by the location of these points and which of them are connected.

A “topology” just describes the connections without the locations.

(20)

A combinatorial lemma

Lemma

There is an optimum dual solutionS that hasO(k) branch vertices and “crosses the tree” O(k) times.

Proof uses

the minimality ofT, the minimality ofS,

the 2-connectivity ofS, Euler’s formula.

(21)

A proof idea

Why this cannot happen?

There are no red-blue-red-blue faces:

If x <y, then we can get a better solutionS. If x >y, then we can get a better Steiner tree T.

(22)

A proof idea

Why this cannot happen?

x y

There are no red-blue-red-blue faces:

If x <y, then we can get a better solutionS. If x >y, then we can get a better Steiner tree T.

(23)

A proof idea

Why this cannot happen?

x y

There are no red-blue-red-blue faces:

If x <y, then we can get a better solutionS. If x >y, then we can get a better Steiner tree T.

(24)

A proof idea

Why this cannot happen?

x y

There are no red-blue-red-blue faces:

If x <y, then we can get a better solutionS. If x >y, then we can get a better Steiner tree T.

(25)

Realizing a topology

Lemma

Given a topology of sizep, we can find a minimum cost realization in timenO(p).

p branch points/crossing points⇒ treewidth isO(√ p).

Fairly standard DP on the tree decomposition.

In each bag of the tree decomposition, we have to keep track of the location ofO(√

p) points ⇒ nO(p) possibilities.

We need that the crossing points and the terminals are in the right order, but that is easy.

1 2

3 4 5

(26)

Algorithm

For the 2-connected problem:

1 Find the Steiner tree T (2k ·nO(1) time).

2 Cut along T.

3 Guess a “topology” of size O(k) (ck guesses).

4 Find a minimum cost realization of the topology using DP on the tree decomposition (nO(

k) time).

For the general problem:

1 Solve2k instances of the 2-connected problem.

2 Solved the general problem for every subset using DP.

(27)

Conclusions

Ack ·nO(

k) time algorithm fork-terminal planar Multiway Cut.

Is there an nO(

k) time algorithm?

Eventually boils down to theO(√

n)treewidth bound on planar graphs, but not just a trivial application of bidimensionality.

It seems hard to prove lower bounds better than Ω(√ k) for planar problems. There should be O(√

k) algorithms forall these problems!

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

In this work, we present an algorithm solving the synchronous Filling problem in O((k + ∆)·n) time steps by n robots with a viewing range of 1 hop, where k is the number of doors, n

T.L. The bipartite graph K 3,3 is not 2- choosable. Let G be a planar graph and let C be the cycle that is the boundary of the exterior face. We can assume that the planar graph G

If there is a curve with bounded alternation to the boundary of the component, we can move the terminal to the boundary by introducing a bounded number of new bundles. If there is

We slightly transform the problem in such a way that the terminals are represented by vertices in the dual graph (instead of faces)...

In the deletion problem we cannot make this assumption: it is possible that the graph can be made chordal by deleting few vertices, even if there are large holes (for example, if

A geometric graph G is a graph drawn in the plane so that its vertices are represented by points in general position in the plane and its edges are represented by (possibly

The number of edges in the graph is given, determine the maximum number of distances k or paths of length k in the graph, either fixing the number of vertices or not.. Let the

They showed that the greedy algorithm, that is, picking vertices of X one by one, in such a way that we always pick one that is contained in the largest number of uncovered