• Nem Talált Eredményt

Finding topological subgraphs is fixed-parameter tractable

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Finding topological subgraphs is fixed-parameter tractable"

Copied!
39
0
0

Teljes szövegt

(1)

Finding topological subgraphs is fixed-parameter tractable

Martin Grohe1 Ken-ichi Kawarabayashi2 Dániel Marx1 Paul Wollan3

1Humboldt-Universität zu Berlin, Germany

2National Institute of Informatics, Tokyo, Japan

3University of Rome,La Sapienza,Italy

43th ACM Symposium on Theory of Computing (STOC 2011) San Jose, CA

June 7, 2011

(2)

Topological subgraphs

Definition

Subdivision of a graph: replacing each edge by a path of length 1 or more.

Graph H is atopological subgraph of G (ortopological minor ofG, or H ≤T G) if a subdivision ofH is a subgraph of G.

vertices, removing edges, and dissolving degree two vertices.

(3)

Topological subgraphs

Definition

Subdivision of a graph: replacing each edge by a path of length 1 or more.

Graph H is atopological subgraph of G (ortopological minor ofG, or H ≤T G) if a subdivision ofH is a subgraph of G.

T

Equivalently, H ≤T G means thatH can be obtained from G by removing vertices, removing edges, and dissolving degree two vertices.

(4)

Topological subgraphs

Definition

Subdivision of a graph: replacing each edge by a path of length 1 or more.

Graph H is atopological subgraph of G (ortopological minor ofG, or H ≤T G) if a subdivision ofH is a subgraph of G.

T

vertices, removing edges, and dissolving degree two vertices.

(5)

Topological subgraphs

Definition

Subdivision of a graph: replacing each edge by a path of length 1 or more.

Graph H is atopological subgraph of G (ortopological minor ofG, or H ≤T G) if a subdivision ofH is a subgraph of G.

T

Equivalently, H ≤T G means thatH can be obtained from G by removing vertices, removing edges, and dissolving degree two vertices.

(6)

Theorem [Kuratowski 1930]

A graph G is planar if and only if K5 6≤T G andK3,3 6≤T G.

K5 K3,3

(7)

Algorithms

Theorem [Robertson and Seymour]

Given graphsH andG, it can be tested in timef(|V(H)|)· |V(G)|O(V(H)) ifH ≤T G (for some function f).

⇒ Polynomial-time algorithm for every fixedH.

Main result

Given graphsH andG, it can be tested in timef(|V(H)|)· |V(G)|3 if H ≤T G (for some functionf).

⇒ Cubic algorithm for every fixedH.

⇒ Topological subgraph testing is fixed-parameter tractable.

Answers an open question of [Downey and Fellows 1992].

(8)

Definition

Graph H is aminor G (H ≤G) ifH can be obtained from G by deleting edges, deleting vertices, and contracting edges.

deletinguv

v

u w

u v

contractinguv

Note: H ≤T G ⇒H ≤G, but the converse is not necessarily true.

(9)

Minors

Equivalent definition

Graph H is aminor of G if there is a mapping φ(the minor model) that maps each vertex of H to a connected subset ofG such that

φ(u) andφ(v) are disjoint ifu 6=v, and

ifuv ∈E(G), then there is an edge between φ(u)andφ(v).

3 4 5

6 7

1 2

4 6

7 7

3 2

5 7

5 5 4 1

7

6 6

(10)

Theorem [Robertson and Seymour]

Given graphsH andG, it can be tested in timef(|V(H)|)· |V(G)|3 if H ≤G (for some functionf).

In fact, they solve a more general rooted problem:

H has a special setR(H) of vertices (the roots),

for every v ∈R(H), a vertex ρ(v)∈V(G) is specified, and the modelφshould satisfy ρ(v)∈φ(v).

(11)

Algorithm for minor testing

Theorem [Robertson and Seymour]

Given graphsH andG, it can be tested in timef(|V(H)|)· |V(G)|3 if H ≤G (for some functionf).

In fact, they solve a more general rooted problem:

H has a special setR(H) of vertices (the roots),

for every v ∈R(H), a vertex ρ(v)∈V(G) is specified, and the modelφshould satisfy ρ(v)∈φ(v).

6≤

(12)

Special case of rooted minor testing: k-Disjoint Paths problem (connect (s1,t1),. . .,(sk,tk) with vertex-disjoint paths).

Corollary [Robertson and Seymour]

k-Disjoint Paths can be solved in timef(k)· |V(G)|3. By guessing the image of every vertex of H, we get:

Corollary [Robertson and Seymour]

Given graphsH andG, it can be tested in timef(k)· |V(G)|O(V(H)) if H is a topological subgraph of G.

(13)

Algorithm for minor testing

A vertex v ∈V(G) is irrelevantif its removal does not change ifH ≤G.

Ingredients of minor testing by [Robertson and Seymour]

1 Solve the problem on bounded-treewidth graphs.

2 If treewidth is large, either find anirrelevantvertex or the model of a large clique minor.

3 If we have a large clique minor, then either we are done (if the clique minor is “close” to the roots), or a vertex of the clique minor is irrelevant.

By iteratively removing irrelevant vertices, eventually we arrive to a graph of bounded treewidth.

(14)

A vertex v ∈V(G) is irrelevantif its removal does not change ifH ≤G.

Ingredients of minor testing by [Robertson and Seymour]

1 Solve the problem on bounded-treewidth graphs.

By now, standard (e.g., Courcelle’s Theorem).

2 If treewidth is large, either find anirrelevantvertex or the model of a large clique minor.

Really difficult part (even after the significant simplifications of [Kawarabayashi and Wollan STOC 2010]).

3 If we have a large clique minor, then either we are done (if the clique minor is “close” to the roots), or a vertex of the clique minor is irrelevant.

Idea is to use the clique model as a “crossbar switch.”

By iteratively removing irrelevant vertices, eventually we arrive to a graph of bounded treewidth.

(15)

Algorithm for topological subgraphs

1 Solve the problem on bounded-treewidth graphs.

No problem!

2 If treewidth is large, either find anirrelevantvertex or the model of a large clique minor.

Painful, but the techniques of Kawarabayashi-Wollan go though.

3 If we have a large clique minor, then either we are done (if the clique minor is “close” to the roots), or a vertex of the clique minor is irrelevant.

Approach completely fails: a large clique minor does not help in finding a topological subgraph if the degrees are not good.

Note: we solve a more general rooted version of topological subgraph testing.

(16)

New ideas:

Idea #1: Recursion and replacement on small separators.

Idea #2: Reduction to bounded-degree graphs

(high degree vertices + clique minor: topological clique).

Idea #3: Solution for the bounded-degree case (distant vertices do not interfere).

Additionally, we are using a tool of Robertson and Seymour:

Using a clique minor as a “crossbar switch.”

(17)

Idea #1: Recursion and replacement

Suppose we have found a “small” separator such that both sides are “large.”

We recursively “understand” the properties of one side, and replace it with a smaller “equivalent” graph.

A B

What does “equivalent” mean exactly?

(18)

Suppose we have found a “small” separator such that both sides are “large.”

We recursively “understand” the properties of one side, and replace it with a smaller “equivalent” graph.

A B

What does “equivalent” mean exactly?

(19)

Idea #1: Recursion and replacement

Suppose we have found a “small” separator such that both sides are “large.”

We recursively “understand” the properties of one side, and replace it with a smaller “equivalent” graph.

A0 B

What does “equivalent” mean exactly?

(20)

Suppose we have found a “small” separator such that both sides are “large.”

We recursively “understand” the properties of one side, and replace it with a smaller “equivalent” graph.

A0 B

What does “equivalent” mean exactly?

(21)

Idea #1: Recursion and replacement

We want that H is a topological subgraph after the replacement if and only if it was before the replacement:

G1 G2 G10 G2

Thus G10 should contain exactly the same partial graphs as G1, attached to the separator exactly the same way.

Note: we need rooted topological subgraphs to express this, therefore we solve the more general Rooted Topological Subgraph problem.

(22)

Idea #1: Recursion and replacement

We want that H is a topological subgraph after the replacement if and only if it was before the replacement:

G1 G2 G10 G2

1

the separator exactly the same way.

Note: we need rooted topological subgraphs to express this, therefore we solve the more general Rooted Topological Subgraph problem.

(23)

Idea #1: Recursion and replacement

We want that H is a topological subgraph after the replacement if and only if it was before the replacement:

G1 G2 G10 G2

Thus G10 should contain exactly the same partial graphs as G1, attached to the separator exactly the same way.

Note: we need rooted topological subgraphs to express this, therefore we solve the more general Rooted Topological Subgraph problem.

(24)

We want that H is a topological subgraph after the replacement if and only if it was before the replacement:

G1 G2 G10 G2

Thus G10 should contain exactly the same partial graphs as G1, attached to the separator exactly the same way.

Note: we need rooted topological subgraphs to express this, therefore we solve the more general Rooted Topological Subgraph problem.

(25)

Idea #2: Reduction to bounded degree

Suppose that there is a setS of |V(H)|vertices with huge degree.

Two possibilities:

(1) There are many disjoint paths from S to the clique minor

⇒ Using the clique minor as a crossbar, we can complete the paths into a topological subgraph.

(26)

Suppose that there is a setS of |V(H)|vertices with huge degree.

Two possibilities:

(1) There are many disjoint paths from S to the clique minor

⇒ Using the clique minor as a crossbar, we can complete the paths into a topological subgraph.

(27)

Idea #2: Reduction to bounded degree

Suppose that there is a setS of |V(H)|vertices with huge degree.

Two possibilities:

(1) There are many disjoint paths from S to the clique minor

⇒ Using the clique minor as a crossbar, we can complete the paths into a topological subgraph.

(28)

Suppose that there is a setS of |V(H)|vertices with huge degree.

Two possibilities:

(2) There is a small separator between S and the clique minor

⇒ Small separator with both sides large⇒ Recurse and replace.

(29)

Idea #2: Reduction to bounded degree

Suppose that there is a setS of |V(H)|vertices with huge degree.

Two possibilities:

(2) There is a small separator between S and the clique minor

⇒ Small separator with both sides large⇒ Recurse and replace.

(30)

Suppose we are looking for a 4-regular graph H as topological subgraph.

If there are only few vertices of degree ≥4

⇒ We can guess the images of the vertices and use the disjoint paths algorithm.

If there are many vertices if degree≥4, then we can select a setS of

|V(H)|vertices of degree ≥4 that are very very far from each other (because the graph has bounded degree).

(31)

Idea #3: The bounded-degree case

Two possibilities:

(1) There are many disjoint paths from S to the clique minor

⇒ Using the clique minor as a crossbar, we can complete the paths into a topological subgraph.

(32)

Two possibilities:

(1) There are many disjoint paths from S to the clique minor

⇒ Using the clique minor as a crossbar, we can complete the paths into a topological subgraph.

(33)

Idea #3: The bounded-degree case

Two possibilities:

(1) There are many disjoint paths from S to the clique minor

⇒ Using the clique minor as a crossbar, we can complete the paths into a topological subgraph.

(34)

Two possibilities:

(2) There is a small separator between S and the clique minor

⇒ Small separator with both sides large⇒ Recurse and replace.

(35)

Idea #3: The bounded-degree case

Two possibilities:

(2) There is a small separator between S and the clique minor

⇒ Small separator with both sides large⇒ Recurse and replace.

(36)

Immersion

A variant of topological subgraphs:

Definition

Immersion: The edges ofH correspond to edge-disjointpaths between the images of the vertices in G.

Given graphsH andG, it can be tested in timef(|V(H)|)· |V(G)|3 ifH has an immersion in G (for some functionf).

An elementary reduction from immersion to topological subgraph testing.

(37)

Immersion

A variant of topological subgraphs:

Definition

Immersion: The edges ofH correspond to edge-disjointpaths between the images of the vertices in G.

Theorem

Given graphsH andG, it can be tested in timef(|V(H)|)· |V(G)|3 ifH has an immersion in G (for some functionf).

An elementary reduction from immersion to topological subgraph testing.

(38)

A variant of topological subgraphs:

Definition

Immersion: The edges ofH correspond to edge-disjointpaths between the images of the vertices in G.

Theorem

Given graphsH andG, it can be tested in timef(|V(H)|)· |V(G)|3 ifH has an immersion in G (for some functionf).

An elementary reduction from immersion to topological subgraph testing.

(39)

Conclusions

Main result: topological subgraph testing is FPT.

Immersion testing follows as a corollary.

Main new part: what to do with a large clique minor?

Very roughly: large clique minor + vertices of the correct degree = topological subgraph.

Recursion, high-degree vertices.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

We consider the following natural “above guarantee” parameterization of the classical Longest Path problem: For given vertices s and t of a graph G, and an integer k, the

More precisely, we prove a structure theorem that decom- poses graphs excluding H as a topological subgraph into almost bounded-degree parts and into H ′ -minor free parts (for

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

Given an H -subdivision free graph and a set S of at most a H vertices, there is star decomposition where S is in the center bag and the torso of the center + (clique on S )

A k-clique-coloring of a graph G is an assignment of k colors to the vertices of G such that every maximal (i.e., not extendable) clique of G contains two vertices with

2 If treewidth is large, either find an irrelevant vertex or the model of a large clique minor.. 3 If we have a large clique minor, then either we are done (if the clique minor

In this paper we presented our tool called 4D Ariadne, which is a static debugger based on static analysis and data dependen- cies of Object Oriented programs written in

Fm calculating the node potentials of the model a topological formula can be given, so it is possible to use a purely topological method to determine the node