parameterized algorithms the basics

48
U N I V E R S I T Y O F B E R G E N Parameterized Algorithms The Basics Bart M. P. Jansen August 18th 2014, Będlewo

Upload: livana

Post on 05-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Insert « Academic unit» on every page: 1 Go to the menu «Insert» 2 Choose: Date and time 3 Write the name of your faculty or department in the field «Footer» 4 Choose «Apply to all". Parameterized Algorithms The Basics. Bart M. P. Jansen. August 18th 2014, Będlewo. Why we are here. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Parameterized Algorithms The Basics

U N I V E R S I T Y O F B E R G E N

Parameterized AlgorithmsThe Basics

Bart M. P. Jansen

August 18th 2014, Będlewo

Page 2: Parameterized Algorithms The Basics

Why we are here

• To create the recipes that make computers solve our problems efficiently– With a bounded number of resources (memory, time)

• We measure the quality of an algorithm by the dependence of its running time on the size of the input– For an -bit input, the running time can be – Smaller functions are better, but as a general guideline:

• Polynomials are good, exponential functions are bad

• Unfortunately, many problems are NP-complete

• We believe that for NP-complete problems, there is no algorithm that:– always gives the right answer, and whose– running time is bounded by a polynomial function of the input size

2

Page 3: Parameterized Algorithms The Basics

Dealing with NP-complete problems

Approximation Sacrifice quality of the solution: quickly find a solution that is provably not very bad

Local search Quickly find a solution for which you cannot give any quality guarantee (but which might often be good)

Branch & bound

Sacrifice running time guarantees: create an algorithm for which you do not know how long it will take (but which might do well on the inputs you use)

Parameterized algorithms

Sacrifice the running time: allow the running time to have an exponential factor, but ensure that the exponential dependence is not on the entire input size but just on some parameter that is hopefully small

Kernelization Quickly shrink the input by preprocessing so that afterward running an exponential-time algorithm on the shrunk instance is fast enough

3

Page 4: Parameterized Algorithms The Basics

History of parameterized complexity

1940 1950 1960 1970 1980 1990 2000 2010 …

Simplex algorithm

MATCHING

algorithm

NP-completeness

Graph Minors

Theorem

PCP Theorem

Parameterized(in)tractability

Downey & Fellows book

Planar DOMINATING SET

kernel

Kernelization lower bounds

Będlewo school

4

Page 5: Parameterized Algorithms The Basics

1985 1990 1995 2000 2005 2010 20150

200

400

600

800

1000

1200

Google Scholar Papers on FPT and Kernelization

FPT Kernelization

5

Page 6: Parameterized Algorithms The Basics

This lecture

Fixed-parameter tractability

• VERTEX COVER• FEEDBACK ARC SET in Tournaments

Kernelization algorithms

• VERTEX COVER• FEEDBACK VERTEX SET

Bounded-depth search trees

• SET COVER

Dynamic programming

6

Page 7: Parameterized Algorithms The Basics

FIXED-PARAMETER TRACTABILITY

7

Page 8: Parameterized Algorithms The Basics

Parameterized problems

• As usual in complexity theory, we primarily study decision problems (YES/NO questions)– OPTIMIZATION: “Find the shortest path from to ”– DECISION: “Is there a path from to of length at most ?”

• Having an efficient algorithm for one typically gives an efficient algorithm for the other

• A parameterized problem is a decision problem where we associate an integer parameter to each instance– The parameter measures some aspect of the instance

8

Page 9: Parameterized Algorithms The Basics

Problem parameterizations

• PACKET DELIVERY PROBLEMInput: A graph , a starting vertex , a set of delivery vertices, and an integer Question: Is there a cycle in that starts and ends in ,

visits all vertices in , and has length at most ?

• There are many possible parameters for this problem:– The length of the tour– The number of delivery points – Graph-theoretic measures of how complex is (treewidth,

cliquewidth, vertex cover number)

• Parameterized complexity investigates:Can the problem be solved efficiently,

if the parameter is small?9

Page 10: Parameterized Algorithms The Basics

Fixed-parameter tractability – informally

• A parameterized problem is fixed-parameter tractable if there is an algorithm that solves size- inputs with parameter value in time for some constant and function

• For each fixed , there is a polynomial-time algorithm

• VERTEX COVER: – “Can all the edges of this -vertex graph be covered by at

most vertices?”– Solvable in time , so FPT

10

Page 11: Parameterized Algorithms The Basics

Fixed-parameter tractability – formally

• Let be a finite alphabet used to encode inputs– ( for binary encodings)

• A parameterized problem is a set

• The set contains the tuples where the answer to the question encoded by is yes; is the parameter

• The parameterized problem is fixed-parameter tractable if there is an algorithm that, given an input , – decides if belongs to or not, and– runs in time for some function and constant

11

Page 12: Parameterized Algorithms The Basics

KERNELIZATION

12

Page 13: Parameterized Algorithms The Basics

Data reduction with a guarantee

• Kernelization is a method for parameterized preprocessing– Efficiently reduce an instance to an equivalent instance of

size bounded by some

• One of the simplest ways of obtaining FPT algorithms– Apply a brute force algorithm on the shrunk instance to get

an FPT algorithm

• Kernelization also allows a rigorous mathematical analysis of efficient preprocessing

13

Page 14: Parameterized Algorithms The Basics

The VERTEX COVER problem

Input: An undirected graph and an integer Parameter:Question: Is there a set of at most vertices in , such

that each edge of has an endpoint in ?

• Such a set S is a vertex cover of

14

Page 15: Parameterized Algorithms The Basics

Reduction rules for VERTEX COVER – (R1)

(R1) If there is an isolated vertex , delete from – Reduce to the instance

15

(𝐺=,𝑘=7)

(𝐺 ′= ,𝑘 ′=7)

Page 16: Parameterized Algorithms The Basics

Reduction rules for VERTEX COVER – (R1)

(R1) If there is an isolated vertex , delete from – Reduce to the instance

• To ensure that a reduction rule does not change the answer, we have to prove safeness of the reduction rule

• If is transformed into then we should prove that:

is a YES-instance is a YES-instance

16

Page 17: Parameterized Algorithms The Basics

Reduction rules for VERTEX COVER – (R1)

(R1) If there is an isolated vertex , delete from – Reduce to the instance

17

(𝐺=,𝑘=7)

(𝐺 ′= ,𝑘 ′=7)

Page 18: Parameterized Algorithms The Basics

Reduction rules for VERTEX COVER – (R2)

18

(𝐺=,𝑘=7)

(𝐺 ′= ,𝑘 ′=6)

(R2) If there is a vertex of degree more than , then delete (and its incident edges) from and decrease the parameter by 1

– Reduce to the instance

Page 19: Parameterized Algorithms The Basics

Reduction rules for VERTEX COVER – (R3)

(R3) If the previous rules are not applicable and has more than vertices or more than edges, then conclude that we are dealing with a NO-instance

19

Page 20: Parameterized Algorithms The Basics

Correctness of the cutoff rule

• Claim. If is exhaustively reduced under (R1)-(R2) and has more than vertices or edges, then there is no size- vertex cover

• Proof. – Suppose has a vertex cover – Since (R1) does not apply, every vertex of has at least one edge– Since (R2) does not apply, every vertex has degree at most :

– So – So if has a size- vertex cover, and

20

S

≤𝑘

Page 21: Parameterized Algorithms The Basics

Preprocessing for VERTEX COVER

• (R1)-(R3) can be exhaustively applied in polynomial time

• In polynomial time, we can reduce a VERTEX COVER instance to an instance such that:– the two instances are equivalent: has answer YES if and

only if has answer YES– instance has at most vertices and edges

• This gives an FPT algorithm to solve an instance :– Compute reduced instance – Solve by brute force: try all vertex subsets

• For each , test if it is a vertex cover of size at most

21

Theorem. -VERTEX COVER is fixed-parameter tractable

Page 22: Parameterized Algorithms The Basics

Kernelization – formally

• Let be a parameterized problem and

• A kernelization (or kernel) for of size is an algorithm that, given , takes time polynomial in , and outputs an instance such that:

• A polynomial kernel is a kernel whose function is a polynomial

22

Theorem. A parameterized problem is fixed-parameter tractable if and only if it is decidable and

has a kernel (of arbitrary size)

Page 23: Parameterized Algorithms The Basics

Kernel for FEEDBACK ARC SET IN TOURNAMENTS

Input: A tournament and an integer Parameter:Question: Is there a set of at most directed edges in ,

such that is acyclic?

23

Page 24: Parameterized Algorithms The Basics

Reduction rules for FEEDBACK ARC SET

(R1) If vertex is not in any triangle, then remove

(R2) If edge is in at least distinct triangles, reverse it and decrease by one

(R3) If the previous rules are not applicable and has more than vertices, then conclude that we are dealing with a NO-instance

24

Theorem. -FEEDBACK ARC SET IN TOURNAMENTS has a kernel with vertices

Page 25: Parameterized Algorithms The Basics

High-level kernelization strategy

• Compare to VERTEX COVER:– (R1) deals with elements that do not constrain the solution– (R2) deals with elements that must be in any solution– (R3) deals with graphs that remain large after reduction

25

Page 26: Parameterized Algorithms The Basics

BOUNDED-DEPTH SEARCH TREES

26

Page 27: Parameterized Algorithms The Basics

Background

• A branching algorithm that explores a search tree of bounded depth is one of the simplest types of FPT algorithms

• Main idea:– Reduce problem instance to solving a bounded number of

instances with parameter

• If you can solve in polynomial time using the answers to two instances and , then the problem can be solved in time– (assuming the case is polynomial-time solvable)

• If you generate subproblems instead of 2, then the problem can be solved in time

27

Page 28: Parameterized Algorithms The Basics

A search tree

(𝑥 ,𝑘=3)

(𝑥7 ,0) (𝑥8 ,0) (𝑥9 ,0) (𝑥10 ,0) (𝑥11 ,0) (𝑥12 ,0) (𝑥13 ,0) (𝑥14 ,0)

(𝑥3 ,1) (𝑥4 ,1) (𝑥5 ,1) (𝑥6 ,1)

(𝑥1 ,2) (𝑥2 ,2)

28

Page 29: Parameterized Algorithms The Basics

Analysis of bounded-depth search trees

• If the parameter decreases for each recursive call, the depth of the tree is at most

• # nodes in a depth- tree with leaves is – Usually sufficient to bound the number of leaves

• If the computation in each node takes polynomial time, total running time is

29

Page 30: Parameterized Algorithms The Basics

VERTEX COVER revisited

Input: A graph and an integer Parameter:Question: Is there a set of at most vertices in , such

that each edge has an endpoint in ?

30

Page 31: Parameterized Algorithms The Basics

Algorithm for VERTEX COVER

• Algorithm VC(Graph , integer )

• if then return NO

• if has no edges then return YES

• else pick an edge in and let and be its endpoints– return (VC OR (VC)

• Correct because any vertex cover must use or

• A size- vertex cover in G that uses , yields a size- vertex cover in

31

Page 32: Parameterized Algorithms The Basics

Running time for VERTEX COVER

• Every iteration either solves the problem directly or makes two recursive calls with a decreased parameter

• The branching factor of the algorithm–and therefore of the search tree–is two

• Tree of depth with branching factor has at most leaves– Running time is – Much better than from the kernelization algorithm

• One way to faster algorithms:– Pick a vertex of maximum degree, recurse on

and

32

Page 33: Parameterized Algorithms The Basics

The FEEDBACK VERTEX SET problem

Input: An undirected (multi)graph and an integer Parameter:Question: Is there a set of at most vertices in , such

that each cycle contains a vertex of ?

• We allow multiple edges and self-loops

• Such a set is a feedback vertex set of – Removing from results in an acyclic graph, a forest

33

Page 34: Parameterized Algorithms The Basics

Branching for FEEDBACK VERTEX SET

• For VERTEX COVER, we could easily identify a set of vertices to branch on: the two endpoints of an edge

• For feedback vertex set, a solution may not contain any endpoint of an edge– How should we branch?

• We will find a set of vertices such that any size- feedback vertex set contains a vertex of

• To find we first have to simplify the graph using reduction rules that do not change the answer

34

Page 35: Parameterized Algorithms The Basics

Reduction rules

(R1) If there is a loop at vertex , then delete and decrease by one

(R2) If there is an edge of multiplicity larger than , then reduce its multiplicity to

(R3) If there is a vertex of degree at most , then delete

(R4) If there is a vertex of degree two, then delete and add an edge between ’s neighbors

35

If (R1-R4) cannot be applied anymore, then the minimum degree is at least

Observation. If is transformed into , then:1. FVS of size in FVS of size in 2. Any feedback vertex set in is a feedback vertex set in when

combined with the vertices deleted by (R1)

Page 36: Parameterized Algorithms The Basics

Identifying a set to branch on

• Let be a graph whose vertices have degree three or more– Order the vertices as by decreasing degree– Let be the largest-degree vertices

• Lemma. If all vertices of have degree 3 or more, then any size- feedback vertex set of contains a vertex from

• So if there is a size- solution, it contains a vertex of – For each recurse on the instance

• Gives an algorithm with running time – Apply the reduction rules, compute , then branch

36

Page 37: Parameterized Algorithms The Basics

A useful claim

• Claim. If is a feedback vertex set of , then

• Proof. Graph is a forest– So – Every edge not in , is incident with a vertex of

• With this claim, we can prove the degree lemma

37

Page 38: Parameterized Algorithms The Basics

Proving the degree lemma

• Lemma. If all vertices of have degree 3 or more, then any size- feedback vertex set of G contains a vertex from

• Proof by contradiction. – Let be a size- feedback vertex set with – By choice of we have:

, so:

– Define . Since :

By the previous

claim

38

Page 39: Parameterized Algorithms The Basics

Proving the degree lemma (II)

• The degree sum counts every edge twice:

• Combining these:

• So

• But since all vertices have degree we have:

• Contradiction

39

Page 40: Parameterized Algorithms The Basics

A final word on bounded-depth search trees

• The degree lemma proves the correctness of our branching strategy for FEEDBACK VERTEX SET

• When building a branching algorithm for a parameterization by the solution size:– Find an -size set that contains a vertex of the solution– Branch in directions, trying all possibilities– We get a search tree of depth and branching factor

• You can think of the branching process as guessing

40

Page 41: Parameterized Algorithms The Basics

DYNAMIC PROGRAMMING

41

Page 42: Parameterized Algorithms The Basics

The SET COVER problem

Input: A set family over a universe and an integer Parameter:Question: Is there a subfamily of at most sets,

such that

• The subfamily covers the universe

• SET COVER parameterized by the universe size is FPT– Algorithm with running time – Based on dynamic programming

42

𝐹 1𝐹 2𝐹 3𝐹 4

Page 43: Parameterized Algorithms The Basics

Dynamic programming for SET COVER

• Let

• We define a DP table for and = min nr. of sets from needed to cover Or if impossible

• The value gives the minimum size of a set cover– To solve the problem, compute using base cases and a

recurrence

43

Page 44: Parameterized Algorithms The Basics

Filling the dynamic programming table

• = min nr. of sets from needed to cover

Base case: if , otherwise it is

Recursive step:

• Skip set , or pay for and afterwards cover

• Each entry can be computed in polynomial time– entries in total

44

Page 45: Parameterized Algorithms The Basics

More on dynamic programming

• Dynamic programming is a memory-intensive algorithmic paradigm that yields FPT algorithms in various situations– Here: dynamic programming over subsets of – Later: dynamic programming over tree decompositions

• Research challenge: – Determine whether the factor can be improved to for

some

45

Page 46: Parameterized Algorithms The Basics

Exercises

• Prove the safeness that the reduction rules for FEEDBACK ARC SET in tournaments are safe

• Improve the running time of the Vertex Cover branching algorithm to

From this lecture ..

• 2.4, 2.7, 2.9, 2.14

Kernelization

• 3.2, 3.4, 3.7, 3.8

Branching

• 6.2

Dynamic programming

46

Page 47: Parameterized Algorithms The Basics

Summary

• Parameterized algorithmics is a young, vibrant research area that investigates how to cope with NP-completeness

• We saw three ways of building FPT algorithms:1. Kernelization2. Bounded-depth search trees3. Dynamic programming over subsets

47

Page 48: Parameterized Algorithms The Basics

The end