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)
Dynamic Graphs
Dynamic Graphs
Dynamic Graphs
Dynamic Graphs
Dynamic Graphs
Dynamic Graphs
Dynamic Graphs
Dynamic Graphs
Dynamic Graphs
Dynamic Graphs
Current graph is at a distance 8 from the initial graph
Dynamic Graphs
Dynamic GraphsG
Dynamic Graphs
vertex cover of G
G
Dynamic Graphs
vertex cover of G
G
Dynamic Graphs
vertex cover of G
G H
Dynamic Graphs
edit distance 8
vertex cover of G
G H
Dynamic Graphs
edit distance 8
vertex cover of G
G H
vertex cover of H
Dynamic Graphs
edit distance 8
Hamming distance 1
vertex cover of G
G H
vertex cover of H
Dynamic Graphs
edit distance 8
G H
Dynamic Graphs
edit distance 8
G H
vertex cover of G
Dynamic Graphs
edit distance 8
G H
Hamming distance 2
vertex cover of G
Dynamic Graphs
edit distance 8
G H
Hamming distance 2
vertex cover of G vertex cover of H
Dynamic Problem Template
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
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
Dynamic Dominating Set
Dynamic Dominating Set
D
Dynamic Dominating Set
D D
Dynamic Dominating Set
D D
edit distance kG H
Dynamic Dominating Set
Dynamic Dominating SetS
G
S is a DS for G
Dynamic Dominating SetS
G
S is a DS for G
TH
T is a DS for H
Dynamic Dominating Set
SS
G
S is a DS for G
TH
T is a DS for H
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
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
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
Dynamic Dominating Set
Dynamic Dominating SetD
Dynamic Dominating SetD D
C
Dynamic Dominating SetD D
C
Addition of edges do not affect the solution
Dynamic Dominating Set
Dynamic Dominating Set
D
Dynamic Dominating Set
D D
C
Dynamic Dominating Set
D D
C
Deletion of edges within C or within D do not affect the solution
Dynamic Dominating Set
Dynamic Dominating SetD
Dynamic Dominating SetD D
C
Dynamic Dominating SetD D
C
Deletion of edges between C and D could result in undominated vertices!
Dynamic Dominating Set
Dynamic Dominating Set
D
Dynamic Dominating Set
D D
C
Dynamic Dominating Set
D
At most k vertices are not dominated by D
D
C
Dynamic Dominating Set
Dynamic Dominating SetD
Dynamic Dominating SetD D
C
Dynamic Dominating SetD D
C
A set cover instance on k-element universe
Dynamic Dominating SetD D
C
A set cover instance on k-element universe
O*(2k) algorithm
Dynamic Connected Dominating Set
Dynamic Connected Dominating Set
D
Dynamic Connected Dominating Set
D D
Dynamic Connected Dominating Set
D D
edit distance kG H
k1 del k2 add
Dynamic Connected Dominating Set
Dynamic Connected Dominating Set
SG
S is a CDS for G
Dynamic Connected Dominating Set
SG
S is a CDS for G
TH
T is a CDS for H
Dynamic Connected Dominating Set
SS
G
S is a CDS for G
TH
T is a CDS for H
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
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
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
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
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
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
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
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
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
Dynamic Connected Dominating Set
Dynamic Connected Dominating Set
D
Dynamic Connected Dominating Set
D D
Dynamic Connected Dominating Set
D D
At most k1 vertices are not dominated by D D has at most k2 components
Dynamic Connected Dominating Set
Dynamic Connected Dominating Setcomponents of D
Dynamic Connected Dominating SetD1 D2 D3 . . . Dk2 components of D
Dynamic Connected Dominating Set
undominated vertices
D1 D2 D3 . . . Dk2 components of D
Dynamic Connected Dominating Set
v1 v2 v3 . . . vk1 undominated vertices
D1 D2 D3 . . . Dk2 components of D
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
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
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
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
Set Cover Conjecture
Set Cover ConjectureSet Cover
Set Cover ConjectureSet Cover
U = { u1, u2, u3, . . . un }
Set Cover ConjectureSet Cover
U = { u1, u2, u3, . . . un }
F = { F1, F2, F3, . . . Fm }
Set Cover ConjectureSet Cover
U = { u1, u2, u3, . . . un }
F = { F1, F2, F3, . . . Fm }
O*(2n) algorithm
Set Cover ConjectureSet Cover
U = { u1, u2, u3, . . . un }
F = { F1, F2, F3, . . . Fm }
O*(2n) algorithm No faster algorithm known
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
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
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)
Tightness Under Set Cover Conjecture
Tightness Under Set Cover Conjecture
Set Cover (l)
Tightness Under Set Cover Conjecture
Set Cover (l)
U = { u1, u2, u3, . . . un }
Tightness Under Set Cover Conjecture
Set Cover (l)
U = { u1, u2, u3, . . . un }
F = { F1, F2, F3, . . . Fm }
Tightness Under Set Cover Conjecture
Set Cover (l)
U = { u1, u2, u3, . . . un }
F = { F1, F2, F3, . . . Fm }
ui
U
Tightness Under Set Cover Conjecture
Set Cover (l)
U = { u1, u2, u3, . . . un }
F = { F1, F2, F3, . . . Fm }
ui
U
Fj
F
Tightness Under Set Cover Conjecture
Set Cover (l)
U = { u1, u2, u3, . . . un }
F = { F1, F2, F3, . . . Fm }
ui
U
Fj
F
Tightness Under Set Cover Conjecture
Set Cover (l)
U = { u1, u2, u3, . . . un }
F = { F1, F2, F3, . . . Fm }
x
ui
U
Fj
F
Tightness Under Set Cover Conjecture
Set Cover (l)
U = { u1, u2, u3, . . . un }
F = { F1, F2, F3, . . . Fm }
x
ui
U
Fj
F
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
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
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
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
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
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
Thank you :)
Questions?
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.
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.