Dynamic Parameterized Problems - Algorithms and Complexity

115
Dynamic Parameterized Problems R. Krithika The Institute of Mathematical Sciences, Chennai, India NMI Workshop on Complexity Theory IIT Gandhinagar Nov 2016 (Joint work with Abhishek Sahu and Prafullkumar Tale)

Transcript of Dynamic Parameterized Problems - Algorithms and Complexity

Page 1: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Parameterized Problems

R. Krithika The Institute of Mathematical Sciences, Chennai, India

NMI Workshop on Complexity TheoryIIT Gandhinagar

Nov 2016

(Joint work with Abhishek Sahu and Prafullkumar Tale)

Page 2: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Page 3: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Page 4: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Page 5: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Page 6: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Page 7: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Page 8: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Page 9: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Page 10: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Page 11: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Current graph is at a distance 8 from the initial graph

Page 12: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

Page 13: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic GraphsG

Page 14: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

vertex cover of G

G

Page 15: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

vertex cover of G

G

Page 16: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

vertex cover of G

G H

Page 17: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

edit distance 8

vertex cover of G

G H

Page 18: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

edit distance 8

vertex cover of G

G H

vertex cover of H

Page 19: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

edit distance 8

Hamming distance 1

vertex cover of G

G H

vertex cover of H

Page 20: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

edit distance 8

G H

Page 21: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

edit distance 8

G H

vertex cover of G

Page 22: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

edit distance 8

G H

Hamming distance 2

vertex cover of G

Page 23: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Graphs

edit distance 8

G H

Hamming distance 2

vertex cover of G vertex cover of H

Page 24: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Problem Template

Page 25: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Problem TemplateInstance:

• Graphs G, H on same vertex set s.t de(G,H) ≤ k

• A solution S of G

• An integer r

Question: Does H have a solution T s.t dv(S,T) ≤ r?

Parameter(s): k, r

Page 26: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Problem TemplateInstance:

• Graphs G, H on same vertex set s.t de(G,H) ≤ k

• A solution S of G

• An integer r

Question: Does H have a solution T s.t dv(S,T) ≤ r?

Parameter(s): k, r

k- edit parameter

r- distance parameter

Page 27: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

Page 28: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

D

Page 29: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

D D

Page 30: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

D D

edit distance kG H

Page 31: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

Page 32: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetS

G

S is a DS for G

Page 33: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetS

G

S is a DS for G

TH

T is a DS for H

Page 34: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

SS

G

S is a DS for G

TH

T is a DS for H

Page 35: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

S

(S ∪ T) is a DS for H

SG

S is a DS for G

TH

T is a DS for H

Page 36: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

S

d(S,S ∪ T) = |T-S| ≤ |T-S| + |S-T| = d(S,T)

(S ∪ T) is a DS for H

SG

S is a DS for G

TH

T is a DS for H

Page 37: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

S

d(S,S ∪ T) = |T-S| ≤ |T-S| + |S-T| = d(S,T)

(S ∪ T) is a DS for H

SG

S is a DS for G

TH

T is a DS for H

Suffices to search for a DS of H that contains S

Page 38: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

Page 39: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetD

Page 40: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetD D

C

Page 41: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetD D

C

Addition of edges do not affect the solution

Page 42: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

Page 43: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

D

Page 44: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

D D

C

Page 45: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

D D

C

Deletion of edges within C or within D do not affect the solution

Page 46: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

Page 47: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetD

Page 48: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetD D

C

Page 49: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetD D

C

Deletion of edges between C and D could result in undominated vertices!

Page 50: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

Page 51: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

D

Page 52: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

D D

C

Page 53: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

D

At most k vertices are not dominated by D

D

C

Page 54: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating Set

Page 55: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetD

Page 56: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetD D

C

Page 57: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetD D

C

A set cover instance on k-element universe

Page 58: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Dominating SetD D

C

A set cover instance on k-element universe

O*(2k) algorithm

Page 59: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

Page 60: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

D

Page 61: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

D D

Page 62: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

D D

edit distance kG H

k1 del k2 add

Page 63: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

Page 64: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

SG

S is a CDS for G

Page 65: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

SG

S is a CDS for G

TH

T is a CDS for H

Page 66: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

SS

G

S is a CDS for G

TH

T is a CDS for H

Page 67: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

S

(S ∪ T) is a DS for H

SG

S is a CDS for G

TH

T is a CDS for H

Page 68: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

S

d(S,S ∪ T) = |T-S| ≤ |T-S| + |S-T| = d(S,T)

(S ∪ T) is a DS for H

SG

S is a CDS for G

TH

T is a CDS for H

Page 69: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

S

d(S,S ∪ T) = |T-S| ≤ |T-S| + |S-T| = d(S,T)

(S ∪ T) is a DS for H

SG

S is a CDS for G

TH

T is a CDS for H

S T

Page 70: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

S

d(S,S ∪ T) = |T-S| ≤ |T-S| + |S-T| = d(S,T)

(S ∪ T) is a DS for H

SG

S is a CDS for G

TH

T is a CDS for H

S T

Page 71: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

S

d(S,S ∪ T) = |T-S| ≤ |T-S| + |S-T| = d(S,T)

(S ∪ T) is a DS for H

SG

S is a CDS for G

TH

T is a CDS for H

S T

Page 72: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

S

d(S,S ∪ T) = |T-S| ≤ |T-S| + |S-T| = d(S,T)

(S ∪ T) is a DS for H

SG

S is a CDS for G

TH

T is a CDS for H

S T

Page 73: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

S

d(S,S ∪ T) = |T-S| ≤ |T-S| + |S-T| = d(S,T)

(S ∪ T) is a DS for H

SG

S is a CDS for G

TH

T is a CDS for H

S T

Page 74: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

S

d(S,S ∪ T) = |T-S| ≤ |T-S| + |S-T| = d(S,T)

(S ∪ T) is a DS for H

SG

S is a CDS for G

TH

T is a CDS for H

S T (S ∪ T) is a CDS for H

Page 75: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

S

d(S,S ∪ T) = |T-S| ≤ |T-S| + |S-T| = d(S,T)

(S ∪ T) is a DS for H

SG

S is a CDS for G

TH

T is a CDS for H

Suffices to search for a CDS of H that contains S

S T (S ∪ T) is a CDS for H

Page 76: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

Page 77: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

D

Page 78: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

D D

Page 79: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

D D

At most k1 vertices are not dominated by D D has at most k2 components

Page 80: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

Page 81: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Setcomponents of D

Page 82: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating SetD1 D2 D3 . . . Dk2 components of D

Page 83: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

undominated vertices

D1 D2 D3 . . . Dk2 components of D

Page 84: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

v1 v2 v3 . . . vk1 undominated vertices

D1 D2 D3 . . . Dk2 components of D

Page 85: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

v1 v2 v3 . . . vk1 undominated vertices

N(v1) N(v2) N(v3) . . . N(vk1)

D1 D2 D3 . . . Dk2 components of D

Page 86: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

v1 v2 v3 . . . vk1 undominated vertices

N(v1) N(v2) N(v3) . . . N(vk1)

D1 D2 D3 . . . Dk2 components of D

D1 D2 D3 . . . Dk2

Page 87: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

v1 v2 v3 . . . vk1 undominated vertices

N(v1) N(v2) N(v3) . . . N(vk1)

D1 D2 D3 . . . Dk2 components of D

D1 D2 D3 . . . Dk2

A group Steiner tree problem with parameter k1+k2 = k

Page 88: Dynamic Parameterized Problems - Algorithms and Complexity

Dynamic Connected Dominating Set

v1 v2 v3 . . . vk1 undominated vertices

N(v1) N(v2) N(v3) . . . N(vk1)

D1 D2 D3 . . . Dk2 components of D

D1 D2 D3 . . . Dk2

O*(2k) algorithm

A group Steiner tree problem with parameter k1+k2 = k

Page 89: Dynamic Parameterized Problems - Algorithms and Complexity

Set Cover Conjecture

Page 90: Dynamic Parameterized Problems - Algorithms and Complexity

Set Cover ConjectureSet Cover

Page 91: Dynamic Parameterized Problems - Algorithms and Complexity

Set Cover ConjectureSet Cover

U = { u1, u2, u3, . . . un }

Page 92: Dynamic Parameterized Problems - Algorithms and Complexity

Set Cover ConjectureSet Cover

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

Page 93: Dynamic Parameterized Problems - Algorithms and Complexity

Set Cover ConjectureSet Cover

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

O*(2n) algorithm

Page 94: Dynamic Parameterized Problems - Algorithms and Complexity

Set Cover ConjectureSet Cover

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

O*(2n) algorithm No faster algorithm known

Page 95: Dynamic Parameterized Problems - Algorithms and Complexity

Set Cover ConjectureSet Cover

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

O*(2n) algorithm No faster algorithm knownNo lb under SETH known

Page 96: Dynamic Parameterized Problems - Algorithms and Complexity

Set Cover ConjectureSet Cover

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

O*(2n) algorithm

SCC: No O*((2-c)n) algorithm for any c > 0

No faster algorithm knownNo lb under SETH known

Page 97: Dynamic Parameterized Problems - Algorithms and Complexity

Set Cover ConjectureSet Cover

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

O*(2n) algorithm

SCC: No O*((2-c)n) algorithm for any c > 0

No faster algorithm knownNo lb under SETH known

Cygan, Dell, Lokshtanov, Marx, Nederlof, Okamoto, Paturi, Saurabh, Wahlstrom (2012)

Page 98: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Page 99: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

Page 100: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

Page 101: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

Page 102: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

ui

U

Page 103: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

ui

U

Fj

F

Page 104: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

ui

U

Fj

F

Page 105: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

x

ui

U

Fj

F

Page 106: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

x

ui

U

Fj

F

Page 107: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

x

ui

U

Fj

F

G

CDS

Page 108: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

x

ui

U

Fj

F

uiFj

x

H

G

CDS

Page 109: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

x

ui

U

Fj

F

uiFj

x

H

k=nr=l

G

CDS

Page 110: Dynamic Parameterized Problems - Algorithms and Complexity

Tightness Under Set Cover Conjecture

Set Cover (l)

U = { u1, u2, u3, . . . un }

F = { F1, F2, F3, . . . Fm }

x

ui

U

Fj

F

uiFj

x

H

k=nr=l

(2-c)k algo DDS

(2-c)n algo SC

G

CDS

Page 111: Dynamic Parameterized Problems - Algorithms and Complexity

Concluding RemarksDynamic Problem Parameterized Complexity

k r

Dominating Set 2k2 [DEFRS14], 2k (tight) W[2]-hard [DEFRS14]

Connected Dominating Set

4k [AEFRS15], 2k (tight) W[2]-hard [AEFRS15]

Vertex Cover1.174k, 1.1277k (expo space), O(k) kernel

1.2738r, O(r2) kernel

Connected Vertex Cover 4k [AEFRS15], 2k W[2]-hard [AEFRS15]

Feedback Vertex Set1.6667k (randomized),

O(k) kernel3.592r, O(r2) kernel

∏-DeletionFixed-parameter (in)tractability related to that

of non-dynamic version

Page 112: Dynamic Parameterized Problems - Algorithms and Complexity

Concluding Remarks

• Maintain k-size solution?

• Other interesting parameters

• =k1 edge additions and =k2 edge deletions

• treewidth, vertex cover

• Relation to reconfiguration problems and online problems

• Interesting data structures

Page 113: Dynamic Parameterized Problems - Algorithms and Complexity

Thank you :)

Questions?

Page 114: Dynamic Parameterized Problems - Algorithms and Complexity

ReferencesDynamic Problems in Parameterized Complexity Framework• F. N. Abu-Khzam, J. Egan, M. R. Fellows, F. A. Rosamond, and P. Shaw. On the parameterized complexity

of dynamic problems. Theoretical Computer Science, 607, Part 3:426–434, 2015.• R.G. Downey, J. Egan, M.R. Fellows, F.A. Rosamond, and P. Shaw. Dynamic dominating set and turbo-

charging greedy heuristics. J. Tsinghua Sci. Technol, 19(4):329–337, 2014.• S. Hartung and R. Niedermeier. Incremental list coloring of graphs, parameterized by conservation.

Theoretical Computer Science, 494:86–98, 2013.

Vertex Cover• J. Chen, I. A. Kanj, and W. Jia. Vertex cover: further observations and further improvements. Journal

of Algorithms, 41(2):280–301, 2001.• J. Chen, I. A. Kanj, and G. Xia. Improved upper bounds for vertex cover. Theoretical Computer Science,

411(40-42):3736–3756, 2010.

Treewidth Bounds• F. V. Fomin, S. Gaspers, S. Saurabh, and A. A. Stepanov. On two techniques of combining branching and

treewidth. Algorithmica, 54(2):181–207, 2009.• J. Kneis, D. Mölle, S. Richter, and P. Rossmanith. A bound on the pathwidth of sparse graphs with

applications to exact algorithms. SIAM Journal on Discrete Mathematics,23(1):407–427, 2009.

Page 115: Dynamic Parameterized Problems - Algorithms and Complexity

ReferencesFeedback Vertex Set• F. V. Fomin, S. Gaspers, D. Lokshtanov, and S. Saurabh. Exact algorithms via monotone local

search. In Proceedings of the 48th Annual ACM Symposium on Theory of Computing, STOC ’16. ACM, 2016.

• T. Kociumaka and M. Pilipczuk. Faster deterministic feedback vertex set. Information Processing Letters, 114(10):556–560, 2014.

• S. Thomassé. A quadratic kernel for feedback vertex set, chapter 13, pages 115–119. 2009.

Set Cover and Group Steiner Tree• M. Cygan, H. Dell, D. Lokshtanov, D. Marx, J. Nederlof, Y. Okamoto, R. Paturi, S. Saurabh, and M.

Wahlstrom. On problems as hard as CNF-SAT. ACM Transactions on Algorithms, 12(3), Article No. 41, 2016.

• F. V. Fomin, D. Kratsch, and G. J. Woeginger. Exact (exponential) algorithms for the dominating set problem. In Graph-Theoretic Concepts in Computer Science, pages 245–256. Springer, 2004.

• N. Misra, G. Philip, V. Raman, S. Saurabh, and S. Sikdar. FPT algorithms for connected feedback vertex set. Journal of combinatorial optimization, 24(2):131–146, 2012.