219
Parameterized Algorithms Lecture 4: Kernelization May 29, 2020 Max-Planck Institute for Informatics, Germany.

Parameterized Algorithms - mpi-inf.mpg.de

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Parameterized Algorithms - mpi-inf.mpg.de

Parameterized Algorithms

Lecture 4: KernelizationMay 29, 2020

Max-Planck Institute for Informatics, Germany.

Page 2: Parameterized Algorithms - mpi-inf.mpg.de

KernelizationEvil is whatever distracts.

― Franz Kafka

Page 3: Parameterized Algorithms - mpi-inf.mpg.de

Preprocess

(x, k) (x �, k �)FAST

SMALL

SANE

Page 4: Parameterized Algorithms - mpi-inf.mpg.de

Preprocess

(x, k) (x �, k �)|x|O(1) time

SMALL

SANE

Page 5: Parameterized Algorithms - mpi-inf.mpg.de

Preprocess

(x, k) (x �, k �)|x|O(1) time

|x �| = f(k) k � k �and

SANE

Page 6: Parameterized Algorithms - mpi-inf.mpg.de

Preprocess

(x, k) (x �, k �)|x|O(1) time

|x �| = f(k) k � k �and

(x, k) � (x �, k �)

Page 7: Parameterized Algorithms - mpi-inf.mpg.de

Max Sat

Page 8: Parameterized Algorithms - mpi-inf.mpg.de

Input

Max Sat

A CNF Formula over n variables with m clauses.

Page 9: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestion

Max Sat

Is there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Page 10: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestion

Max Sat

Is there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

What if k is at most m/2?

Page 11: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestion

Max Sat

Is there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

What if k is at most m/2?

Page 12: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestion

Max Sat

Is there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

What if k is at most m/2?

Page 13: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestion

Max Sat

Is there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Say YES.

What if k is at most m/2?

Page 14: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestion

Max Sat

Is there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Say YES.

k > m/2?

What if k is at most m/2?

Page 15: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestion

Max Sat

Is there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Say YES.

k > m/2?

The number of clauses is bounded by 2k.

What if k is at most m/2?

Page 16: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestion

Max Sat

Is there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

variables

Page 17: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestion

Max Sat

Is there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

GOAL

We have at most variables left.k

Page 18: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Variables

Clauses

Max Sat

Page 19: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Variables

Clauses

Max Sat

Page 20: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Max Sat

If we have at least k variables and we have a matching from Variables — Clauses

then we can say YES.

If we have at most k variables - nothing to do.

Page 21: Parameterized Algorithms - mpi-inf.mpg.de

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Max Sat

Else, we have at least k variables, but no matching from Variables — Clauses.

Page 22: Parameterized Algorithms - mpi-inf.mpg.de

Hall’s Theorem

Page 23: Parameterized Algorithms - mpi-inf.mpg.de

Hall’s Theorem

If, in a bipartite graph with parts A and B,there is no matching from A to B,

then there is a subset X of Asuch that

|N(X)| < |X|

Page 24: Parameterized Algorithms - mpi-inf.mpg.de

Hall’s Theorem

Page 25: Parameterized Algorithms - mpi-inf.mpg.de

Hall’s Theorem

Such an “obstructing set” can be computed in polynomial time.

Page 26: Parameterized Algorithms - mpi-inf.mpg.de

Hall’s Theorem

Such an “obstructing set” can be computed in polynomial time.[inclusion-minimal]

Page 27: Parameterized Algorithms - mpi-inf.mpg.de

Such an “obstructing set” can be computed in polynomial time.[inclusion-minimal]

Max Sat

V

C

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Page 28: Parameterized Algorithms - mpi-inf.mpg.de

Such an “obstructing set” can be computed in polynomial time.[inclusion-minimal]

Max Sat

V

C

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Page 29: Parameterized Algorithms - mpi-inf.mpg.de

Max Sat

V

C

removed |X| variables

removed |N(X)| clauses

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Page 30: Parameterized Algorithms - mpi-inf.mpg.de

Max Sat

Ask now if k - |N(X)| clauses can be satisfied.

V

C

removed |X| variables

removed |N(X)| clauses

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Page 31: Parameterized Algorithms - mpi-inf.mpg.de

Max Sat

V

C

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Page 32: Parameterized Algorithms - mpi-inf.mpg.de

Max Sat

V

C

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

We removed an inclusion-minimal violating set.

Page 33: Parameterized Algorithms - mpi-inf.mpg.de

MAX SAT

V

C

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Get rid of one vertex…

Page 34: Parameterized Algorithms - mpi-inf.mpg.de

MAX SAT

V

C

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

Get rid of one vertex…

Page 35: Parameterized Algorithms - mpi-inf.mpg.de

MAX SAT

V

C

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

The rest of it can be matched!

Get rid of one vertex…

Page 36: Parameterized Algorithms - mpi-inf.mpg.de

MAX SAT

InputQuestionIs there an assignment satisfying at least k clauses?

A CNF Formula over n variables with m clauses.

This implies a kernel with at most k variables and 2k clauses.

Page 37: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

Page 38: Parameterized Algorithms - mpi-inf.mpg.de

Input

Vertex Cover

A graph G = (V,E) with n vertices, m edges, and k.

Page 39: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Vertex Cover

Is there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 40: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Vertex Cover

Is there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

What if a vertex has more than k neighbors?

Page 41: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Vertex Cover

What if a vertex has more than k neighbors?

Is there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 42: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Vertex Cover

What if a vertex has more than k neighbors?

Is there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 43: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Vertex Cover

What if a vertex has more than k neighbors?

Is there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 44: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Vertex Cover

We cannot afford to leave v out ofany vertex cover of size at most k.

What if a vertex has more than k neighbors?

Is there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 45: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

If a vertex has more than k neighbors,

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 46: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

delete it from the graph and reduce the budget by one.

If a vertex has more than k neighbors,

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 47: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

When we have nothing more to do…

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 48: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

every vertex has degree at most k.

When we have nothing more to do…

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 49: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

every vertex has degree at most k.

When we have nothing more to do…

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 50: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

If the graph has more than k2 edges,

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 51: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

reject the instance.

If the graph has more than k2 edges,

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 52: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

Otherwise:

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 53: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

the number of edges is at most k2.

Otherwise:

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Page 54: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

the number of edges is at most k2.

Otherwise:

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

Vertices?

Page 55: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

the number of edges is at most k2.

Otherwise:

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

k2 edges can be involved in at most 2k2 vertices.Throw away isolated vertices.

Vertices?

Page 56: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

This implies a kernel with at most 2k2 vertices and k2 edges.

Page 57: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

This implies a kernel with at most 2k2 vertices and k2 edges.

Page 58: Parameterized Algorithms - mpi-inf.mpg.de

Vertex Cover

Input

QuestionIs there a subset of vertices S of size at most k that intersects all the edges?

A graph G = (V,E) with n vertices, m edges, and k.

This implies a kernel with at most 2k2 vertices and k2 edges.

[BUSS KERNELIZATION]

Page 59: Parameterized Algorithms - mpi-inf.mpg.de

Feedback Arc Set on Tournaments

Page 60: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament on n vertices and an integer k.

Page 61: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament on n vertices and an integer k.

A tournament has a cycle if, and only if, it has a triangle.

Page 62: Parameterized Algorithms - mpi-inf.mpg.de
Page 63: Parameterized Algorithms - mpi-inf.mpg.de
Page 64: Parameterized Algorithms - mpi-inf.mpg.de
Page 65: Parameterized Algorithms - mpi-inf.mpg.de
Page 66: Parameterized Algorithms - mpi-inf.mpg.de
Page 67: Parameterized Algorithms - mpi-inf.mpg.de
Page 68: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament on n vertices and an integer k.

A tournament has a cycle if, and only if, it has a triangle.

Delete a vertex if it does not belong to any triangle.

Page 69: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament on n vertices and an integer k.

A tournament has a cycle if, and only if, it has a triangle.

Delete a vertex if it does not belong to any triangle.

Page 70: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament on n vertices and an integer k.

Delete a vertex if it does not belong to any triangle.

Page 71: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament on n vertices and an integer k.

Delete a vertex if it does not belong to any triangle.

Page 72: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament on n vertices and an integer k.

Delete a vertex if it does not belong to any triangle.

Page 73: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament on n vertices and an integer k.

What about an edge that participates in more than k triangles?

Page 74: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament on n vertices and an integer k.

What about an edge that participates in more than k triangles?

Page 75: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament on n vertices and an integer k.

What about an edge that participates in more than k triangles?

Reverse it and decrease the budget by one.

Page 76: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament T on n vertices and an integer k.

Page 77: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament T on n vertices and an integer k.

At most k arcs in any solution.

Page 78: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament T on n vertices and an integer k.

At most k arcs in any solution.

Page 79: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament T on n vertices and an integer k.

At most k arcs in any solution.

Page 80: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament T on n vertices and an integer k.

At most k arcs in any solution.

Every vertex is in a triangle, and everyarc “sees” at most k triangles.

Page 81: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament T on n vertices and an integer k.

Page 82: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament T on n vertices and an integer k.

After reducing the graph, if there are more thank2 + 2k vertices,

reject the instance.

Page 83: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

Feedback Arc Set on Tournaments

Is there a subset of k arcs that can be reversed to make the tournament acyclic?

A tournament T on n vertices and an integer k.

This implies a kernel with at most k2 + 2k vertices.

Page 84: Parameterized Algorithms - mpi-inf.mpg.de

d-Hitting Set

Page 85: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

Page 86: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

Page 87: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

What if there are more than k sets with one element in common?

Page 88: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

☕�♤♧★☼

♕♖☕�♘♤ ⚖☕�✜✍♖

✂✍✎☕�♢

What if there are more than k sets with one element in common?

Page 89: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

What if there are more than k sets with one element in common, and every set is mutually disjoint otherwise?

Page 90: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

What if there are more than k sets with one element in common, and every set is mutually disjoint otherwise?

☕♤♧★☼

♕♖☕♘❀ ⚖☕✜✍♖

✂☞✎☕♢

Page 91: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

❀Sunflower Lemma

Page 92: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

Sunflower Lemma

{1,2,53,54,55} {1,2,68,69,67} {1,2,15,12,11} {1,2,23,24,29} {1,2,72,71,70}

Page 93: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

Sunflower Lemma

If a d-uniform family F has at least d!(k-1)d sets, then it has a subcollection of at least k sets that:

!have a common mutual intersection (a core)

are pairwise disjoint otherwise (petals).

Page 94: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

Sunflower Lemma [By the way…]

Sunflowers can also be computed in polynomial time.

Page 95: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

Intuition

As long as there is a sunflower involving at least k+1 petals, remove it and replace it with its core.

Page 96: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

{1,2,53,54,55} {1,2,68,69,67} {1,2,15,12,11} {1,2,23,24,29} {1,2,72,71,70}

Intuition

Page 97: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

{1,2}

Intuition

Page 98: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

Sunflower Lemma

The rule destroys d-uniformity. Fix this by iterating over d.

What if the core is empty? This means we have more than k disjoint sets,

so we can reject the instance.

Page 99: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

Sunflower Lemma

The rule destroys d-uniformity. Fix this by iterating over d.

What if the core is empty? This means we have more than k disjoint sets,

so we can reject the instance.

Page 100: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

Sunflower Lemma

The rule destroys d-uniformity. Fix this by iterating over d.

What if the core is empty? This means we have more than k disjoint sets,

so we can reject the instance.

Page 101: Parameterized Algorithms - mpi-inf.mpg.de

Input

Question

d-Hitting Set

Does U have a subset S of size at most k that intersects every set in F?

A family F of d-sized sets over an universe U, and k.

This implies a kernel with at most d!kd sets, and d(d!)kd elements.

Page 102: Parameterized Algorithms - mpi-inf.mpg.de

Feedback Vertex Set

Page 103: Parameterized Algorithms - mpi-inf.mpg.de

Problem Definition

Feedback Vertex Set Parameter: k

Input: An undirected graph G and a positiveinteger k.Question: Does there exists a subset X of sizeat most k such that G − X is acyclic?

X is called feedback-vertex set (fvs) of G.

Page 104: Parameterized Algorithms - mpi-inf.mpg.de

Problem Definition

Feedback Vertex Set Parameter: k

Input: An undirected graph G and a positiveinteger k.Question: Does there exists a subset X of sizeat most k such that G − X is acyclic?

X is called feedback-vertex set (fvs) of G.Goal is to obtain a polynomial kernel forFeedback Vertex Set.

Page 105: Parameterized Algorithms - mpi-inf.mpg.de

What reduction rules wealready know?

Reduction.FVSIf there is a loop at a vertex v, delete v from thegraph and decrease k by one.

Page 106: Parameterized Algorithms - mpi-inf.mpg.de

What reduction rules wealready know?

Multiplicity of a multiple edge does not influencethe set of feasible solutions to the instance (G, k).Reduction.FVSIf there is an edge of multiplicity larger than 2,reduce its multiplicity to 2.

Page 107: Parameterized Algorithms - mpi-inf.mpg.de

What reduction rules wealready know?

Any vertex of degree at most 1 does notparticipate in any cycle in G, so it can be deleted.Reduction.FVSIf there is a vertex v of degree at most 1, delete v.

Page 108: Parameterized Algorithms - mpi-inf.mpg.de

What reduction rules wealready know?

Concerning vertices of degree 2, observe that,instead of including into the solution any suchvertex, we may as well include one of itsneighbors.Reduction.FVSIf there is a vertex v of degree 2, delete v andconnect its two neighbors by a new edge.

Page 109: Parameterized Algorithms - mpi-inf.mpg.de

What do we achieve after allthese?

After exhaustively applying these four reductionrules, the resulting graph G

(P1) contains no loops,(P2) has only single and double edges, and(P3) has minimum vertex degree at least 3.

Page 110: Parameterized Algorithms - mpi-inf.mpg.de

Stopping rule.

A rule that stops the algorithm if we alreadyexceeded our budget.Reduction.FVSIf k < 0, terminate the algorithm and concludethat (G, k) is a no-instance.

Page 111: Parameterized Algorithms - mpi-inf.mpg.de

A picture :)

X

Y = V (G) \X

Page 112: Parameterized Algorithms - mpi-inf.mpg.de

Maximum degree is d.

X

Y = V (G) \X

Page 113: Parameterized Algorithms - mpi-inf.mpg.de

Maximum degree is d.

X

Y = V (G) \X∑

v∈V(G)

degree(v) = 2|E(G)|

Page 114: Parameterized Algorithms - mpi-inf.mpg.de

Maximum degree is d.

X

Y = V (G) \X

3|V(G)| ⩽∑

v∈V(G)

degree(v) = 2|E(G)|

Page 115: Parameterized Algorithms - mpi-inf.mpg.de

Maximum degree is d.

X

Y = V (G) \X

1.5|V(G)| ⩽ |E(G)|

Page 116: Parameterized Algorithms - mpi-inf.mpg.de

Maximum degree is d.

X

Y = V (G) \X

|E(G)| ⩽ d|X| + (|V(G)| − |X| − 1)

Page 117: Parameterized Algorithms - mpi-inf.mpg.de

Maximum degree is d.

X

Y = V (G) \X

1.5|V(G)| ⩽ |E(G)| ⩽ d|X| + (|V(G)| − |X|)

Page 118: Parameterized Algorithms - mpi-inf.mpg.de

Maximum degree is d.

X

Y = V (G) \X

1.5|V(G)| ⩽ |E(G)| ⩽ d|X| + (|V(G)| − |X|)

=⇒ |V(G)| ⩽ 2(d − 1)|X| ⩽ 2(d − 1)k.

Page 119: Parameterized Algorithms - mpi-inf.mpg.de

Summarizing:

LemmaIf a graph G has minimum degree at least 3,maximum degree at most d, and feedback vertexset of size at most k, then it has less than2(d − 1)k vertices and less than 2(d − 1)dk edges.

Page 120: Parameterized Algorithms - mpi-inf.mpg.de

Summarizing: (possible toprove)

LemmaIf a graph G has minimum degree at least 3,maximum degree at most d, and feedback vertexset of size at most k, then it has less than(d + 1)k vertices and less than 2dk edges.

Page 121: Parameterized Algorithms - mpi-inf.mpg.de

A new rule

Reduction.FVSIf |V(G)| ⩾ (d + 1)k or |E(G)| ⩾ 2dk, where d isthe maximum degree of G, then terminate thealgorithm and return that (G, k) is a no-instance.

Page 122: Parameterized Algorithms - mpi-inf.mpg.de

So what do we need to get thepolynomial kernel?

Page 123: Parameterized Algorithms - mpi-inf.mpg.de

So what do we need to get thepolynomial kernel?

Bound the maximum degree of thegraph by a polynomial in k.

Page 124: Parameterized Algorithms - mpi-inf.mpg.de

Part 2: RecapA Tale of 2 Matchings

Page 125: Parameterized Algorithms - mpi-inf.mpg.de

A

B

Consider a bipartite graph one of whose parts (say B) is atleast twics as big as the other (call this A).

Page 126: Parameterized Algorithms - mpi-inf.mpg.de

A

B

Assume that there are no isolated vertices in B.bleh

Page 127: Parameterized Algorithms - mpi-inf.mpg.de

Suppose, further, that for every subset S in A,N(S) is at least twice as large as |S|.

Page 128: Parameterized Algorithms - mpi-inf.mpg.de

S

N(S)

Suppose, further, that for every subset S in A,N(S) is at least twice as large as |S|.

Page 129: Parameterized Algorithms - mpi-inf.mpg.de

A

B

Then there exist two matchings saturating A,bleh

Page 130: Parameterized Algorithms - mpi-inf.mpg.de

A

B

Then there exist two matchings saturating A,bleh

Page 131: Parameterized Algorithms - mpi-inf.mpg.de

A

B

Then there exist two matchings saturating A,and disjoint in B.

Page 132: Parameterized Algorithms - mpi-inf.mpg.de

Claim:

If |B| ⩾ 2|A|, then there exists a subset X of A

such that:

there exists 2 matchings saturating the subset X

that are vertex-disjoint in B.

provided B does not have any isolated vertices.

Page 133: Parameterized Algorithms - mpi-inf.mpg.de

Claim:

If |B| ⩾ 2|A|, then there exists a subset X of A

such that:

there exists 2 matchings saturating the subset X

that are vertex-disjoint in B.

provided B does not have any isolated vertices.

Page 134: Parameterized Algorithms - mpi-inf.mpg.de

Claim:

If |B| ⩾ 2|A|, then there exists a subset X of A

such that:

there exists 2 matchings saturating the subset X

that are vertex-disjoint in B,

provided B does not have any isolated vertices.

Page 135: Parameterized Algorithms - mpi-inf.mpg.de

Crucially: it turns out that the endpoints of thematchings in B (the larger set) do not haveneighbors outside X.

Page 136: Parameterized Algorithms - mpi-inf.mpg.de
Page 137: Parameterized Algorithms - mpi-inf.mpg.de

A

B

Page 138: Parameterized Algorithms - mpi-inf.mpg.de

q-Expansion Lemma

Let q ⩾ 1 be a positive integer and G be a bipartite graph with vertexbipartition (A, B) such that

(i) |B| ⩾ q|A|, and(ii) there are no isolated vertices in B.

Then there exist nonempty vertex sets X ⊆ A and Y ⊆ B such that• there is a q-expansion of X into Y, and• no vertex in Y has a neighbor outside X, that is, N(Y) ⊆ X.

Furthermore, the sets X and Y can be found in time polynomial in thesize of G.

Page 139: Parameterized Algorithms - mpi-inf.mpg.de

q-Expansion Lemma

Let q ⩾ 1 be a positive integer and G be a bipartite graph with vertexbipartition (A, B) such that

(i) |B| ⩾ q|A|, and(ii) there are no isolated vertices in B.

Then there exist nonempty vertex sets X ⊆ A and Y ⊆ B such that• there is a q-expansion of X into Y, and• no vertex in Y has a neighbor outside X, that is, N(Y) ⊆ X.

Furthermore, the sets X and Y can be found in time polynomial in thesize of G.

We will use this lemma with q = 2.

Page 140: Parameterized Algorithms - mpi-inf.mpg.de

Part 32-Expansions and FVS

Page 141: Parameterized Algorithms - mpi-inf.mpg.de

• For Vertex Cover – if a vertex has degreek + 1 then we must have it in the solution.

Page 142: Parameterized Algorithms - mpi-inf.mpg.de

• For Vertex Cover – if a vertex has degreek + 1 then we must have it in the solution.

What would be the analogous rule for Feedbackvertex Set.

Page 143: Parameterized Algorithms - mpi-inf.mpg.de

• For Vertex Cover – if a vertex has degreek + 1 then we must have it in the solution.

What would be the analogous rule for Feedbackvertex Set.For Vertex Cover – wanted to hit edges andfor Feedback vertex Set – want to hit cycles..

Page 144: Parameterized Algorithms - mpi-inf.mpg.de

Flower

v

k + 1− vertex disjoint

cycles passing through it

Page 145: Parameterized Algorithms - mpi-inf.mpg.de

Flower Rule.

Reduction.FVSIf there is a k + 1-flower passing through a vertexv then (G \ {v}, k − 1).

Page 146: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

Any feedback vertex set whose size is apolynomial function of k.

When the largest collection of vertex disjointpaths from N(v) to N(v) is small.

Page 147: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

A subset whose removal makes the graph acyclic.

When the largest collection of vertex disjointpaths from N(v) to N(v) is small.

Page 148: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

A polynomial function of k.

When the largest collection of vertex disjointpaths from N(v) to N(v) is small.

Page 149: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

Find an approximate feedback vertex set T .

When the largest collection of vertex disjointpaths from N(v) to N(v) is small.

Page 150: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

If T does not contain v, we are done.

When the largest collection of vertex disjointpaths from N(v) to N(v) is small.

Page 151: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

Else: v ∈ T . Delete T \ v from G.

When the largest collection of vertex disjointpaths from N(v) to N(v) is small.

Page 152: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

The only remaining cycles pass through v.

When the largest collection of vertex disjointpaths from N(v) to N(v) is small.

Page 153: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

Find an optimal cut set for paths from N(v) toN(v).

When the largest collection of vertex disjointpaths from N(v) to N(v) is small.

Page 154: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

When is this cut set small enough?

When the largest collection of vertex disjointpaths from N(v) to N(v) is small.

Page 155: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

When is this cut set small enough?

When the largest collection of vertex disjointpaths from N(v) to N(v) is small.

Page 156: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

When is this cut set small enough?

When the largest collection of vertex disjointpaths from N(v) to N(v) is not small...

Page 157: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

When is this cut set small enough?

When the largest collection of vertex disjointpaths from N(v) to N(v) is not small... we get areduction rule.

Page 158: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

When is this cut set small enough?

More than k vertex-disjoint paths from N(v) toN(v)→ v belongs to any feedback vertex set(k + 1-flower) of size at most k.

Page 159: Parameterized Algorithms - mpi-inf.mpg.de

Given a high-degree vertex v, finding a smallfeedback vertex set that does not contain v.

When is this cut set small enough?

So either v “forced”, or we have feedback vertexset of suitable size.Notice that we need to arrive at either situationin “polynomial time”.

Page 160: Parameterized Algorithms - mpi-inf.mpg.de

Approximate fvs

• There is a factor 2 approximation algorithmfor Feedback Vertex Set. So use this toget T . If |T | > 2k return no-instance. Else,we have the desired T .

Page 161: Parameterized Algorithms - mpi-inf.mpg.de

Approximate fvs

• There is a factor 2 approximation algorithmfor Feedback Vertex Set. So use this toget T . If |T | > 2k return no-instance. Else,we have the desired T .

• We have seen if G has minimum degree 3,then any fvs of size at most k contains oneamong the first 3k vertices of highest degree.Use this to get T of size 3k2 or returnno-instance.

Page 162: Parameterized Algorithms - mpi-inf.mpg.de

fvs without v when v ∈ T .

• Zv = T \ {v} + W(something more).

Page 163: Parameterized Algorithms - mpi-inf.mpg.de

fvs without v when v ∈ T .

• Zv = T \ {v} + W(something more).

Forest

v

Page 164: Parameterized Algorithms - mpi-inf.mpg.de

fvs without v when v ∈ T .

Forest

v

W will be a fvs for Forest + v.

Page 165: Parameterized Algorithms - mpi-inf.mpg.de

• Check whether there is a k + 1-flowercontaining v in Forest + v (if yes then wehave reduction rule). (How to find?)

••

Page 166: Parameterized Algorithms - mpi-inf.mpg.de

• Check whether there is a k + 1-flowercontaining v in Forest + v (if yes then wehave reduction rule). (How to find?)

• Else, we can show that there is fvs forForest + v of size at most 2k.

Page 167: Parameterized Algorithms - mpi-inf.mpg.de

Book – Gallai Theorem

Theorem (Gallai)Given a simple graph G, a set T ⊆ V(G) and aninteger s, one can in polynomial time find either

..1 a family of s + 1 pairwise vertex-disjointT -paths, or

..2 a set B of at most 2s vertices, such that inG \ B no connected component contains morethan one vertex of T .

Page 168: Parameterized Algorithms - mpi-inf.mpg.de

What did we show.

• For every vertex v either there is ak + 1-flower passing through v or there is aZv of size at most 4k that does not include v

and is a fvs of G.••

Page 169: Parameterized Algorithms - mpi-inf.mpg.de

What did we show.

• For every vertex v either there is ak + 1-flower passing through v or there is aZv of size at most 4k that does not include v

and is a fvs of G.• In the first case we apply Flower Rule.•

Page 170: Parameterized Algorithms - mpi-inf.mpg.de

What did we show.

• For every vertex v either there is ak + 1-flower passing through v or there is aZv of size at most 4k that does not include v

and is a fvs of G.• In the first case we apply Flower Rule.• Assume that the first case does not happen,

so we have Zv of size at most 4k for everyvertex v ∈ V(G).

Page 171: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

Page 172: Parameterized Algorithms - mpi-inf.mpg.de

Focussing on the green Part

Consider the connected componentsof V(G) \ (Zv ∪ {v}).

Page 173: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

Page 174: Parameterized Algorithms - mpi-inf.mpg.de

Could v have two neighbor in aconnected components of

V(G) \ (Zv ∪ {v})?

Page 175: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

Page 176: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

Page 177: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

Page 178: Parameterized Algorithms - mpi-inf.mpg.de

There could be components inV(G) \ (Zv ∪ {v}) that do not see

any neighbor of v. Important, for usis that any component contains atmost one neighbor of v and we will

focus on them.

Page 179: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

Page 180: Parameterized Algorithms - mpi-inf.mpg.de

To bound the degree of v or to deletean edge incident to v we only focuson those components that containsome (exactly one) neighbor of v.

Page 181: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

Page 182: Parameterized Algorithms - mpi-inf.mpg.de

To apply 2-expansion lemma weneed a bipartite graph. In one part(say B) we will have a vertex for

every component in V(G) \ (Zv ∪ {v})that contains a neighbor of v.

Page 183: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

Page 184: Parameterized Algorithms - mpi-inf.mpg.de

To apply 2-expansion lemma weneed a bipartite graph. In one part(say B) we will have a vertex for

every component in V(G) \ (Zv ∪ {v})that contains a neighbor of v. The

other part A will be Zv.

Page 185: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

Page 186: Parameterized Algorithms - mpi-inf.mpg.de

• So we have A and B. We put an edgebetween a vertex x in A and a vertex w in B,if x is adjacent to some vertex in thecomponent represented by the vertex w.Essentially, we have obtained this bipartitegraph by contracting the components.

Page 187: Parameterized Algorithms - mpi-inf.mpg.de

• So we have A and B. We put an edgebetween a vertex x in A and a vertex w in B,if x is adjacent to some vertex in thecomponent represented by the vertex w.Essentially, we have obtained this bipartitegraph by contracting the components.

• If |B| < 2|A| ⩽ 8k then v already has itsdegree bounded by 8k. So assume that

|B| > 2|A|

Page 188: Parameterized Algorithms - mpi-inf.mpg.de

Now by expansion lemma (applied with q = 2 )we have that there exist nonempty vertex setsX ⊆ A and Y ⊆ B such that

• there is a 2-expansion of X into Y, and• no vertex in Y has a neighbor outside X, that

is, N(Y) ⊆ X.

Page 189: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

by 2-expansion

lemma:

Page 190: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

by 2-expansion

lemma:

Page 191: Parameterized Algorithms - mpi-inf.mpg.de

So the reduction ruleis:

Page 192: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

by 2-expansion

lemma:

Page 193: Parameterized Algorithms - mpi-inf.mpg.de

... and add thefollowing edges if

already not present.

Page 194: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

by 2-expansion

lemma:

Page 195: Parameterized Algorithms - mpi-inf.mpg.de

Let us argue correctness!

Page 196: Parameterized Algorithms - mpi-inf.mpg.de

The Forward Direction

FVS ⩽ k in G ⇒ FVS ⩽ k in H

Page 197: Parameterized Algorithms - mpi-inf.mpg.de

The Forward Direction

FVS ⩽ k in G ⇒ FVS ⩽ k in H

Page 198: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

by 2-expansion

lemma:

Page 199: Parameterized Algorithms - mpi-inf.mpg.de

If G has a FVS that either contains v or all of X,we are in good shape.

Page 200: Parameterized Algorithms - mpi-inf.mpg.de

Consider now a FVS that:• Does not contain v,• and omits at least one vertex of X.

Page 201: Parameterized Algorithms - mpi-inf.mpg.de
Page 202: Parameterized Algorithms - mpi-inf.mpg.de
Page 203: Parameterized Algorithms - mpi-inf.mpg.de
Page 204: Parameterized Algorithms - mpi-inf.mpg.de

Notice that this does not lead to a larger FVS:

For every vertex v in X that a FVS of G leavesout,

it must pick a vertex u that kills no more than allof X.

Page 205: Parameterized Algorithms - mpi-inf.mpg.de

Notice that this does not lead to a larger FVS:

For every vertex v in X that a FVS of G leavesout,

it must pick a vertex u that kills no more than allof X.

Page 206: Parameterized Algorithms - mpi-inf.mpg.de

Notice that this does not lead to a larger FVS:

For every vertex v in X that a FVS of G leavesout,

it must pick a vertex u that kills no more than allof X.

Page 207: Parameterized Algorithms - mpi-inf.mpg.de

The Reverse Direction

FVS ⩽ k in G ⇐ FVS ⩽ k in H

Page 208: Parameterized Algorithms - mpi-inf.mpg.de

The Reverse Direction

FVS ⩽ k in G ⇐ FVS ⩽ k in H

Page 209: Parameterized Algorithms - mpi-inf.mpg.de

The Reverse Direction

FVS ⩽ k in G ⇐ FVS ⩽ k in H

If FVS in H contains v then the same works for G

also as G \ {v} is isomorphic to H \ {v}. So assumethat FVS in H does not contain v.

Page 210: Parameterized Algorithms - mpi-inf.mpg.de

The Reverse Direction

FVS ⩽ k in G ⇐ FVS ⩽ k in H

If FVS in H contains v then the same works for G

also as G \ {v} is isomorphic to H \ {v}. So assumethat FVS in H does not contain v.

Page 211: Parameterized Algorithms - mpi-inf.mpg.de

forest

hitting set that excludes v

v

by 2-expansion

lemma:

Page 212: Parameterized Algorithms - mpi-inf.mpg.de

Let W be a FVS of H, the Only Danger for W tobe a FVS of G:

Cycles that:• pass through v,• non-neighbors of v in H (neighbors in G,

however)• and do not pass through X.

Page 213: Parameterized Algorithms - mpi-inf.mpg.de
Page 214: Parameterized Algorithms - mpi-inf.mpg.de

Let W be a FVS of H, the Only Danger for W tobe a FVS of G:

Cycles that:• pass through v,• non-neighbors of v in H (neighbors in G,

however)• and do not pass through X.

However recall that N(Y) ⊆ X.

Page 215: Parameterized Algorithms - mpi-inf.mpg.de
Page 216: Parameterized Algorithms - mpi-inf.mpg.de

Wrapping Up

• A priori it is not obvious that previousReduction Rule actually makes somesimplification of the graph, since itsubstitutes some set of edges with some otherset of double edges!

Page 217: Parameterized Algorithms - mpi-inf.mpg.de

Wrapping Up

• A priori it is not obvious that previousReduction Rule actually makes somesimplification of the graph, since itsubstitutes some set of edges with some otherset of double edges!

• We need to formally prove that the reductionrules cannot be applied infinitely, orsuperpolynomially many times.

Page 218: Parameterized Algorithms - mpi-inf.mpg.de

Final Result

TheoremFeedback Vertex Set admits a kernel with atmost O(k2) vertices and O(k2) edges.

Page 219: Parameterized Algorithms - mpi-inf.mpg.de

Thank You.

Slices Courtesy: Neeldhara Misra and Saket Saurabh.