89
Finding subdivisions of spindles on digraphs Júlio Araújo 1 Victor A. Campos 2 Ana Karolinna Maia 2 Ignasi Sau 1,3 Ana Silva 1 Seminário ParGO, UFC Fortaleza, June 23, 2017 1 Departamento de Matemática, UFC, Fortaleza, Brazil. 2 Departamento de Computação, UFC, Fortaleza, Brazil. 3 CNRS, LIRMM, Université de Montpellier, Montpellier, France. 1/28

Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Finding subdivisions of spindles on digraphs

Júlio Araújo1 Victor A. Campos2 Ana Karolinna Maia2

Ignasi Sau1,3 Ana Silva1

Seminário ParGO, UFCFortaleza, June 23, 2017

1 Departamento de Matemática, UFC, Fortaleza, Brazil.2 Departamento de Computação, UFC, Fortaleza, Brazil.3 CNRS, LIRMM, Université de Montpellier, Montpellier, France.

1/28

Page 2: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Outline of the talk

1 Introduction

2 Our results

3 NP-hardness reduction

4 Polynomial-time algorithm

5 Sketch of the FPT algorithms

6 Conclusions

2/28

Page 3: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Next section is...

1 Introduction

2 Our results

3 NP-hardness reduction

4 Polynomial-time algorithm

5 Sketch of the FPT algorithms

6 Conclusions

3/28

Page 4: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Digraph subdivisions

In this talk we focus on directed graphs, or digraphs.

A subdivision of a digraph F is a digraph obtained from F by replacingeach arc (u, v) of F by a directed (u, v)-path.

F F1 F2

We are interested in the following problem:

Digraph SubdivisionInstance: Two digraphs G and F .Question: Does G contain a subdivision of F as a subdigraph?

4/28

Page 5: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Digraph subdivisions

In this talk we focus on directed graphs, or digraphs.

A subdivision of a digraph F is a digraph obtained from F by replacingeach arc (u, v) of F by a directed (u, v)-path.

F F1 F2

We are interested in the following problem:

Digraph SubdivisionInstance: Two digraphs G and F .Question: Does G contain a subdivision of F as a subdigraph?

4/28

Page 6: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Digraph subdivisions

In this talk we focus on directed graphs, or digraphs.

A subdivision of a digraph F is a digraph obtained from F by replacingeach arc (u, v) of F by a directed (u, v)-path.

F F1 F2

We are interested in the following problem:

Digraph SubdivisionInstance: Two digraphs G and F .Question: Does G contain a subdivision of F as a subdigraph?

4/28

Page 7: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Digraph subdivisions

In this talk we focus on directed graphs, or digraphs.

A subdivision of a digraph F is a digraph obtained from F by replacingeach arc (u, v) of F by a directed (u, v)-path.

F F1 F2

We are interested in the following problem:

Digraph SubdivisionInstance: Two digraphs G and F .Question: Does G contain a subdivision of F as a subdigraph?

4/28

Page 8: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Recent work on finding digraph subdivisions

This problem has been introduced by [Bang-Jensen, Havet, Maia. 2015]

Let F be a fixed digraph.

F -SubdivisionInstance: A digraph G .Question: Does G contain a subdivision of F as a subdigraph?

Conjecture (Bang-Jensen, Havet, Maia. 2015)For every fixed digraph F , F -Subdivision is either in P or NP-complete.

This conjecture is wide open, and only examples of both cases are known.

When |V (F )| = 4, there are only 5 open cases. [Havet, Maia, Mohar. 2017]

5/28

Page 9: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Recent work on finding digraph subdivisions

This problem has been introduced by [Bang-Jensen, Havet, Maia. 2015]

Let F be a fixed digraph.

F -SubdivisionInstance: A digraph G .Question: Does G contain a subdivision of F as a subdigraph?

Conjecture (Bang-Jensen, Havet, Maia. 2015)For every fixed digraph F , F -Subdivision is either in P or NP-complete.

This conjecture is wide open, and only examples of both cases are known.

When |V (F )| = 4, there are only 5 open cases. [Havet, Maia, Mohar. 2017]

5/28

Page 10: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Recent work on finding digraph subdivisions

This problem has been introduced by [Bang-Jensen, Havet, Maia. 2015]

Let F be a fixed digraph.

F -SubdivisionInstance: A digraph G .Question: Does G contain a subdivision of F as a subdigraph?

Conjecture (Bang-Jensen, Havet, Maia. 2015)For every fixed digraph F , F -Subdivision is either in P or NP-complete.

This conjecture is wide open, and only examples of both cases are known.

When |V (F )| = 4, there are only 5 open cases. [Havet, Maia, Mohar. 2017]

5/28

Page 11: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Recent work on finding digraph subdivisions

This problem has been introduced by [Bang-Jensen, Havet, Maia. 2015]

Let F be a fixed digraph.

F -SubdivisionInstance: A digraph G .Question: Does G contain a subdivision of F as a subdigraph?

Conjecture (Bang-Jensen, Havet, Maia. 2015)For every fixed digraph F , F -Subdivision is either in P or NP-complete.

This conjecture is wide open, and only examples of both cases are known.

When |V (F )| = 4, there are only 5 open cases. [Havet, Maia, Mohar. 2017]

5/28

Page 12: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

We focus on finding subdivisions of spindles

u v

For k positive integers `1, . . . , `k , a (`1, . . . , `k)-spindle is the digraphcontaining k paths P1, . . . ,Pk from a vertex u to a vertex v , such that|E (Pi)| = `i for 1 ≤ i ≤ k and V (Pi) ∩ V (Pj) = {u, v} for 1 ≤ i 6= j ≤ k.

If `i = ` for 1 ≤ i ≤ k, a (`1, . . . , `k)-spindle is also called a (k× `)-spindle.

G contains a subdivision of a (k, 1)-spindle ⇐⇒∃ u, v ∈ V (G) : the Maximum Flow from u to v is at least k.

G contains a subdivision of a (1, `)-spindle ⇐⇒the length of a Longest Path in G is at least `.

6/28

Page 13: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

We focus on finding subdivisions of spindles

u v

For k positive integers `1, . . . , `k , a (`1, . . . , `k)-spindle is the digraphcontaining k paths P1, . . . ,Pk from a vertex u to a vertex v , such that|E (Pi)| = `i for 1 ≤ i ≤ k and V (Pi) ∩ V (Pj) = {u, v} for 1 ≤ i 6= j ≤ k.

If `i = ` for 1 ≤ i ≤ k, a (`1, . . . , `k)-spindle is also called a (k× `)-spindle.

G contains a subdivision of a (k, 1)-spindle ⇐⇒∃ u, v ∈ V (G) : the Maximum Flow from u to v is at least k.

G contains a subdivision of a (1, `)-spindle ⇐⇒the length of a Longest Path in G is at least `.

6/28

Page 14: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

We focus on finding subdivisions of spindles

u v

For k positive integers `1, . . . , `k , a (`1, . . . , `k)-spindle is the digraphcontaining k paths P1, . . . ,Pk from a vertex u to a vertex v , such that|E (Pi)| = `i for 1 ≤ i ≤ k and V (Pi) ∩ V (Pj) = {u, v} for 1 ≤ i 6= j ≤ k.

If `i = ` for 1 ≤ i ≤ k, a (`1, . . . , `k)-spindle is also called a (k× `)-spindle.

G contains a subdivision of a (k, 1)-spindle ⇐⇒∃ u, v ∈ V (G) : the Maximum Flow from u to v is at least k.

G contains a subdivision of a (1, `)-spindle ⇐⇒the length of a Longest Path in G is at least `.

6/28

Page 15: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

We focus on finding subdivisions of spindles

u v

For k positive integers `1, . . . , `k , a (`1, . . . , `k)-spindle is the digraphcontaining k paths P1, . . . ,Pk from a vertex u to a vertex v , such that|E (Pi)| = `i for 1 ≤ i ≤ k and V (Pi) ∩ V (Pj) = {u, v} for 1 ≤ i 6= j ≤ k.

If `i = ` for 1 ≤ i ≤ k, a (`1, . . . , `k)-spindle is also called a (k× `)-spindle.

G contains a subdivision of a (k, 1)-spindle ⇐⇒

∃ u, v ∈ V (G) : the Maximum Flow from u to v is at least k.

G contains a subdivision of a (1, `)-spindle ⇐⇒the length of a Longest Path in G is at least `.

6/28

Page 16: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

We focus on finding subdivisions of spindles

u v

For k positive integers `1, . . . , `k , a (`1, . . . , `k)-spindle is the digraphcontaining k paths P1, . . . ,Pk from a vertex u to a vertex v , such that|E (Pi)| = `i for 1 ≤ i ≤ k and V (Pi) ∩ V (Pj) = {u, v} for 1 ≤ i 6= j ≤ k.

If `i = ` for 1 ≤ i ≤ k, a (`1, . . . , `k)-spindle is also called a (k× `)-spindle.

G contains a subdivision of a (k, 1)-spindle ⇐⇒∃ u, v ∈ V (G) : the Maximum Flow from u to v is at least k.

G contains a subdivision of a (1, `)-spindle ⇐⇒the length of a Longest Path in G is at least `.

6/28

Page 17: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

We focus on finding subdivisions of spindles

u v

For k positive integers `1, . . . , `k , a (`1, . . . , `k)-spindle is the digraphcontaining k paths P1, . . . ,Pk from a vertex u to a vertex v , such that|E (Pi)| = `i for 1 ≤ i ≤ k and V (Pi) ∩ V (Pj) = {u, v} for 1 ≤ i 6= j ≤ k.

If `i = ` for 1 ≤ i ≤ k, a (`1, . . . , `k)-spindle is also called a (k× `)-spindle.

G contains a subdivision of a (k, 1)-spindle ⇐⇒∃ u, v ∈ V (G) : the Maximum Flow from u to v is at least k.

G contains a subdivision of a (1, `)-spindle ⇐⇒

the length of a Longest Path in G is at least `.

6/28

Page 18: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

We focus on finding subdivisions of spindles

u v

For k positive integers `1, . . . , `k , a (`1, . . . , `k)-spindle is the digraphcontaining k paths P1, . . . ,Pk from a vertex u to a vertex v , such that|E (Pi)| = `i for 1 ≤ i ≤ k and V (Pi) ∩ V (Pj) = {u, v} for 1 ≤ i 6= j ≤ k.

If `i = ` for 1 ≤ i ≤ k, a (`1, . . . , `k)-spindle is also called a (k× `)-spindle.

G contains a subdivision of a (k, 1)-spindle ⇐⇒∃ u, v ∈ V (G) : the Maximum Flow from u to v is at least k.

G contains a subdivision of a (1, `)-spindle ⇐⇒the length of a Longest Path in G is at least `.

6/28

Page 19: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

What is known about subdivisions of spindles

If the spindle is fixed, the problem is in P: [Bang-Jensen, Havet, Maia. 2015]

u v

We can guess all choices for the first `i vertices of each path.Then, compute a flow from those endpoints to some vertex v .

The running time of this algorithm is nO(|V (F )|) , where n = |V (G)|.

Is a running time f (|V (F )|) · nO(1) possible, for some function f ?

This question had been asked by [Bang-Jensen, Havet, Maia. 2015]

7/28

Page 20: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

What is known about subdivisions of spindles

If the spindle is fixed, the problem is in P: [Bang-Jensen, Havet, Maia. 2015]

u v

We can guess all choices for the first `i vertices of each path.

Then, compute a flow from those endpoints to some vertex v .

The running time of this algorithm is nO(|V (F )|) , where n = |V (G)|.

Is a running time f (|V (F )|) · nO(1) possible, for some function f ?

This question had been asked by [Bang-Jensen, Havet, Maia. 2015]

7/28

Page 21: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

What is known about subdivisions of spindles

If the spindle is fixed, the problem is in P: [Bang-Jensen, Havet, Maia. 2015]

u v

We can guess all choices for the first `i vertices of each path.Then, compute a flow from those endpoints to some vertex v .

The running time of this algorithm is nO(|V (F )|) , where n = |V (G)|.

Is a running time f (|V (F )|) · nO(1) possible, for some function f ?

This question had been asked by [Bang-Jensen, Havet, Maia. 2015]

7/28

Page 22: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

What is known about subdivisions of spindles

If the spindle is fixed, the problem is in P: [Bang-Jensen, Havet, Maia. 2015]

u v

We can guess all choices for the first `i vertices of each path.Then, compute a flow from those endpoints to some vertex v .

The running time of this algorithm is nO(|V (F )|) , where n = |V (G)|.

Is a running time f (|V (F )|) · nO(1) possible, for some function f ?

This question had been asked by [Bang-Jensen, Havet, Maia. 2015]

7/28

Page 23: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

What is known about subdivisions of spindles

If the spindle is fixed, the problem is in P: [Bang-Jensen, Havet, Maia. 2015]

u v

We can guess all choices for the first `i vertices of each path.Then, compute a flow from those endpoints to some vertex v .

The running time of this algorithm is nO(|V (F )|) , where n = |V (G)|.

Is a running time f (|V (F )|) · nO(1) possible, for some function f ?

This question had been asked by [Bang-Jensen, Havet, Maia. 2015]

7/28

Page 24: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Parameterized complexity in one slide

The area of parameterized complexity was introduced in the 90’s byDowney and Fellows.

Idea given an NP-hard problem with input size n, fix one parameterk of the input to see whether the problem gets more “tractable”.

Example: k = length of a Longest Path.

Given a (NP-hard) problem with input of size n and a parameter k, afixed-parameter tractable (FPT) algorithm runs in time

f (k) · nO(1), for some function f .

Examples: k-Vertex Cover, k-Longest Path.

8/28

Page 25: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Next section is...

1 Introduction

2 Our results

3 NP-hardness reduction

4 Polynomial-time algorithm

5 Sketch of the FPT algorithms

6 Conclusions

9/28

Page 26: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Our results (I): optimization problemsMax (k × •)-Spindle SubdivisionFor a fixed k ≥ 1, given an input digraph G , find the largest `such that G contains a subdivision of a (k × `)-spindle.

Theorem

Let k ≥ 1 be fixed. Max (k × •)-Spindle Subdivision is NP-hard.

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3,and NP-hard if ` ≥ 4, even restricted to acyclic digraphs (DAGs).

10/28

Page 27: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Our results (I): optimization problemsMax (k × •)-Spindle SubdivisionFor a fixed k ≥ 1, given an input digraph G , find the largest `such that G contains a subdivision of a (k × `)-spindle.

Theorem

Let k ≥ 1 be fixed. Max (k × •)-Spindle Subdivision is NP-hard.

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3,and NP-hard if ` ≥ 4, even restricted to acyclic digraphs (DAGs).

10/28

Page 28: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Our results (I): optimization problemsMax (k × •)-Spindle SubdivisionFor a fixed k ≥ 1, given an input digraph G , find the largest `such that G contains a subdivision of a (k × `)-spindle.

Theorem

Let k ≥ 1 be fixed. Max (k × •)-Spindle Subdivision is NP-hard.

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3,and NP-hard if ` ≥ 4, even restricted to acyclic digraphs (DAGs).

10/28

Page 29: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Our results (I): optimization problemsMax (k × •)-Spindle SubdivisionFor a fixed k ≥ 1, given an input digraph G , find the largest `such that G contains a subdivision of a (k × `)-spindle.

Theorem

Let k ≥ 1 be fixed. Max (k × •)-Spindle Subdivision is NP-hard.

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3,and NP-hard if ` ≥ 4, even restricted to acyclic digraphs (DAGs).

10/28

Page 30: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Our results (II): FPT algorithms for finding 2-spindles2-spindle: spindle with exactly two paths. [Benhocine, Wojda. 1983]

[Cohen, Havet, Lochet, Nisse. 2016][Kim, Kim, Ma, Park. 2016]u v

P1

P2`2

`1

Theorem

Given a digraph G and ` ≥ 1, deciding whether there exist `1, `2 ≥ 1 with`1 + `2 = ` such that G contains a subdivision of a (`1, `2)-spindle isNP-hard and FPT parameterized by `, with running time 2O(`) · nO(1).

Theorem

Given a digraph G and `1, `2 with `2 ≥ `1 ≥ 1, deciding whether Gcontains a subdivision of a (`1, `2)-spindle can be solved in time2O(`2) · nO(`1). When `1 is a constant, the problem remains NP-hard.

Both FPT algorithms are asymptotically optimal under the ETH.

11/28

Page 31: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Our results (II): FPT algorithms for finding 2-spindles2-spindle: spindle with exactly two paths. [Benhocine, Wojda. 1983]

[Cohen, Havet, Lochet, Nisse. 2016][Kim, Kim, Ma, Park. 2016]u v

P1

P2`2

`1

Theorem

Given a digraph G and ` ≥ 1, deciding whether there exist `1, `2 ≥ 1 with`1 + `2 = ` such that G contains a subdivision of a (`1, `2)-spindle isNP-hard and FPT parameterized by `, with running time 2O(`) · nO(1).

Theorem

Given a digraph G and `1, `2 with `2 ≥ `1 ≥ 1, deciding whether Gcontains a subdivision of a (`1, `2)-spindle can be solved in time2O(`2) · nO(`1). When `1 is a constant, the problem remains NP-hard.

Both FPT algorithms are asymptotically optimal under the ETH.

11/28

Page 32: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Our results (II): FPT algorithms for finding 2-spindles2-spindle: spindle with exactly two paths. [Benhocine, Wojda. 1983]

[Cohen, Havet, Lochet, Nisse. 2016][Kim, Kim, Ma, Park. 2016]u v

P1

P2`2

`1

Theorem

Given a digraph G and ` ≥ 1, deciding whether there exist `1, `2 ≥ 1 with`1 + `2 = ` such that G contains a subdivision of a (`1, `2)-spindle isNP-hard and FPT parameterized by `, with running time 2O(`) · nO(1).

Theorem

Given a digraph G and `1, `2 with `2 ≥ `1 ≥ 1, deciding whether Gcontains a subdivision of a (`1, `2)-spindle can be solved in time2O(`2) · nO(`1). When `1 is a constant, the problem remains NP-hard.

Both FPT algorithms are asymptotically optimal under the ETH.

11/28

Page 33: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Our results (II): FPT algorithms for finding 2-spindles2-spindle: spindle with exactly two paths. [Benhocine, Wojda. 1983]

[Cohen, Havet, Lochet, Nisse. 2016][Kim, Kim, Ma, Park. 2016]u v

P1

P2`2

`1

Theorem

Given a digraph G and ` ≥ 1 , deciding whether there exist `1, `2 ≥ 1with `1 + `2 = ` such that G contains a subdivision of a (`1, `2)-spindle isNP-hard and FPT parameterized by `, with running time 2O(`) · nO(1).

Theorem

Given a digraph G and `1, `2 with `2 ≥ `1 ≥ 1, deciding whether Gcontains a subdivision of a (`1, `2)-spindle can be solved in time2O(`2) · nO(`1). When `1 is a constant, the problem remains NP-hard.

Both FPT algorithms are asymptotically optimal under the ETH.

11/28

Page 34: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Our results (II): FPT algorithms for finding 2-spindles2-spindle: spindle with exactly two paths. [Benhocine, Wojda. 1983]

[Cohen, Havet, Lochet, Nisse. 2016][Kim, Kim, Ma, Park. 2016]u v

P1

P2`2

`1

Theorem

Given a digraph G and ` ≥ 1 , deciding whether there exist `1, `2 ≥ 1with `1 + `2 = ` such that G contains a subdivision of a (`1, `2)-spindle isNP-hard and FPT parameterized by `, with running time 2O(`) · nO(1).

Theorem

Given a digraph G and `1, `2 with `2 ≥ `1 ≥ 1, deciding whether Gcontains a subdivision of a (`1, `2)-spindle can be solved in time2O(`2) · nO(`1). When `1 is a constant, the problem remains NP-hard.

Both FPT algorithms are asymptotically optimal under the ETH. 11/28

Page 35: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Our results (II): FPT algorithms for finding 2-spindles2-spindle: spindle with exactly two paths. [Benhocine, Wojda. 1983]

[Cohen, Havet, Lochet, Nisse. 2016][Kim, Kim, Ma, Park. 2016]u v

P1

P2`2

`1

Theorem

Given a digraph G and ` ≥ 1 , deciding whether there exist `1, `2 ≥ 1with `1 + `2 = ` such that G contains a subdivision of a (`1, `2)-spindle isNP-hard and FPT parameterized by `, with running time 2O(`) · nO(1).

Theorem

Given a digraph G and `1, `2 with `2 ≥ `1 ≥ 1, deciding whether Gcontains a subdivision of a (`1, `2)-spindle can be solved in time2O(`2) · nO(`1). When `1 is a constant, the problem remains NP-hard.

ETH: @ algorithm solving 3-SAT on a formula with n variables in time 2o(n). 11/28

Page 36: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Next section is...

1 Introduction

2 Our results

3 NP-hardness reduction

4 Polynomial-time algorithm

5 Sketch of the FPT algorithms

6 Conclusions

12/28

Page 37: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

NP-hardness reduction

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3,and NP-hard if ` ≥ 4 , even restricted to DAGs.

We prove the case ` = 4, by reduction from 3-Dimensional Matching:

Given three sets A,B,C of the same size and a set of triplesT ⊆ A× B × C , decide whether there exists a set T ′ ⊆ Tof pairwise disjoint triples with |T ′| = |A|.

Our reduction is strongly inspired by [Brewster, Hell, Pantel, Rizzi, Yeo. 2003]

13/28

Page 38: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

NP-hardness reduction

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3,and NP-hard if ` ≥ 4 , even restricted to DAGs.

We prove the case ` = 4, by reduction from 3-Dimensional Matching:

Given three sets A,B,C of the same size and a set of triplesT ⊆ A× B × C , decide whether there exists a set T ′ ⊆ Tof pairwise disjoint triples with |T ′| = |A|.

Our reduction is strongly inspired by [Brewster, Hell, Pantel, Rizzi, Yeo. 2003]

13/28

Page 39: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

NP-hardness reduction

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3,and NP-hard if ` ≥ 4 , even restricted to DAGs.

We prove the case ` = 4, by reduction from 3-Dimensional Matching:

Given three sets A,B,C of the same size and a set of triplesT ⊆ A× B × C , decide whether there exists a set T ′ ⊆ Tof pairwise disjoint triples with |T ′| = |A|.

Our reduction is strongly inspired by [Brewster, Hell, Pantel, Rizzi, Yeo. 2003]

13/28

Page 40: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Reduction for ` = 4

Given (A,B,C , T ) of 3-Dimensional Matching, with |A| = n andT = m, we construct G of Max (•× `)-Spindle Subdivision as follows:

For i ∈ [n], we add to G three vertices ai , bi , ci (element of sets A,B,C).

For T ∈ T , with T = (ai , bj , cp), we add to G a copy of H and we identifyvertex a with ai , vertex b with bj , and vertex c with cp.

a

x1

x0

y0 y1 b

z0 z1 c

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

H

We add a new vertex s (source) and a vertex t (sink) that we connect toevery other vertex. They will be the endpoints of the desired spindle.

14/28

Page 41: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Reduction for ` = 4

For i ∈ [n], we add to G three vertices ai , bi , ci (element of sets A,B,C).

For T ∈ T , with T = (ai , bj , cp), we add to G a copy of H and we identifyvertex a with ai , vertex b with bj , and vertex c with cp.

a

x1

x0

y0 y1 b

z0 z1 c

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

H

We add a new vertex s (source) and a vertex t (sink) that we connect toevery other vertex. They will be the endpoints of the desired spindle.

14/28

Page 42: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Reduction for ` = 4

For i ∈ [n], we add to G three vertices ai , bi , ci (element of sets A,B,C).

For T ∈ T , with T = (ai , bj , cp), we add to G a copy of H and we identifyvertex a with ai , vertex b with bj , and vertex c with cp.

a

x1

x0

y0 y1 b

z0 z1 c

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

H

We add a new vertex s (source) and a vertex t (sink) that we connect toevery other vertex. They will be the endpoints of the desired spindle.

14/28

Page 43: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Reduction for ` = 4

For i ∈ [n], we add to G three vertices ai , bi , ci (element of sets A,B,C).

For T ∈ T , with T = (ai , bj , cp), we add to G a copy of H and we identifyvertex a with ai , vertex b with bj , and vertex c with cp.

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

H

We add a new vertex s (source) and a vertex t (sink) that we connect toevery other vertex. They will be the endpoints of the desired spindle.

14/28

Page 44: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Reduction for ` = 4

For i ∈ [n], we add to G three vertices ai , bi , ci (element of sets A,B,C).

For T ∈ T , with T = (ai , bj , cp), we add to G a copy of H and we identifyvertex a with ai , vertex b with bj , and vertex c with cp.

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

H

We add a new vertex s (source) and a vertex t (sink) that we connect toevery other vertex. They will be the endpoints of the desired spindle.

14/28

Page 45: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Reduction for ` = 4

For i ∈ [n], we add to G three vertices ai , bi , ci (element of sets A,B,C).

For T ∈ T , with T = (ai , bj , cp), we add to G a copy of H and we identifyvertex a with ai , vertex b with bj , and vertex c with cp.

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

H

Claim (A,B,C , T ) is a Yes-instance of 3-Dim. Matching ⇐⇒G contains a subdivision of a (n + 2m × 4)-spindle.

14/28

Page 46: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Reduction for ` = 4

For i ∈ [n], we add to G three vertices ai , bi , ci (element of sets A,B,C).

For T ∈ T , with T = (ai , bj , cp), we add to G a copy of H and we identifyvertex a with ai , vertex b with bj , and vertex c with cp.

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

H

By construction of G , a (n + 2m × 4)-spindle covers all V (G), so it isequivalent to partitioning G \ {s, t} into 2-paths (paths with 2 arcs).

14/28

Page 47: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Reduction for ` = 4

For i ∈ [n], we add to G three vertices ai , bi , ci (element of sets A,B,C).

For T ∈ T , with T = (ai , bj , cp), we add to G a copy of H and we identifyvertex a with ai , vertex b with bj , and vertex c with cp.

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

H

Key property: for every copy of H, there are exactly two ways the 2-pathscan intersect H. This defines whether each triple T ∈ T is chosen or not.

14/28

Page 48: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Reduction for ` = 4

For i ∈ [n], we add to G three vertices ai , bi , ci (element of sets A,B,C).

For T ∈ T , with T = (ai , bj , cp), we add to G a copy of H and we identifyvertex a with ai , vertex b with bj , and vertex c with cp.

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

ai

x1

x0

y0 y1 bj

z0 z1 cp

H

Modification for ` > 4: we define the digraph G in the same way, exceptthat we subdivide the arcs outgoing from s exactly `− 4 times.

14/28

Page 49: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Next section is...

1 Introduction

2 Our results

3 NP-hardness reduction

4 Polynomial-time algorithm

5 Sketch of the FPT algorithms

6 Conclusions

15/28

Page 50: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Cases that can be solved in polynomial time

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3 ,and NP-hard if ` ≥ 4, even restricted to DAGs.

` = 1: can be solved by a flow algorithm.

` = 2: guess two vertices, delete arcs between them, and then flow.

` = 3: we reduce the problem to computing a maximum matching inan auxiliary undirected graph, as follows...

16/28

Page 51: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Cases that can be solved in polynomial time

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3 ,and NP-hard if ` ≥ 4, even restricted to DAGs.

` = 1: can be solved by a flow algorithm.

` = 2: guess two vertices, delete arcs between them, and then flow.

` = 3: we reduce the problem to computing a maximum matching inan auxiliary undirected graph, as follows...

16/28

Page 52: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Cases that can be solved in polynomial time

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3 ,and NP-hard if ` ≥ 4, even restricted to DAGs.

` = 1: can be solved by a flow algorithm.

` = 2: guess two vertices, delete arcs between them, and then flow.

` = 3: we reduce the problem to computing a maximum matching inan auxiliary undirected graph, as follows...

16/28

Page 53: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Cases that can be solved in polynomial time

Max (• × `)-Spindle SubdivisionFor a fixed ` ≥ 1, given an input digraph G , find the largest ksuch that G contains a subdivision of a (k × `)-spindle.

Theorem

Let ` ≥ 1 be fixed. Max (• × `)-Spindle Subdivision is in P if ` ≤ 3 ,and NP-hard if ` ≥ 4, even restricted to DAGs.

` = 1: can be solved by a flow algorithm.

` = 2: guess two vertices, delete arcs between them, and then flow.

` = 3: we reduce the problem to computing a maximum matching inan auxiliary undirected graph, as follows...

16/28

Page 54: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Idea of the case ` = 3A directed path P is nontrivial if its endpoints are distinct.

We first guess vertices s, t ∈ V (G) as endpoints of the spindle.

Largest k such that G contains a (k × 3)-spindle from s to t =maximum number of vertex-disjoint nontrivial directed pathsfrom N+(s) to N−(t) in the digraph G \ {s, t}.

s t

N+(s) N−(t)

17/28

Page 55: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Idea of the case ` = 3A directed path P is nontrivial if its endpoints are distinct.We first guess vertices s, t ∈ V (G) as endpoints of the spindle.

Largest k such that G contains a (k × 3)-spindle from s to t =

maximum number of vertex-disjoint nontrivial directed pathsfrom N+(s) to N−(t) in the digraph G \ {s, t}.

s t

N+(s) N−(t)

17/28

Page 56: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Idea of the case ` = 3A directed path P is nontrivial if its endpoints are distinct.We first guess vertices s, t ∈ V (G) as endpoints of the spindle.

Largest k such that G contains a (k × 3)-spindle from s to t =maximum number of vertex-disjoint nontrivial directed pathsfrom N+(s) to N−(t) in the digraph G \ {s, t}.

s t

N+(s) N−(t)

17/28

Page 57: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Idea of the case ` = 3A directed path P is nontrivial if its endpoints are distinct.We first guess vertices s, t ∈ V (G) as endpoints of the spindle.

Largest k such that G contains a (k × 3)-spindle from s to t =maximum number of vertex-disjoint nontrivial directed pathsfrom N+(s) to N−(t) in the digraph G \ {s, t}.

s t

N+(s) N−(t)

17/28

Page 58: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Idea of the case ` = 3A directed path P is nontrivial if its endpoints are distinct.We first guess vertices s, t ∈ V (G) as endpoints of the spindle.

Largest k such that G contains a (k × 3)-spindle from s to t =maximum number of vertex-disjoint nontrivial directed pathsfrom N+(s) to N−(t) in the digraph G \ {s, t}.

s t

N+(s) N−(t)

17/28

Page 59: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Idea of the case ` = 3A directed path P is nontrivial if its endpoints are distinct.

We first guess vertices s, t ∈ V (G) as endpoints of the spindle.

Largest k such that G contains a (k × 3)-spindle from s to t =

maximum number of vertex-disjoint nontrivial directed pathsfrom N+(s) to N−(t) in the digraph G \ {s, t}.

s t

X Y

17/28

Page 60: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Main ingredient for the case ` = 3

PropositionLet G be a digraph and X ,Y ⊆ V (G). The maximum number ofvertex-disjoint directed nontrivial paths from X to Y can be computed inpolynomial time.

s t

X Y

18/28

Page 61: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Idea of the proof

Given a digraph G and X ,Y ⊆ V (G), we build an undirected graph G ′:

u1

v1 v2 v3

u2 u3 u4

G

X Y

u4

v′3

V (G ′) = V (G) + a copy v ′ of each vertex v /∈ X ∪ Y .

E (G ′): For each v /∈ X ∪ Y , add to G ′ the edge {v , v ′}.For each (u, v), add {u, v} if v ∈ X ∪ Y , and {u, v ′} otherwise.

Claim G contains k vertex-disjoint directed nontrivial paths from X to Y⇐⇒ G ′ has a matching of size k + |V (G) \ (X ∪ Y )|.

19/28

Page 62: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Idea of the proof

Given a digraph G and X ,Y ⊆ V (G), we build an undirected graph G ′:

u1

v1 v2 v3

u2 u3 u4

G

X Y

u4u1 u2 u3 u4

v2

v′2v′2

G′

v1

v′1

v3

v′3

V (G ′) = V (G) + a copy v ′ of each vertex v /∈ X ∪ Y .

E (G ′): For each v /∈ X ∪ Y , add to G ′ the edge {v , v ′}.For each (u, v), add {u, v} if v ∈ X ∪ Y , and {u, v ′} otherwise.

Claim G contains k vertex-disjoint directed nontrivial paths from X to Y⇐⇒ G ′ has a matching of size k + |V (G) \ (X ∪ Y )|.

19/28

Page 63: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Idea of the proof

Given a digraph G and X ,Y ⊆ V (G), we build an undirected graph G ′:

u1

v1 v2 v3

u2 u3 u4

G

X Y

v2

v′2v′2

G′

v1

v′1

v3

v′3

u1 u2 u3 u4u1 u2 u3 u4

v2

v′2v′2

G′

v1

v′1

v3

v′3

V (G ′) = V (G) + a copy v ′ of each vertex v /∈ X ∪ Y .

E (G ′): For each v /∈ X ∪ Y , add to G ′ the edge {v , v ′}.For each (u, v), add {u, v} if v ∈ X ∪ Y , and {u, v ′} otherwise.

Claim G contains k vertex-disjoint directed nontrivial paths from X to Y⇐⇒ G ′ has a matching of size k + |V (G) \ (X ∪ Y )|.

19/28

Page 64: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Next section is...

1 Introduction

2 Our results

3 NP-hardness reduction

4 Polynomial-time algorithm

5 Sketch of the FPT algorithms

6 Conclusions

20/28

Page 65: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Matroids

A pairM = (E , I), where E is a ground set and I is a family of subsetsof E , is a matroid if it satisfies the following three axioms:

1 ∅ ∈ I.2 If A′ ⊆ A and A ∈ I, then A′ ∈ I.3 If A,B ∈ I and |A| < |B|, then ∃e ∈ B \ A such that A ∪ {e} ∈ I.

The sets in I are called the independent sets of the matroid.

21/28

Page 66: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Representative sets in matroids

Two independent sets A,B ofM fit if A∩B = ∅ and A∪B is independent.

Let A be a family of sets of size p in a matroidM. A subfamily A′ ⊆ A issaid to q-represent A, denoted A′ ⊆q

rep A, if for every set B of size q suchthat there is an A ∈ A that fits B, there is an A′ ∈ A′ that also fits B.

{A3} ⊆2rep {A1, A2, A3}

A3A1

A2

B1

B2

A = {A1, A2, A3}, p = 4, q = 2

22/28

Page 67: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Representative sets in matroids

Two independent sets A,B ofM fit if A∩B = ∅ and A∪B is independent.

Let A be a family of sets of size p in a matroidM. A subfamily A′ ⊆ A issaid to q-represent A, denoted A′ ⊆q

rep A, if for every set B of size q suchthat there is an A ∈ A that fits B, there is an A′ ∈ A′ that also fits B.

{A3} ⊆2rep {A1, A2, A3}

A3A1

A2

B1

B2

A = {A1, A2, A3}, p = 4, q = 2

22/28

Page 68: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Representative sets in matroids

Two independent sets A,B ofM fit if A∩B = ∅ and A∪B is independent.

Let A be a family of sets of size p in a matroidM. A subfamily A′ ⊆ A issaid to q-represent A, denoted A′ ⊆q

rep A, if for every set B of size q suchthat there is an A ∈ A that fits B, there is an A′ ∈ A′ that also fits B.

{A3} ⊆2rep {A1, A2, A3}

A3A1

A2

B1

B2

A = {A1, A2, A3}, p = 4, q = 2

22/28

Page 69: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Representative sets in matroids

Two independent sets A,B ofM fit if A∩B = ∅ and A∪B is independent.

Let A be a family of sets of size p in a matroidM. A subfamily A′ ⊆ A issaid to q-represent A, denoted A′ ⊆q

rep A, if for every set B of size q suchthat there is an A ∈ A that fits B, there is an A′ ∈ A′ that also fits B.

{A3} ⊆2rep {A1, A2, A3}

A3A1

A2

B1

B2

A = {A1, A2, A3}, p = 4, q = 2

22/28

Page 70: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Finding a 2-spindle of large total size

If a subdigraph S of G is a subdivision of a (`1, `2)-spindle, withmin{`1, `2} ≥ 1 and `1 + `2 = `, we say that S is a good spindle.

Idea We will q-represent the “first part” of the desired spindle (paths P1u

and P2u), for every u, u1, u2 ∈ V (G), `1, `2 ≤ `, and 0 ≤ q ≤ 2`.

u v

u1

u2

Pu1 P v

1

Pu2 P v

2

`1

`2

Using the recent techniques of [Fomin, Lokshtanov, Panolan, Saurabh. 2016],|S`1,`2,q

u,u1,u2 | = 2O(`) and can be computed in time 2O(`) · nO(1).

23/28

Page 71: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Finding a 2-spindle of large total size

If a subdigraph S of G is a subdivision of a (`1, `2)-spindle, withmin{`1, `2} ≥ 1 and `1 + `2 = `, we say that S is a good spindle.

Idea We will q-represent the “first part” of the desired spindle (paths P1u

and P2u), for every u, u1, u2 ∈ V (G), `1, `2 ≤ `, and 0 ≤ q ≤ 2`.

u v

u1

u2

Pu1 P v

1

Pu2 P v

2

`1

`2

Using the recent techniques of [Fomin, Lokshtanov, Panolan, Saurabh. 2016],|S`1,`2,q

u,u1,u2 | = 2O(`) and can be computed in time 2O(`) · nO(1).

23/28

Page 72: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Finding a 2-spindle of large total size

If a subdigraph S of G is a subdivision of a (`1, `2)-spindle, withmin{`1, `2} ≥ 1 and `1 + `2 = `, we say that S is a good spindle.

Idea We will q-represent the “first part” of the desired spindle (paths P1u

and P2u), for every u, u1, u2 ∈ V (G), `1, `2 ≤ `, and 0 ≤ q ≤ 2`.

u v

u1

u2

Pu1 P v

1

Pu2

`1

`2

Using the recent techniques of [Fomin, Lokshtanov, Panolan, Saurabh. 2016],|S`1,`2,q

u,u1,u2 | = 2O(`) and can be computed in time 2O(`) · nO(1).

23/28

Page 73: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Finding a 2-spindle of large total size

If a subdigraph S of G is a subdivision of a (`1, `2)-spindle, withmin{`1, `2} ≥ 1 and `1 + `2 = `, we say that S is a good spindle.

Idea We will q-represent the “first part” of the desired spindle (paths P1u

and P2u), for every u, u1, u2 ∈ V (G), `1, `2 ≤ `, and 0 ≤ q ≤ 2`.

u v

u1

u2

Pu1 P v

1

Pu2

`1

`2

Representative

S`1,`2,qu,u1,u2

family

Using the recent techniques of [Fomin, Lokshtanov, Panolan, Saurabh. 2016],|S`1,`2,q

u,u1,u2 | = 2O(`) and can be computed in time 2O(`) · nO(1).

23/28

Page 74: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Finding a 2-spindle of large total size

If a subdigraph S of G is a subdivision of a (`1, `2)-spindle, withmin{`1, `2} ≥ 1 and `1 + `2 = `, we say that S is a good spindle.

Idea We will q-represent the “first part” of the desired spindle (paths P1u

and P2u), for every u, u1, u2 ∈ V (G), `1, `2 ≤ `, and 0 ≤ q ≤ 2`.

u v

u1

u2

Pu1 P v

1

Pu2

`1

`2

Representative

S`1,`2,qu,u1,u2

family

Using the recent techniques of [Fomin, Lokshtanov, Panolan, Saurabh. 2016],|S`1,`2,q

u,u1,u2 | = 2O(`) and can be computed in time 2O(`) · nO(1).

23/28

Page 75: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Key property: these families indeed represent the solutions

Consider a good spindle S with minimum number of vertices:

u v

u1

u2

Pu1 PB

1

Pu2 PB

2

v1

v2

BS

The representatives Pu1 and Pu

2 are disjoint from the rest of the spindle S.

24/28

Page 76: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Key property: these families indeed represent the solutions

Consider a good spindle S with minimum number of vertices:

u v

u1

u2

Pu1 PB

1

Pu2 PB

2

v1

v2

w

Pu1

Pu2

B

The representatives Pu1 and Pu

2 are disjoint from the rest of the spindle S.

24/28

Page 77: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Key property: these families indeed represent the solutions

Consider a good spindle S with minimum number of vertices:

u v

u1

u2

Pu1

PB1

Pu2

PB2

v1

v2

u v

u1

u2

Pu1 PB

1

Pu2 PB

2

v1

v2

w

Pu1

Pu2

B B

The representatives Pu1 and Pu

2 are disjoint from the rest of the spindle S.

24/28

Page 78: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Key property: these families indeed represent the solutions

Consider a good spindle S with minimum number of vertices:

u v

u1

u2

Pu1

PB1

Pu2

PB2

v1

v2

Pu1

Pu2

u v

u1

u2

Pu1 PB

1

Pu2 PB

2

v1

v2

w

Pu1

Pu2

w1

w2

B B

The representatives Pu1 and Pu

2 are disjoint from the rest of the spindle S.

24/28

Page 79: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Wrapping up the algorithm

1 For every u, u1, u2 ∈ V (G), `1, `2 ≤ `, and 0 ≤ q ≤ 2`, we compute aq-representative family S`1,`2,q

u,u1,u2 in time 2O(`) · nO(1).

2 For every Pu1 ∪ Pu

2 ∈ S`1,`2,qu,u1,u2 , we check whether G contains a

(u1, v)-path Pv1 and a (u2, v)-path Pv

2 of this shape:

u v

u1

u2

Pu1 P v

1

Pu2 P v

2

`1

`2

This can be done in polynomial time by using a flow algorithm.

Overall running time: 2O(`) · nO(1).

25/28

Page 80: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Wrapping up the algorithm

1 For every u, u1, u2 ∈ V (G), `1, `2 ≤ `, and 0 ≤ q ≤ 2`, we compute aq-representative family S`1,`2,q

u,u1,u2 in time 2O(`) · nO(1).

2 For every Pu1 ∪ Pu

2 ∈ S`1,`2,qu,u1,u2 , we check whether G contains a

(u1, v)-path Pv1 and a (u2, v)-path Pv

2 of this shape:

u v

u1

u2

Pu1 P v

1

Pu2 P v

2

`1

`2

This can be done in polynomial time by using a flow algorithm.

Overall running time: 2O(`) · nO(1).

25/28

Page 81: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Wrapping up the algorithm

1 For every u, u1, u2 ∈ V (G), `1, `2 ≤ `, and 0 ≤ q ≤ 2`, we compute aq-representative family S`1,`2,q

u,u1,u2 in time 2O(`) · nO(1).

2 For every Pu1 ∪ Pu

2 ∈ S`1,`2,qu,u1,u2 , we check whether G contains a

(u1, v)-path Pv1 and a (u2, v)-path Pv

2 of this shape:

u v

u1

u2

Pu1 P v

1

Pu2 P v

2

`1

`2

This can be done in polynomial time by using a flow algorithm.

Overall running time: 2O(`) · nO(1).

25/28

Page 82: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Wrapping up the algorithm

1 For every u, u1, u2 ∈ V (G), `1, `2 ≤ `, and 0 ≤ q ≤ 2`, we compute aq-representative family S`1,`2,q

u,u1,u2 in time 2O(`) · nO(1).

2 For every Pu1 ∪ Pu

2 ∈ S`1,`2,qu,u1,u2 , we check whether G contains a

(u1, v)-path Pv1 and a (u2, v)-path Pv

2 of this shape:

u v

u1

u2

Pu1 P v

1

Pu2 P v

2

`1

`2

This can be done in polynomial time by using a flow algorithm.

Overall running time: 2O(`) · nO(1).

25/28

Page 83: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Next section is...

1 Introduction

2 Our results

3 NP-hardness reduction

4 Polynomial-time algorithm

5 Sketch of the FPT algorithms

6 Conclusions

26/28

Page 84: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Further research

Main open question:

Finding a subdivision of a spindle F is FPT parameterized by |V (F )|?

We do not know the answer even if F is a 2-spindle.

When G is an acyclic digraph, we can prove the following:

Theorem

Given an acyclic digraph G and integers k, `, deciding whether G containsa subdivision of a (k × `)-spindle can be solved in time O(`k · n2k+1).

If k is a constant: the problem is polynomial on acyclic digraphs(this generalizes the case k = 1, that is, Longest Path on DAGs).

But is the problem FPT on acyclic digraphs? That is, in time f (k, `) · nO(1)?

27/28

Page 85: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Further research

Main open question:

Finding a subdivision of a spindle F is FPT parameterized by |V (F )|?

We do not know the answer even if F is a 2-spindle.

When G is an acyclic digraph, we can prove the following:

Theorem

Given an acyclic digraph G and integers k, `, deciding whether G containsa subdivision of a (k × `)-spindle can be solved in time O(`k · n2k+1).

If k is a constant: the problem is polynomial on acyclic digraphs(this generalizes the case k = 1, that is, Longest Path on DAGs).

But is the problem FPT on acyclic digraphs? That is, in time f (k, `) · nO(1)?

27/28

Page 86: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Further research

Main open question:

Finding a subdivision of a spindle F is FPT parameterized by |V (F )|?

We do not know the answer even if F is a 2-spindle.

When G is an acyclic digraph, we can prove the following:

Theorem

Given an acyclic digraph G and integers k, `, deciding whether G containsa subdivision of a (k × `)-spindle can be solved in time O(`k · n2k+1).

If k is a constant: the problem is polynomial on acyclic digraphs(this generalizes the case k = 1, that is, Longest Path on DAGs).

But is the problem FPT on acyclic digraphs? That is, in time f (k, `) · nO(1)?

27/28

Page 87: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Further research

Main open question:

Finding a subdivision of a spindle F is FPT parameterized by |V (F )|?

We do not know the answer even if F is a 2-spindle.

When G is an acyclic digraph, we can prove the following:

Theorem

Given an acyclic digraph G and integers k, `, deciding whether G containsa subdivision of a (k × `)-spindle can be solved in time O(`k · n2k+1).

If k is a constant: the problem is polynomial on acyclic digraphs(this generalizes the case k = 1, that is, Longest Path on DAGs).

But is the problem FPT on acyclic digraphs? That is, in time f (k, `) · nO(1)?

27/28

Page 88: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Further research

Main open question:

Finding a subdivision of a spindle F is FPT parameterized by |V (F )|?

We do not know the answer even if F is a 2-spindle.

When G is an acyclic digraph, we can prove the following:

Theorem

Given an acyclic digraph G and integers k, `, deciding whether G containsa subdivision of a (k × `)-spindle can be solved in time O(`k · n2k+1).

If k is a constant: the problem is polynomial on acyclic digraphs(this generalizes the case k = 1, that is, Longest Path on DAGs).

But is the problem FPT on acyclic digraphs? That is, in time f (k, `) · nO(1)?

27/28

Page 89: Finding subdivisions of spindles on digraphssau/talks/Spindles-UFC.pdf · 2017. 8. 29. · Findingsubdivisionsofspindlesondigraphs JúlioAraújo1 VictorA.Campos2 AnaKarolinnaMaia2

Gràcies!

CATALONIA, THE NEXT STATE IN EUROPE28/28