2 Kernelization The story: We want to obtain FPT results. Kernelization is a nice and useful technique for obtaining FPT results. Kernelization + brute force (exact algorithm) can show that a problem is FPT. Which problems can be solved by kernelization + brute force? What s next?reductions other than kernelization p.2/34

3 Kernelization Lemma: Every FPT problem has a kernel. Proof: Suppose there is an f (k)n c algorithm for the problem. If f (k) n, then solve the instance in time f (k)n c n c+1, and output a trivial yes- or no-instance. If n < f (k), then we are done: a kernel of size f (k) is obtained. What s next?reductions other than kernelization p.3/34

4 Kernelization Lemma: Every FPT problem has a kernel. Proof: Suppose there is an f (k)n c algorithm for the problem. If f (k) n, then solve the instance in time f (k)n c n c+1, and output a trivial yes- or no-instance. If n < f (k), then we are done: a kernel of size f (k) is obtained. Every FPT result can be obtained as kernelization + brute force! FPT = Kernelization + Exact algorithms What s next?reductions other than kernelization p.3/34

7 ETH Exponential Time Hypothesis (ETH): n-variable 3SAT cannot be solved in time 2 o(n). Formulated by Impagliazzo, Paturi, and Zane in 2001, since then many lower bounds were proved based on ETH (equivalent to FPT M[1] and implies FPT W[1]). What s next?reductions other than kernelization p.5/34

8 ETH Exponential Time Hypothesis (ETH): n-variable 3SAT cannot be solved in time 2 o(n). Formulated by Impagliazzo, Paturi, and Zane in 2001, since then many lower bounds were proved based on ETH (equivalent to FPT M[1] and implies FPT W[1]). Lower bound for k-path: Sparsification Lemma: Assuming ETH, m-clause 3SAT cannot be solved in time 2 o(m). The k-path problem is NP-hard: an m-clause 3SAT formula can be reduced to a k-path instance with k = O(m) and O(m) edges/vertice. Assuming ETH, there is no O (2 o(k) ) time parameterized algorithm and no O (2 o( E(G) ) ) or O (2 o( V(G) ) ) time exact algorithm for k-path. What s next?reductions other than kernelization p.5/34

9 Efficiency We have seen: Assuming ETH, there is no 2 o( V(G) ) exact algorithm for k-path. Thus if we want a O (2 O(kc) ) time algorithm by kernelization + exact algorithm, then we need a kernel with V(G) = O(k c ). What s next?reductions other than kernelization p.6/34

12 Kernelization The extended story: We want to obtain FPT results. Kernelization is a nice and useful technique for obtaining FPT results. Kernelization + brute force (exact algorithm) can show that a problem is FPT. Every FPT membership result can be obtained this way, but for some problems this approach does not give the most efficient FPT algorithms. We have lower bound techniques to show that kernelization is not the right approach for some problems (or at least it does not tell the full story). What s next?reductions other than kernelization p.7/34

13 Tools vs. problems We have a list of problems that we want to solve: What s next?reductions other than kernelization p.8/34

14 Tools vs. problems We have a list of problems that we want to solve: And we have a set of techniques: What s next?reductions other than kernelization p.8/34

15 Tools vs. problems A problem can be solved by several (combination of) techniques What s next?reductions other than kernelization p.9/34

16 Tools vs. problems A problem can be solved by several (combination of) techniques but not all of them are the right way of solving the problem. What s next?reductions other than kernelization p.9/34

17 Efficiency An example where kernelization + brute force is efficient: k-vertex COVER has a 2k-vertex kernel and can be solved in O (2 V(G) ) time by brute force O (4 k ) time algorithm. What s next?reductions other than kernelization p.10/34

18 Efficiency An example where kernelization + brute force is efficient: k-vertex COVER has a 2k-vertex kernel and can be solved in O (2 V(G) ) time by brute force O (4 k ) time algorithm. An example where kernelization + exact algorithms is currently not efficient: Current best kernel for FEEDBACK VERTEX SET has O(k 2 ) edges/vertices [Thomassé 2009] Assuming ETH, there is no 2 o(n) exact algorithm. Currently O (c k2 ) is the best possible by kernelization + exact algorithm, but can be solved in time O (c k ) by other techniques. What s next?reductions other than kernelization p.10/34

25 Branching A typical technique: a NECESSARY SET is a set N of elements such that every solution contains at least one element of N branch on the elements on N. N is constant O (c k ) algorithm. N = O(k) O (k k ) = O (2 O(k log k) ) algorithm. N = O(log n) O (log k n) algorithm We will focus on O (c k ) type branching algorithms! Which problems can be solved (efficiently) by branching? What s next?reductions other than kernelization p.12/34

26 Branching rules Definition: A branching rule for a parameterized problem P is a polynomial-time algorithm that given an instance (I, k) with k > 1, produces instances (I 1, k 1 ),..., (I c, k c ) such that I j I for every 1 j c, k j <k for every 1 j c, and (I,k) is a yes-instance if and only if there is a 1 j c such that (I j, k j ) is a yes-instance, for some constant c. Observation: Given a branching rule for P, we can solve the problem in time O (c k ) by a bounded search tree algorithm. What s next?reductions other than kernelization p.13/34

27 Example WEIRD VERTEX COVER Input: A graph G and an integer k Output: YES if G has a vertex cover of size k and k is a power of 2 NO otherwise Does WEIRD VERTEX COVER have a branching rule? What s next?reductions other than kernelization p.14/34

28 Example WEIRD VERTEX COVER Input: A graph G and an integer k Output: YES if G has a vertex cover of size k and k is a power of 2 NO otherwise Does WEIRD VERTEX COVER have a branching rule? Observation: If the branching rule produces (I 1, k 1 ),..., (I c, k c ) from (I, k), then k j k/2 for every j (otherwise k j is not a power of 2). The height of the search tree is log k. The size of the search tree is polynomial in k. No branching rule unless P = NP. What s next?reductions other than kernelization p.14/34

29 Example WEIRD VERTEX COVER Input: A graph G and an integer k Output: YES if G has a vertex cover of size k and k is a power of 2 NO otherwise Does WEIRD VERTEX COVER have a branching rule? Observation: If the branching rule produces (I 1, k 1 ),..., (I c, k c ) from (I, k), then k j k/2 for every j (otherwise k j is not a power of 2). The height of the search tree is log k. The size of the search tree is polynomial in k. No branching rule unless P = NP. This is very wrong: this problem should be solvable by branching. What s next?reductions other than kernelization p.14/34

30 Linear polynomial parameter transformation Definition: A linear polynomial parameter transformation (LPPT) from problem P 1 to P 2 is a mapping that maps instance (I 1,k 1 ) to instance (I 2, k 2 ) such that (I 1, k 1 ) P 1 if and only if (I 2,k 2 ) P 2, k 2 = O(k 1 ), and the transformation can be computed in polynomial time. Definition: The class BranchFPT contains a parameterized problem P if there is a linear polynomial parameter transformation from P to a problem that has a branching rule. WEIRD VERTEX COVER is LPPT-reducible to VERTEX COVER BranchFPT. WEIRD VERTEX COVER is in BranchFPT. What s next?reductions other than kernelization p.15/34

31 k-path k-path: Is there a path of length k in G. The known O (2 O(k) ) time algorithms (color coding, divide and color, algebraic techniques) are not branching algorithms! Open Question #1: Is k-path in BranchFPT? What s next?reductions other than kernelization p.16/34

32 k-path k-path: Is there a path of length k in G. The known O (2 O(k) ) time algorithms (color coding, divide and color, algebraic techniques) are not branching algorithms! Open Question #1: Is k-path in BranchFPT? Open Question #2: [Paturi] Is there a polynomial time algorithm for k-path with 2 O(k) success probability? What s next?reductions other than kernelization p.16/34

33 k-path k-path: Is there a path of length k in G. The known O (2 O(k) ) time algorithms (color coding, divide and color, algebraic techniques) are not branching algorithms! Open Question #1: Is k-path in BranchFPT? Open Question #2: [Paturi] Is there a polynomial time algorithm for k-path with 2 O(k) success probability? Observation: A positive answer for the first question implies a positive answer for the second! (A branching algorithm can be turned into a randomized algorithm.) What s next?reductions other than kernelization p.16/34

34 Relation to linear-vertex kernels Observation: If problem P has a linear vertex-kernel and P parameterized by the number of vertices can be solved by branching, then P is in BranchFPT: there is an LPPT-reduction to a problem that can be solved by branching. What s next?reductions other than kernelization p.17/34

35 Relation to linear-vertex kernels Observation: If problem P has a linear vertex-kernel and P parameterized by the number of vertices can be solved by branching, then P is in BranchFPT: there is an LPPT-reduction to a problem that can be solved by branching. Example: MAX INTERNAL SPANNING TREE: Does G have a spanning tree with at least k internal vertices? A 3k-vertex kernel is known [Fomin-Gaspers-Saurabh-Thomassé 2009]. It is not obvious if MAX INTERNAL SPANNING TREE parameterized by the number of vertices is in BranchFPT! Open Question #3: Is MAX INTERNAL SPANNING TREE in BranchFPT? What s next?reductions other than kernelization p.17/34

36 Nondeterministic bits Observation: A parameterized problem P is in BranchFPT if and only if it has an NP characterization with O(k) size certificates. What s next?reductions other than kernelization p.18/34

37 Nondeterministic bits Observation: A parameterized problem P is in BranchFPT if and only if it has an NP characterization with O(k) size certificates. Proof: : Let the certificate be the decisions we make during branching. Can be encoded in O(k) bits and can be verified in polynomial time. What s next?reductions other than kernelization p.18/34

38 Nondeterministic bits Observation: A parameterized problem P is in BranchFPT if and only if it has an NP characterization with O(k) size certificates. Proof: : Let the certificate be the decisions we make during branching. Can be encoded in O(k) bits and can be verified in polynomial time. : Let us define the variant P, where (x, k, w, l) P w can be extended with at most l more bits to a witness of (x, k). There is an LPPT-reduction from P parameterized by k to P parameterized by l: (x, k) P (x, k,, O(k)) P P parameterized by l can be solved by branching: guess the next bit of the witness and decrease l. What s next?reductions other than kernelization p.18/34

39 Feedback Vertex Set FEEDBACK VERTEX SET: Is there a set S of at most k vertices such that G \ S contains no cycle? Randomized O (4 k ) branching algorithm by [Becker, Bar-Yehuda, Geiger 2000]. First deterministic O (2 O(k) ) time algorithm in by using iterative compression [Dehne et al. 2005] [Guo et al. 2005]. What s next?reductions other than kernelization p.19/34

40 Feedback Vertex Set FEEDBACK VERTEX SET: Is there a set S of at most k vertices such that G \ S contains no cycle? Randomized O (4 k ) branching algorithm by [Becker, Bar-Yehuda, Geiger 2000]. First deterministic O (2 O(k) ) time algorithm in by using iterative compression [Dehne et al. 2005] [Guo et al. 2005]. FEEDBACK VERTEX SET COMPRESSION: Given G and set of vertices S 0 such that G \ S 0 contains no cycle, is there a set S of at most k vertices such that G \ S contains no cycle? Lemma: FEEDBACK VERTEX SET COMPRESSION is FPT param. by S 0. Two ways of using this: (1) iterative compression or (2) polynomial time 2-approximation. What s next?reductions other than kernelization p.19/34

41 Feedback Vertex Set FEEDBACK VERTEX SET COMPRESSION: Given G and set of vertices S 0 such that G \ S 0 contains no cycle, is there a set S of at most k vertices such that G \ S contains no cycle? Lemma: FEEDBACK VERTEX SET COMPRESSION is FPT param. by S 0. Inspection of proof shows that the compression problem is in BranchFPT. The 2-approximation gives an LPPT from FEEDBACK VERTEX SET to the compression problem. FEEDBACK VERTEX SET is in BranchFPT. More generally: If a constant-factor approximation can be obtained in polynomial time and the compression problem can be solved by branching, then the problem is in BranchFPT. What s next?reductions other than kernelization p.19/34

42 Relation to counting We can define a stronger version of branching that is capable of counting the number of solutions: the number of solutions is the sum of the number of solutions in the branches. Not all branching rules are like this. If there is a set N of elements such that every solution has to contain at least one element of N, then we can branch on the elements on N. Usually good for counting. If there is a set N of elements such that at least one solution has to contain at least one element of N, then we can branch on the elements on N. Usually bad for counting. What s next?reductions other than kernelization p.20/34

43 Relation to counting We can define a stronger version of branching that is capable of counting the number of solutions: the number of solutions is the sum of the number of solutions in the branches. Theorem: [Flum-Grohe 2004] #k-path is #W[1]-hard. If k-path can be solved by branching, then it is unlikely that the branching is good for counting. Is it possible that hardness results for counting are the key to negative results on branching? What s next?reductions other than kernelization p.20/34

44 Further open questions Which of the following problems is in BranchFPT? CONNECTED VERTEX COVER STEINER TREE parameterized by number of terminals HITTING SET parameterized by number of sets... What s next?reductions other than kernelization p.21/34

45 Why not k-way branching? We could set up definitions that allow branching into O(k) directions (yielding O (k O(k) ) time algorithms. Alternate definition: A branching rule for a parameterized problem P is a polynomial-time algorithm that given an instance (I, k) with k > 1, produces instances (I 1, k 1 ),..., (I c, k c ) such that c k d, I j I for every 1 j c, k j < k for every 1 j c, and (I,k) is a yes-instance if and only if there is a 1 j c such that (I j, k j ) is a yes-instance, for some constants c and d. k-path is LPPT-reducible to a problem that admits this type of branching! What s next?reductions other than kernelization p.22/34

46 Branching for k-path A polynomial-time solvable problem: COLORED k-path: Given a graph G with vertices colored by [k] and a vector (c 1,..., c k ) of distinct colors, find a path of length k such that the i-th vertex has color c i. A generalization solvable by k-way branching: GENERALIZED COLORED k-path: Given a family F of colorings [k 2 ] and a vector (c 1,..., c k ) with c i [k 2 ], find a solution by choosing a coloring from F and extending the vector to k distinct colors by replacing the wildcards by arbitrary colors in [k 2 ]. Solvable by branching parameterized by k + number of wildcards (replace one wildcard with one of the k 2 colors). What s next?reductions other than kernelization p.23/34

47 Branching for k-path GENERALIZED COLORED k-path: Given a family F of colorings [k 2 ] and a vector (c 1,..., c k ) with c i [k 2 ], find a solution by choosing a coloring from F and extending the vector to k distinct colors by replacing the wildcards by arbitrary colors in [k 2 ]. An (n, k,k 2 )-splitter is a family of functions [n] [r 2 ] such that for every r-element X [n], it contains a function that is injective on X. Theorem: [Naor, Schulman, Srinivasan 1995] There is an explicit construction of an (n, r, r 2 )-splitter family containing O(r 6 log r log n) functions. What s next?reductions other than kernelization p.23/34

48 Branching for k-path GENERALIZED COLORED k-path: Given a family F of colorings [k 2 ] and a vector (c 1,..., c k ) with c i [k 2 ], find a solution by choosing a coloring from F and extending the vector to k distinct colors by replacing the wildcards by arbitrary colors in [k 2 ]. An (n, k,k 2 )-splitter is a family of functions [n] [r 2 ] such that for every r-element X [n], it contains a function that is injective on X. Theorem: [Naor, Schulman, Srinivasan 1995] There is an explicit construction of an (n, r, r 2 )-splitter family containing O(r 6 log r log n) functions. Claim: k-path is LPPT-reducible to GENERALIZED COLORED k-path. Proof: Let F be a (n, k,k 2 ) and let the vector be (,..., ). This is a yesinstance if and only if there is a path of length k. What s next?reductions other than kernelization p.23/34

49 Treewidth reduction Most problems are easy on bounded-treewidth graphs, with notable exceptions. General strategy for showing that a problem is FPT: Solve the problem using standard techniques if treewidth is small. Do something if treewidth is large (answer is trivial or some reduction is possible). What s next?reductions other than kernelization p.24/34

50 A classical example MINOR CONTAINMENT: Given graphs H and G, is H a minor of G? Theorem: [Robertson-Seymour, Graph Minors XIII] [Kawarabayashi-Wollan 2010] MINOR CONTAINMENT is FPT parameterized by V(H). If treewidth is small, then we solve the problem using standard techniques. Otherwise, we identify an irrelevant vertex whose deletion provably does not change the problem. Weak Structure Theorem: we can find either a large clique minor or a large flat wall. What s next?reductions other than kernelization p.25/34

51 A classical example MINOR CONTAINMENT: Given graphs H and G, is H a minor of G? Theorem: [Robertson-Seymour, Graph Minors XIII] [Kawarabayashi-Wollan 2010] MINOR CONTAINMENT is FPT parameterized by V(H). If treewidth is small, then we solve the problem using standard techniques. Otherwise, we identify an irrelevant vertex whose deletion provably does not change the problem. Weak Structure Theorem: we can find either a large clique minor or a large flat wall. Large clique minor: the problem is trivial, or a vertex of the clique minor is irrelevant. Large flat wall: a middle vertex of the wall is irrelevant. What s next?reductions other than kernelization p.25/34

53 LONG CYCLE LONG CYCLE: Is there a cycle of length at least k in G? Treewidth reduction: In polynomial time, we can either find a cycle of length at least k or a tree decomposition of width O(k). LONG CYCLE on a tree decomposition of width w can be solved in time O (2 O(w log w) ). Using a polynomial reduction + treewidth technique we can solve LONG CYCLE in time O (2 O(k log k) ). But this is not optimal: LONG CYCLE can be solved in time O (2 O(k) ). What s next?reductions other than kernelization p.27/34

54 LONG CYCLE Theorem: k-cycle can be solved in time O (2 O(k) ). (k-cycle: Is there a cycle of length exactly k in G?) Theorem: LONG CYCLE can be solved in time O (2 O(k) ). (LONG CYCLE: Is there a cycle of length at least k in G?) What s next?reductions other than kernelization p.28/34

55 LONG CYCLE Theorem: k-cycle can be solved in time O (2 O(k) ). (k-cycle: Is there a cycle of length exactly k in G?) Theorem: LONG CYCLE can be solved in time O (2 O(k) ). (LONG CYCLE: Is there a cycle of length at least k in G?) Proof: Use the k-cycle algorithm to test for a cycle of length k, k + 1,..., 2k. If no such cycle is found, contract an arbitrary edge, and repeat. Stop when a long cycle is found or the graph has no edge. Correctness: Any long cycle in the contracted graph is a long cycle of the original. If there is a cycle of length > 2k, then there is a cycle of length k after contracting any edge. What s next?reductions other than kernelization p.28/34

56 LONG CYCLE Can we solve LONG CYCLE in time O (2 O(k) ) using treewidth reduction + treewidth algorithm? Can we solve LONG CYCLE in time O (2 o(w log w) ), where w is the treewidth? Can we reduce in polynomial time LONG CYCLE to an instance with treewidth o(k)? What s next?reductions other than kernelization p.29/34

57 LONG CYCLE Can we solve LONG CYCLE in time O (2 O(k) ) using treewidth reduction + treewidth algorithm? Can we solve LONG CYCLE in time O (2 o(w log w) ), where w is the treewidth? Can we reduce in polynomial time LONG CYCLE to an instance with treewidth o(k)? Variant 1: The cycle size in the new instance remains the same. Variant 2: The cycle size in the new instance can be arbitrary large. What s next?reductions other than kernelization p.29/34

58 LONG CYCLE Can we solve LONG CYCLE in time O (2 O(k) ) using treewidth reduction + treewidth algorithm? Can we solve LONG CYCLE in time O (2 o(w log w) ), where w is the treewidth? Can we reduce in polynomial time LONG CYCLE to an instance with treewidth o(k)? Variant 1: The cycle size in the new instance remains the same. Variant 2: The cycle size in the new instance can be arbitrary large. We might be able to answer questions like that. Theorem: [Lokshtanov, M, Saurabh: Slightly Superexponential Parameterized Problems ] Assuming ETH, there is no O (2 o(w log w) ) time algorithm for DIS- JOINT PATHS. What s next?reductions other than kernelization p.29/34

59 d-hitting SET d-hitting SET: Given sets of size at most d, can we hit all of them with k elements? Can be solved in time O (d k ) by branching. Can we match this running time by treewidth reduction + treewidth algorithm? What s next?reductions other than kernelization p.30/34

60 d-hitting SET d-hitting SET: Given sets of size at most d, can we hit all of them with k elements? Can be solved in time O (d k ) by branching. Can we match this running time by treewidth reduction + treewidth algorithm? Can be solved in time O (2 w ) if treewidth is at most w and there is no O (2 o(w) ) time algorithm (unless ETH fails). Can we reduce treewidth to O(k log d) in polynomial time? What s next?reductions other than kernelization p.30/34

61 d-hitting SET d-hitting SET: Given sets of size at most d, can we hit all of them with k elements? Can be solved in time O (d k ) by branching. Can we match this running time by treewidth reduction + treewidth algorithm? Can be solved in time O (2 w ) if treewidth is at most w and there is no O (2 o(w) ) time algorithm (unless ETH fails). Can we reduce treewidth to O(k log d) in polynomial time? There is a kernel with O(k d 1 ) vertices [Abu-Khzam 2010]. Treewidth can be reduced to O(k d 1 ) in polynomial time. Can we reduce treewidth much better than that? What s next?reductions other than kernelization p.30/34

62 d-set PACKING d-set PACKING: Given sets of size at most d, can we find k pairwise independent sets? Can be solved in time O (2 O(kd) ) (e.g., by color coding). Can be solved in time O (2 O(w) ), where w is treewidth. Has a kernel of size O(k d 1 ) vertices [Abu-Khzam 2010]. Can we match the 2 O(kd) running time by reducing treewidth to O(kd) in polynomial time? Can we get treewidth less than O(k d 1 )? What s next?reductions other than kernelization p.31/34

67 Summary The meta question: Which techniques are efficient for which problems? Kernelization is not the right technique for some problems. Formalization of solving a problem by branching rules. Challenging questions: which problems can be solved by branching rules? Treewidth reduction. What are the problems for which treewidth reduction is competitive with other ideas? What s next?reductions other than kernelization p.34/34

Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce

Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:

CAD Algorithms The Classes P and NP Mohammad Tehranipoor ECE Department 6 September 2010 1 P and NP P and NP are two families of problems. P is a class which contains all of the problems we solve using

Even Faster Algorithm for Set Splitting! Daniel Lokshtanov Saket Saurabh Abstract In the p-set Splitting problem we are given a universe U, a family F of subsets of U and a positive integer k and the objective

Short Cycles make W-hard problems hard: FPT algorithms for W-hard Problems in Graphs with no short Cycles Venkatesh Raman and Saket Saurabh The Institute of Mathematical Sciences, Chennai 600 113. {vraman

1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify

Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

NP-complete? NP-hard? Some Foundations of Complexity Prof. Sven Hartmann Clausthal University of Technology Department of Informatics Tractability of Problems Some problems are undecidable: no computer

276 The P vs. NP problem is a major unsolved problem in computer science It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a $ 1,000,000 prize for the

Theorem (informal statement): There are no extendible methods in David Chalmers s sense unless P = NP. Explication: In his paper, The Singularity: A philosophical analysis, David Chalmers defines an extendible

Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining

(67902) Topics in Theory and Complexity Nov 2, 2006 Lecturer: Irit Dinur Lecture 7 Scribe: Rani Lekach 1 Lecture overview This Lecture consists of two parts In the first part we will refresh the definition

The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the

On the k-path cover problem for cacti Zemin Jin and Xueliang Li Center for Combinatorics and LPMC Nankai University Tianjin 300071, P.R. China zeminjin@eyou.com, x.li@eyou.com Abstract In this paper we

Notes on NP Completeness Rich Schwartz November 10, 2013 1 Overview Here are some notes which I wrote to try to understand what NP completeness means. Most of these notes are taken from Appendix B in Douglas

3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

Finding and counting given length cycles Noga Alon Raphael Yuster Uri Zwick Abstract We present an assortment of methods for finding and counting simple cycles of a given length in directed and undirected

Rolf Niedermeier Invitation to Fixed-Parameter Algorithms October 23, 2002 Preface This work is based on my occupation with parameterized complexity and fixed-parameter algorithms which began more than

Lecture 11 The Lovász ϑ Function 11.1 Perfect graphs We begin with some background on perfect graphs. graphs. First, we define some quantities on Definition 11.1. Given a graph G on n vertices, we define

David Harvey (joint work with Edgar Costa, NYU) University of New South Wales 25th October 2011 The obvious mathematical breakthrough would be the development of an easy way to factor large prime numbers

n colleges in a set C, m applicants in a set A, where m is much larger than n. each college c i C has a capacity q i - the maximum number of students it will admit each college c i has a strict order i

Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the

CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to

Distributed Computing over Communication Networks: Maximal Independent Set What is a MIS? MIS An independent set (IS) of an undirected graph is a subset U of nodes such that no two nodes in U are adjacent.

Induction Margaret M. Fleck 10 October 011 These notes cover mathematical induction and recursive definition 1 Introduction to induction At the start of the term, we saw the following formula for computing

Counting Spanning Trees Bang Ye Wu Kun-Mao Chao Counting Spanning Trees This book provides a comprehensive introduction to the modern study of spanning trees. A spanning tree for a graph G is a subgraph

S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 261 Factoring One last point: we started off this book by introducing another famously hard search problem: FACTORING, the task of finding all prime factors

On the independence number of graphs with maximum degree 3 Iyad A. Kanj Fenghui Zhang Abstract Let G be an undirected graph with maximum degree at most 3 such that G does not contain any of the three graphs

GRAPH THEORY LECTURE 4: TREES Abstract. 3.1 presents some standard characterizations and properties of trees. 3.2 presents several different types of trees. 3.7 develops a counting method based on a bijection

complexity of recursive algorithms Jiří Vyskočil, Marko Genyk-Berezovskyj 2010-2014 Recurrences A recurrence is an equation or inequality that describes a function in terms of its value on smaller inputs.

Bargaining Solutions in a Social Network Tanmoy Chakraborty and Michael Kearns Department of Computer and Information Science University of Pennsylvania Abstract. We study the concept of bargaining solutions,

To ensure the functioning of the site, we use cookies. We share information about your activities on the site with our partners and Google partners: social networks and companies engaged in advertising and web analytics. For more information, see the Privacy Policy and Google Privacy &amp Terms.
Your consent to our cookies if you continue to use this website.