Algorithms. Algorithms. Algorithms 6.5 R EDUCTIONS. introduction designing algorithms. establishing lower bounds classifying problems.

Size: px
Start display at page:

Download "Algorithms. Algorithms. Algorithms 6.5 R EDUCTIONS. introduction designing algorithms. establishing lower bounds classifying problems."

Transcription

1 Algithms R OBERT S EDGEWICK K EVIN W AYNE Overview: introduction to advanced topics Main topics. [final two lectures] Reduction: relationship between two problems. Algithm design: paradigms f solving problems. 6.5 R EDUCTIONS Shifting gears. introduction designing algithms Algithms F O U R T H E D I T I O N R OBERT S EDGEWICK K EVIN W AYNE establishing lower bounds classifying problems From individual problems to problem-solving models. From linear/quadratic to polynomial/exponential scale. From implementation details to conceptual framewks. Goals. Place algithms and techniques we've studied in a larger context. Introduce you to imptant and essential ideas. Inspire you to learn me about algithms! intractability Last updated on Apr 29, 2015, 5:14 AM 2 Bird's-eye view Desiderata. Classify problems accding to computational requirements. 6.5 R EDUCTIONS introduction complexity der of growth examples linear N min, max, median, Burrows-Wheeler transfm,... linearithmic N log N sting, element distinctness, closest pair, Euclidean MST,... quadratic N2? exponential cn? designing algithms Algithms R OBERT S EDGEWICK K EVIN W AYNE establishing lower bounds classifying problems intractability Frustrating news. Huge number of problems have defied classification. 4

2 Bird's-eye view Reduction Desiderata. Classify problems accding to computational requirements. Desiderata'. Suppose we could (could not) solve problem X efficiently. What else could (could not) we solve efficiently? Def. Problem X reduces to problem Y if you can use an algithm that solves Y to help solve X. (of X) Algithm f Y solution to I Algithm f X Cost of solving X = total cost of solving Y + cost of reduction. perhaps many calls to Y on problems of different sizes (typically only 1 call) preprocessing and postprocessing (typically less than cost of solving Y) Give me a lever long enough and a fulcrum on which to place it, and I shall move the wld. Archimedes 5 6 Reduction Reduction Def. Problem X reduces to problem Y if you can use an algithm that solves Y to help solve X. Def. Problem X reduces to problem Y if you can use an algithm that solves Y to help solve X. (of X) Algithm f Y solution to I (of X) Algithm f Y solution to I Algithm f X Algithm f X Ex 1. [finding the median reduces to sting] To find the median of N items: St N items. Return item in the middle. cost of sting Cost of finding the median. N log N + 1. cost of reduction Ex 2. [element distinctness reduces to sting] To solve element distinctness on N items: St N items. Check adjacent pairs f equality. cost of sting Cost of element distinctness. N log N + N. cost of reduction 7 8

3 Reduction Reductions: quiz 1 Def. Problem X reduces to problem Y if you can use an algithm that solves Y to help solve X. Which of the following reductions have we encountered in this course? I. MAX-FLOW reduces to MIN-CUT. II. MIN-CUT reduces to MAX-FLOW. need to find max st-flow and min st-cut (not simply compute the value) (of X) Algithm f Y solution to I A. I only. B. II only. Algithm f X C. Both I and II. Novice err. Confusing X reduces to Y with Y reduces to X. D. Neither I n II. E. I don't know. ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHEIDUNGSPROBLEM By A. M. TURING. [Received 28 May, Read 12 November, 1936.] 9 10 Reduction: design algithms Def. Problem X reduces to problem Y if you can use an algithm that solves Y to help solve X. Algithms ROBERT SEDGEWICK KEVIN WAYNE REDUCTIONS introduction designing algithms establishing lower bounds classifying problems intractability Design algithm. Given an algithm f Y, can also solve X. Me familiar reductions. Mincut reduces to maxflow. Arbitrage reduces to negative cycles. Bipartite matching reduces to maxflow. Seam carving reduces to shtest paths in a DAG. Burrows-Wheeler transfm reduces to suffix st. Mentality. Since I know how to solve Y, can I use that algithm to solve X? programmer s version: I have code f Y. Can I use it f X? 12

4 3-collinear 3-collinear reduces to sting 3-COLLINEAR. Given N distinct points in the plane, are there 3 ( me) that all lie on the same line? Sting-based algithm. F each point p, Compute the slope that each other point q makes with p. St the N 1 points by slope. Collinear points are adjacent. q 4 q 3 q 2 q 1 dy1 p dx1 3-collinear Brute fce N 3. F all triples of points (p, q, r), check if they are collinear. cost of sting (N times) Cost of solving 3-COLLINEAR. N 2 log N + N 2. cost of reduction Shtest paths on edge-weighted graphs and digraphs Some reductions in combinatial optimization Proposition. Undirected shtest paths (with nonnegative weights) reduces to directed shtest path baseball elimination mincut bipartite matching undirected shtest paths (nonnegative) seam carving s t maxflow directed shtest paths (nonnegative) arbitrage shtest paths (in a DAG) Pf. Replace each undirected edge by two directed edges assignment problem directed shtest paths (no neg cycles) s t Cost of solving undirected shtest paths. E log V + (E + V). linear programming cost of Dijkstra cost of reduction 15 16

5 Bird's-eye view Goal. Prove that a problem requires a certain number of steps. Ex. In decision tree model, any compare-based sting algithm requires Ω(N log N) compares in the wst case. 6.5 REDUCTIONS yes a < b no Algithms ROBERT SEDGEWICK KEVIN WAYNE introduction designing algithms establishing lower bounds classifying problems intractability yes a b c b < c no a < c yes a c b no c a b yes b a c a < c yes b c a no b < c no c b a argument must apply to all conceivable algithms Bad news. Very difficult to establish lower bounds from scratch. Good news. Spread Ω(N log N) lower bound to Y by reducing sting to Y. assuming cost of reduction is not too high 18 Linear-time reductions Reductions: quiz 2 Def. Problem X linear-time reduces to problem Y if X can be solved with: Linear number of standard computational steps. Constant number of calls to Y. Establish lower bound: If X takes Ω(N log N) steps, then so does Y. If X takes Ω(N 2 ) steps, then so does Y. Mentality. If I could easily solve Y, then I could easily solve X. I can t easily solve X. Therefe, I can't easily solve Y. Which of the following reductions is not a linear-time reduction? A. ELEMENT-DISTINCTNESS reduces to SORTING. B. MIN-CUT reduces to MAX-FLOW. C. 3-COLLINEAR reduces to SORTING. D. BURROWS-WHEELER-TRANSFORM reduces to SUFFIX-SORTING. E. I don't know

6 ELEMENT-DISTINCTNESS linear-time reduces to 2D-CLOSEST-PAIR ELEMENT-DISTINCTNESS linear-time reduces to 2D-CLOSEST-PAIR ELEMENT-DISTINCTNESS. Given N elements, are any two equal? 2D-CLOSEST-PAIR. Given N points in the plane, find the closest pair. ELEMENT-DISTINCTNESS. Given N elements, are any two equal? 2D-CLOSEST-PAIR. Given N points in the plane, find the closest pair Proposition. ELEMENT-DISTINCTNESS linear-time reduces to 2D-CLOSEST-PAIR. Pf. ELEMENT-DISTINCTNESS instance: x1, x2,..., xn. 2D-CLOSEST-PAIR instance: (x1, x1), (x2, x2),..., (xn, xn). The N elements are distinct iff distance of closest pair > 0. allows linear tests like xi < xj and quadratic tests like (x i x k) 2 + (x j x k) 2 > 4 ELEMENT-DISTINCTNESS lower bound. In quadratic decision tree model, any algithm that solves ELEMENT-DISTINCTNESS takes Ω(N log N) steps. element distinctness 2d closest pair Implication. In quadratic decision tree model, any algithm f 2D-CLOSEST-PAIR takes Ω(N log N) steps Some linear-time reductions in computational geometry Lower bound f 3-COLLINEAR 3-SUM. Given N distinct integers, are there three that sum to 0? element distinctness (N log N lower bound) 3-COLLINEAR. Given N distinct points in the plane, are there 3 ( me) that lie on the same line? sting 2d convex hull 2d closest pair 2d Euclidean MST smallest enclosing circle Delaunay triangulation Vonoi diagram largest empty circle (N log N lower bound) 3-sum 3-collinear 23 24

7 Lower bound f 3-COLLINEAR 3-SUM linear-time reduces to 3-COLLINEAR 3-SUM. Given N distinct integers, are there three that sum to 0? 3-COLLINEAR. Given N distinct points in the plane, are there 3 ( me) that lie on the same line? Proposition. 3-SUM linear-time reduces to 3-COLLINEAR. 3-SUM instance: x1, x2,..., xn. 3-COLLINEAR instance: (x1, x13 ), (x2, x2 3 ),..., (xn, xn 3 ). Lemma. If a, b, and c are distinct, then a + b + c = 0 if and only if (a, a 3 ), (b, b 3 ), and (c, c 3 ) are collinear. f (x) = x 3 Proposition. 3-SUM linear-time reduces to 3-COLLINEAR. Pf. [next two slides] lower-bound mentality: if I can't solve 3-SUM in N 1.99 time, I can't solve 3-COLLINEAR in N 1.99 time either (1, 1) (2, 8) Conjecture. Any algithm f 3-SUM requires Ω(N 2 ε ) steps. Implication. No sub-quadratic algithm f 3-COLLINEAR likely. our N 2 log N algithm was pretty good (-3, -27) = SUM linear-time reduces to 3-COLLINEAR Me geometric reductions and lower bounds Proposition. 3-SUM linear-time reduces to 3-COLLINEAR. 3-SUM instance: x1, x2,..., xn. 3-COLLINEAR instance: (x1, x13 ), (x2, x2 3 ),..., (xn, xn 3 ). Lemma. If a, b, and c are distinct, then a + b + c = 0 if and only if (a, a 3 ), (b, b 3 ), and (c, c 3 ) are collinear. 3-SUM (conjectured N 2 ε lower bound) Pf. Three distinct points (a, a 3 ), (b, b 3 ), and (c, c 3 ) are collinear iff: POLYGONAL-CONTAINMENT 3-COLLINEAR DIHEDRAL-ROTATION GEOMETRIC-BASE 0 = a a 3 1 b b 3 1 c c 3 1 = a(b 3 c 3 ) b(a 3 c 3 )+c(a 3 b 3 ) 3-CONCURRENT MIN-AREA-TRIANGLE SEPARATOR LINE-SEGMENT- PLANAR-MOTION- PLANNING = (a b)(b c)(c a)(a + b + c) 27 28

8 Complexity of 3-SUM Establishing lower bounds: summary April Some recent evidence that the complexity might be N 3 / 2. Establishing lower bounds through reduction is an imptant tool in guiding algithm design effts. Q. How to convince yourself no linear-time EUCLIDEAN-MST algithm exists? A1. [hard way] Long futile search f a linear-time algithm. A2. [easy way] Linear-time reduction from element distinctness. Threesomes, Degenerates, and Love Triangles Allan Grønlund MADALGO, Aarhus University Seth Pettie University of Michigan arxiv: v1 [cs.ds] 3 Apr 2014 April 4, 2014 Abstract The 3SUM problem is to decide, given a set of n real numbers,? whether any three sum to zero. We prove that the decision tree complexity of 3SUM is Opn3{2 log nq, that there is a randomized 3SUM algithm running in Opn2 plog log nq2 { log nq time, and a deterministic algithm running in Opn2 plog log nq5{3 {plog nq2{3 q time. These results refute the strongest version of the 3SUM conjecture, namely that its decision tree (and algithmic) complexity is Ωpn2 q. Our results lead directly to improved algithms f k-variate linear degeneracy testing f all ř odd k ě 3. The problem is to decide, given a linear function f px1,..., xk q α0 ` 1ďiďk αi xi? and a set S Ă R, whether 0 P f ps k q. We show the decision tree complexity is Opnk{2 log nq and give algithms running in time Opnpk`1q{2 { polyplog nqq. Finally, we give a subcubic algithm f a generalization of the pmin, `q-product over realvalued matrices? and apply it to the problem of finding zero-weight triangles in weighted graphs. A depth-opn5{2 log nq decision tree is given f this problem, as well as an algithm running in time Opn3 plog log nq2 { log nq. 2d Euclidean MST Introduction The time hierarchy theem [16] implies that there exist problems in P with complexity Ωpnk q f every fixed k. However, it is consistent with current knowledge that all problems of practical interest can be solved in O pnq time in a reasonable model of computation. Effts to build a useful complexity they inside P have been based on the conjectured hardness of certain archetypal problems, such as 3SUM, pmin, `q-matrix product, and CNF-SAT. See, f example, the conditional lower bounds in [15, 19, 20, 17, 1, 2, 21, 10, 23]. In this paper we study the complexity of 3SUM and related problems such as linear degeneracy testing (LDT) and finding zero-weight triangles. Let us define the problems fmally. 3SUM: Given a set S Ă R, determine if there exists a, b, c P S such that a ` b ` c 0. Classifying problems: summary Desiderata. Problem with algithm that matches lower bound. Ex. Sting and element distinctness have complexity N log N. Integer3SUM: Given a set S Ď t U,..., U u Ă Z, determine if there exists a, b, c P S such that a ` b ` c 0. This wk is suppted in part by the Danish National Research Foundation grant DNRF84 through the Center f Massive Data Algithmics (MADALGO). S. Pettie is suppted by NSF grants CCF and CNS and a grant from the US-Israel Binational Science Foundation. 6.5 R EDUCTIONS Desiderata'. Prove that two problems X and Y have the same complexity. First, show that problem X linear-time reduces to Y. 1 introduction designing algithms Algithms R OBERT S EDGEWICK K EVIN W AYNE Second, show that Y linear-time reduces to X. Conclude that X has complexity N iff Y has complexity N b establishing lower bounds b f b 1. even if we don't know what it is classifying problems intractability X = sting Y = element distinctness integer multiplication integer division 32

9 Integer arithmetic reductions Integer arithmetic reductions Integer multiplication. Given two N-bit integers, compute their product. Brute fce. N 2 bit operations. Integer multiplication. Given two N-bit integers, compute their product. Brute fce. N 2 bit operations problem arithmetic der of growth integer multiplication a b M(N) integer division a / b, a mod b M(N) integer square a 2 M(N) integer square root a M(N) integer arithmetic problems with the same complexity as integer multiplication Q. Is brute-fce algithm optimal? Histy of complexity of integer multiplication Numerical linear algebra reductions year algithm der of growth? brute fce N 2 Matrix multiplication. Given two N-by-N matrices, compute their product. Brute fce. N 3 flops Karatsuba N Toom-3, Toom-4 N 1.465, N column j j 1966 Toom-Cook N 1 + ε Schönhage Strassen N log N log log N 2007 Fürer N log N 2 log*n row i = i ?? N number of bit operations to multiply two N-bit integers used in Maple, Mathematica, gcc, cryptography, = 0.47 Remark. GNU Multiple Precision Library uses one of five different algithm depending on size of operands

10 Numerical linear algebra reductions Histy of complexity of matrix multiplication Matrix multiplication. Given two N-by-N matrices, compute their product. Brute fce. N 3 flops. problem linear algebra der of growth matrix multiplication A B MM(N) matrix inversion A 1 MM(N) determinant A MM(N) system of linear equations Ax = b MM(N) LU decomposition A = L U MM(N) least squares min Ax b 2 MM(N) numerical linear algebra problems with the same complexity as matrix multiplication year algithm der of growth? brute fce N Strassen N Pan N Bini N Schönhage N Romani N Coppersmith-Winograd N Strassen N Coppersmith-Winograd N Strother N Williams N de Gall N Q. Is brute-fce algithm optimal? 37?? N 2 + ε number of floating-point operations to multiply two N-by-N matrices 38 Bird's-eye view Def. A problem is intractable if it can't be solved in polynomial time. Desiderata. Prove that a problem is intractable. Algithms ROBERT SEDGEWICK KEVIN WAYNE REDUCTIONS introduction designing algithms establishing lower bounds classifying problems intractability Two problems that provably require exponential time. input size = c + lg K Given a constant-size program, does it halt in at most K steps? Given N-by-N checkers board position, can the first player fce a win? using fced capture rule Frustrating news. Very few successes. 40

11 A ce problem: satisfiability Satisfiability is conjectured to be intractable SAT. Given a system of boolean equations, find a solution. Ex. x 1 x 2 x 3 = true x 1 x 2 x 3 = true x 1 x 2 x 3 = true x 1 x 2 x 4 = true x 2 x 3 x 4 = true x1 x2 x3 x4 T T F T Q. How to solve an instance of 3-SAT with N variables? A. Exhaustive search: try all 2 N truth assignments. solution S 3-SAT. All equations of this fm (with three variables per equation). Key applications. Automatic verification systems f software. Mean field diluted spin glass model in physics. Electronic design automation (EDA) f hardware Q. Can we do anything substantially me clever? Conjecture (P NP). 3-SAT is intractable (no poly-time algithm). consensus opinion 42 Polynomial-time reductions Integer linear programming Problem X poly-time (Cook) reduces to problem Y if X can be solved with: Polynomial number of standard computational steps. Polynomial number of calls to Y. ILP. Given a system of linear inequalities, find an integral solution. 3x1 + 5x2 + 2x3 + x4 + 4x5 10 5x1 + 2x2 + 4x4 + 1x5 7 (of X) Algithm f Y solution to I x1 + x3 + 2x4 2 3x1 + 4x3 + 7x4 7 linear inequalities Algithm f X x1 + x4 1 Establish intractability. If 3-SAT poly-time reduces to Y, then Y is intractable. (assuming 3-SAT is intractable) x1 + x3 + x5 1 all xi = { 0, 1 } integer variables x1 x2 x3 x4 x Mentality. If I could solve Y in poly-time, then I could also solve 3-SAT in poly-time. 3-SAT is believed to be intractable. Therefe, so is Y. solution S Context. Cnerstone problem in operations research. Remark. Finding a real-valued solution is tractable (linear programming)

12 3-SAT poly-time reduces to ILP Reductions: quiz 3 3-SAT. Given a system of boolean equations, find a solution. x 1 x 2 x 3 = true x 1 x 2 x 3 = true x 1 x 2 x 3 = true x 1 x 2 x 4 = true x 2 x 3 x 4 = true ILP. Given a system of linear inequalities, find a 0-1 solution. (1 x 1 ) + x 2 + x 3 1 Suppose that Problem X poly-time reduces to Problem Y. Which of the following can you infer? A. If X can be solved in poly-time, then so can Y. B. If X cannot be solved in cubic time, Y cannot be solved in poly-time. C. If Y can be solved in cubic time, then X can be solved in poly-time. D. If Y cannot be solved in poly-time, then neither can X. E. I don't know. x 1 + (1 x 2 ) + x 3 1 (1 x 1 ) + (1 x 2 ) + (1 x 3 ) 1 (1 x 1 ) + (1 x 2 ) + + x 4 1 (1 x 2 ) + x 3 + x 4 1 solution to this ILP instance gives solution to iginal 3-SAT instance Me poly-time reductions from 3-satisfiability Implications of poly-time reductions from 3-satisfiability 3-SAT Establishing intractability through poly-time reduction is an imptant tool in guiding algithm design effts. 3-COLOR 3-SAT reduces to ILP VERTEX-COVER Dick Karp '85 Turing award Q. How to convince yourself that a new problem is (probably) intractable? A1. [hard way] Long futile search f an efficient algithm (as f 3-SAT). A2. [easy way] Reduction from 3-SAT. EXACT-COVER ILP CLIQUE HAM-CYCLE Caveat. Intricate reductions are common. SUBSET-SUM TSP HAM-PATH PARTITION KNAPSACK BIN-PACKING Conjecture. 3-SAT is intractable. Implication. All of these problems are intractable

13 Search problems P vs. NP Search problem. Problem where you can check a solution in poly-time. P. Set of search problems solvable in poly-time. Imptance. What scientists and engineers can compute feasibly. Ex 1. 3-SAT. x1 x2 x3 = true x1 x2 x3 = true x1 x2 x3 = true x1 x2 x2 x3 x4 = true x4 = true NP. Set of search problems (checkable in poly-time). Imptance. What scientists and engineers aspire to compute feasibly. Fundamental question. x1 x2 x3 x4 T T F T solution S Ex 2. FACTOR. Given an N-bit integer x, find a nontrivial fact solution S Consensus opinion. No. 49 Cook-Levin theem 50 Implications of Cook-Levin theem A problem is NP-COMPLETE if 3-SAT It is in NP. All problems in NP poly-time to reduce to it. T R OLO u red ces -SA to 3 3-C IND-SET 3-COLOR VERTEX-COVER Cook-Levin theem. 3-SAT is NP-COMPLETE. Stephen Cook '82 Turing award Collary. 3-SAT is tractable if and only if P = NP. Leonid Levin ILP CLIQUE EXACT-COVER HAM-CYCLE Two wlds. SUBSET-SUM NP P NPC TSP HAM-PATH P = NP PARTITION All of these problems (and many, many me) P NP P = NP KNAPSACK 51 BIN-PACKING poly-time reduce to 3-SAT. 52

14 Implications of Karp + Cook-Levin Reductions: quiz 4 3-COLOR 3-COLOR reduces to 3-SAT 3-SAT reduces to 3-COLOR 3-SAT IND-SET VERTEX-COVER + Suppose that X is NP-COMPLETE, Y is in NP, and X poly-time reduces to Y. Which of the following statements can you infer? I. Y is NP-COMPLETE. II. If Y cannot be solved in poly-time, then P NP. ILP III. If P NP, then neither X n Y can be solved in poly-time. EXACT-COVER CLIQUE HAM-CYCLE A. I only. B. II only. SUBSET-SUM TSP HAM-PATH C. I and II only. D. I, II, and III. PARTITION E. I don't know. KNAPSACK BIN-PACKING All of these problems are NP-COMPLETE; they are manifestations of the same really hard problem Birds-eye view: review Birds-eye view: revised Desiderata. Classify problems accding to computational requirements. Desiderata. Classify problems accding to computational requirements. complexity der of growth examples complexity der of growth examples linear N min, max, median, Burrows-Wheeler transfm,... linear N min, max, median, Burrows-Wheeler transfm,... linearithmic N log N sting, element distinctness,... linearithmic N log N sting, element distinctness,... quadratic N 2? M(N)? MM(N)? integer multiplication, division, square root,... matrix multiplication, Ax = b, least square, determinant,... exponential c N? NP-complete probably not N b 3-SAT, IND-SET, ILP,... Frustrating news. Huge number of problems have defied classification. Good news. Can put many problems into equivalence classes

15 Complexity zoo Summary Complexity class. Set of problems sharing some computational property. Reductions are imptant in they to: Design algithms. Establish lower bounds. Classify problems accding to their computational requirements. Text Reductions are imptant in practice to: Design algithms. Design reusable software modules. stacks, queues, priity queues, symbol tables, sets, graphs sting, regular expressions, suffix arrays MST, shtest paths, maxflow, linear programming Determine difficulty of your problem and choose the right tool. Bad news. Lots of complexity classes (496 animals in zoo)

Algorithms. Algorithms. Algorithms 6.5 R EDUCTIONS. introduction designing algorithms. establishing lower bounds classifying problems intractability

Algorithms. Algorithms. Algorithms 6.5 R EDUCTIONS. introduction designing algorithms. establishing lower bounds classifying problems intractability Algorithms R OBERT S EDGEWICK K EVIN W AYNE Overview: introduction to advanced topics Main topics. [final two lectures] Reduction: relationship between two problems. Algorithm design: paradigms for solving

More information

Algorithms 6.5 REDUCTIONS. designing algorithms establishing lower bounds classifying problems intractability

Algorithms 6.5 REDUCTIONS. designing algorithms establishing lower bounds classifying problems intractability 6.5 REDUCTIONS Algorithms F O U R T H E D I T I O N designing algorithms establishing lower bounds classifying problems intractability R O B E R T S E D G E W I C K K E V I N W A Y N E Algorithms, 4 th

More information

Reductions. Reduction. Linear Time Reduction: Examples. Linear Time Reductions

Reductions. Reduction. Linear Time Reduction: Examples. Linear Time Reductions Reduction Reductions Problem X reduces to problem Y if given a subroutine for Y, can solve X. Cost of solving X = cost of solving Y + cost of reduction. May call subroutine for Y more than once. Ex: X

More information

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM 8. INTRACTABILITY I poly-time reductions packing and covering problems constraint satisfaction problems sequencing problems partitioning problems graph coloring numerical problems Lecture slides by Kevin

More information

COP 4531 Complexity & Analysis of Data Structures & Algorithms

COP 4531 Complexity & Analysis of Data Structures & Algorithms COP 4531 Complexity & Analysis of Data Structures & Algorithms Lecture 18 Reductions and NP-completeness Thanks to Kevin Wayne and the text authors who contributed to these slides Classify Problems According

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 26 Computational Intractability Polynomial Time Reductions Sofya Raskhodnikova S. Raskhodnikova; based on slides by A. Smith and K. Wayne L26.1 What algorithms are

More information

NP and Computational Intractability

NP and Computational Intractability NP and Computational Intractability 1 Review Basic reduction strategies. Simple equivalence: INDEPENDENT-SET P VERTEX-COVER. Special case to general case: VERTEX-COVER P SET-COVER. Encoding with gadgets:

More information

Polynomial-Time Reductions

Polynomial-Time Reductions Reductions 1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. [von Neumann 1953, Godel

More information

Intro to Theory of Computation

Intro to Theory of Computation Intro to Theory of Computation LECTURE 25 Last time Class NP Today Polynomial-time reductions Adam Smith; Sofya Raskhodnikova 4/18/2016 L25.1 The classes P and NP P is the class of languages decidable

More information

A difficult problem. ! Given: A set of N cities and $M for gas. Problem: Does a traveling salesperson have enough $ for gas to visit all the cities?

A difficult problem. ! Given: A set of N cities and $M for gas. Problem: Does a traveling salesperson have enough $ for gas to visit all the cities? Intractability A difficult problem Traveling salesperson problem (TSP) Given: A set of N cities and $M for gas. Problem: Does a traveling salesperson have enough $ for gas to visit all the cities? An algorithm

More information

Intractability. A difficult problem. Exponential Growth. A Reasonable Question about Algorithms !!!!!!!!!! Traveling salesperson problem (TSP)

Intractability. A difficult problem. Exponential Growth. A Reasonable Question about Algorithms !!!!!!!!!! Traveling salesperson problem (TSP) A difficult problem Intractability A Reasonable Question about Algorithms Q. Which algorithms are useful in practice? A. [von Neumann 1953, Gödel 1956, Cobham 1964, Edmonds 1965, Rabin 1966] Model of computation

More information

Algorithms Design & Analysis. Approximation Algorithm

Algorithms Design & Analysis. Approximation Algorithm Algorithms Design & Analysis Approximation Algorithm Recap External memory model Merge sort Distribution sort 2 Today s Topics Hard problem Approximation algorithms Metric traveling salesman problem A

More information

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P Easy Problems vs. Hard Problems CSE 421 Introduction to Algorithms Winter 2000 NP-Completeness (Chapter 11) Easy - problems whose worst case running time is bounded by some polynomial in the size of the

More information

8.1 Polynomial-Time Reductions. Chapter 8. NP and Computational Intractability. Classify Problems

8.1 Polynomial-Time Reductions. Chapter 8. NP and Computational Intractability. Classify Problems Chapter 8 8.1 Polynomial-Time Reductions NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Classify Problems According to Computational

More information

Limitations of Algorithm Power

Limitations of Algorithm Power Limitations of Algorithm Power Objectives We now move into the third and final major theme for this course. 1. Tools for analyzing algorithms. 2. Design strategies for designing algorithms. 3. Identifying

More information

1. Introduction Recap

1. Introduction Recap 1. Introduction Recap 1. Tractable and intractable problems polynomial-boundness: O(n k ) 2. NP-complete problems informal definition 3. Examples of P vs. NP difference may appear only slightly 4. Optimization

More information

NP and Computational Intractability

NP and Computational Intractability NP and Computational Intractability 1 Polynomial-Time Reduction Desiderata'. Suppose we could solve X in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Reduction.

More information

7.8 Intractability. Overview. Properties of Algorithms. Exponential Growth. Q. What is an algorithm? A. Definition formalized using Turing machines.

7.8 Intractability. Overview. Properties of Algorithms. Exponential Growth. Q. What is an algorithm? A. Definition formalized using Turing machines. Overview 7.8 Intractability Q. What is an algorithm? A. Definition formalized using Turing machines. Q. Which problems can be solved on a computer? A. Computability. Q. Which algorithms will be useful

More information

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms Computer Science 385 Analysis of Algorithms Siena College Spring 2011 Topic Notes: Limitations of Algorithms We conclude with a discussion of the limitations of the power of algorithms. That is, what kinds

More information

ADVANCED TOPICS BBM ALGORITHMS DEPT. OF COMPUTER ENGINEERING ERKUT ERDEM. Jun. 6, Bird s-eye view. Bird s-eye view

ADVANCED TOPICS BBM ALGORITHMS DEPT. OF COMPUTER ENGINEERING ERKUT ERDEM. Jun. 6, Bird s-eye view. Bird s-eye view BBM 202 - ALGORITHMS DEPT. OF COMPUTER ENGINEERING ERKUT ERDEM Reductions Designing algorithms Establishing lower bounds Classifying problems Intractability ADVANCED TOPICS ADVANCED TOPICS Jun. 6, 2013

More information

P and NP. Warm Up: Super Hard Problems. Overview. Problem Classification. Tools for classifying problems according to relative hardness.

P and NP. Warm Up: Super Hard Problems. Overview. Problem Classification. Tools for classifying problems according to relative hardness. Overview Problem classification Tractable Intractable P and NP Reductions Tools for classifying problems according to relative hardness Inge Li Gørtz Thank you to Kevin Wayne, Philip Bille and Paul Fischer

More information

P and NP. Inge Li Gørtz. Thank you to Kevin Wayne, Philip Bille and Paul Fischer for inspiration to slides

P and NP. Inge Li Gørtz. Thank you to Kevin Wayne, Philip Bille and Paul Fischer for inspiration to slides P and NP Inge Li Gørtz Thank you to Kevin Wayne, Philip Bille and Paul Fischer for inspiration to slides 1 Overview Problem classification Tractable Intractable Reductions Tools for classifying problems

More information

CS 350 Algorithms and Complexity

CS 350 Algorithms and Complexity CS 350 Algorithms and Complexity Winter 2019 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower

More information

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle Directed Hamiltonian Cycle Chapter 8 NP and Computational Intractability Claim. G has a Hamiltonian cycle iff G' does. Pf. Suppose G has a directed Hamiltonian cycle Γ. Then G' has an undirected Hamiltonian

More information

CS 350 Algorithms and Complexity

CS 350 Algorithms and Complexity 1 CS 350 Algorithms and Complexity Fall 2015 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower

More information

SAT, NP, NP-Completeness

SAT, NP, NP-Completeness CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURES 30-31 NP-completeness Definition NP-completeness proof for CIRCUIT-SAT Adam Smith 11/3/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova,

More information

10.3: Intractability. Overview. Exponential Growth. Properties of Algorithms. What is an algorithm? Turing machine.

10.3: Intractability. Overview. Exponential Growth. Properties of Algorithms. What is an algorithm? Turing machine. Overview 10.3: Intractability What is an algorithm? Turing machine. What problems can be solved on a computer? Computability. What ALGORITHMS will be useful in practice? Analysis of algorithms. Which PROBLEMS

More information

CSC 373: Algorithm Design and Analysis Lecture 15

CSC 373: Algorithm Design and Analysis Lecture 15 CSC 373: Algorithm Design and Analysis Lecture 15 Allan Borodin February 13, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 21 Announcements and Outline Announcements

More information

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013 Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 31 P and NP Self-reducibility NP-completeness Adam Smith 12/1/2008 S. Raskhodnikova; based on slides by K. Wayne Central ideas we ll cover Poly-time as feasible most

More information

CS 583: Algorithms. NP Completeness Ch 34. Intractability

CS 583: Algorithms. NP Completeness Ch 34. Intractability CS 583: Algorithms NP Completeness Ch 34 Intractability Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time? Standard working

More information

P, NP, NP-Complete, and NPhard

P, NP, NP-Complete, and NPhard P, NP, NP-Complete, and NPhard Problems Zhenjiang Li 21/09/2011 Outline Algorithm time complicity P and NP problems NP-Complete and NP-Hard problems Algorithm time complicity Outline What is this course

More information

Some Algebra Problems (Algorithmic) CSE 417 Introduction to Algorithms Winter Some Problems. A Brief History of Ideas

Some Algebra Problems (Algorithmic) CSE 417 Introduction to Algorithms Winter Some Problems. A Brief History of Ideas Some Algebra Problems (Algorithmic) CSE 417 Introduction to Algorithms Winter 2006 NP-Completeness (Chapter 8) Given positive integers a, b, c Question 1: does there exist a positive integer x such that

More information

CSC 8301 Design & Analysis of Algorithms: Lower Bounds

CSC 8301 Design & Analysis of Algorithms: Lower Bounds CSC 8301 Design & Analysis of Algorithms: Lower Bounds Professor Henry Carter Fall 2016 Recap Iterative improvement algorithms take a feasible solution and iteratively improve it until optimized Simplex

More information

NP-Completeness. Subhash Suri. May 15, 2018

NP-Completeness. Subhash Suri. May 15, 2018 NP-Completeness Subhash Suri May 15, 2018 1 Computational Intractability The classical reference for this topic is the book Computers and Intractability: A guide to the theory of NP-Completeness by Michael

More information

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory

More information

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9 1 Computational Complexity and Intractability: An Introduction to the Theory of NP Chapter 9 2 Objectives Classify problems as tractable or intractable Define decision problems Define the class P Define

More information

4/30/14. Chapter Sequencing Problems. NP and Computational Intractability. Hamiltonian Cycle

4/30/14. Chapter Sequencing Problems. NP and Computational Intractability. Hamiltonian Cycle Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 2 Hamiltonian Cycle 8.5 Sequencing Problems HAM-CYCLE: given an undirected

More information

More NP-Complete Problems

More NP-Complete Problems CS 473: Algorithms, Spring 2018 More NP-Complete Problems Lecture 23 April 17, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Recap NP: languages/problems that have

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 //8 Fast Integer Division Too (!) Schönhage Strassen algorithm CS 8: Algorithm Design and Analysis Integer division. Given two n-bit (or less) integers s and t, compute quotient q = s / t and remainder

More information

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved. Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 1 P and NP P: The family of problems that can be solved quickly in polynomial time.

More information

NP completeness and computational tractability Part II

NP completeness and computational tractability Part II Grand challenge: Classify Problems According to Computational Requirements NP completeness and computational tractability Part II Some Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All

More information

Computability and Complexity Theory: An Introduction

Computability and Complexity Theory: An Introduction Computability and Complexity Theory: An Introduction meena@imsc.res.in http://www.imsc.res.in/ meena IMI-IISc, 20 July 2006 p. 1 Understanding Computation Kinds of questions we seek answers to: Is a given

More information

DESIGN AND ANALYSIS OF ALGORITHMS. Unit 6 Chapter 17 TRACTABLE AND NON-TRACTABLE PROBLEMS

DESIGN AND ANALYSIS OF ALGORITHMS. Unit 6 Chapter 17 TRACTABLE AND NON-TRACTABLE PROBLEMS DESIGN AND ANALYSIS OF ALGORITHMS Unit 6 Chapter 17 TRACTABLE AND NON-TRACTABLE PROBLEMS http://milanvachhani.blogspot.in COMPLEXITY FOR THE IMPATIENT You are a senior software engineer in a large software

More information

Unit 6 Chapter 17 TRACTABLE AND NON-TRACTABLE PROBLEMS

Unit 6 Chapter 17 TRACTABLE AND NON-TRACTABLE PROBLEMS DESIGN AND ANALYSIS OF ALGORITHMS Unit 6 Chapter 17 TRACTABLE AND NON-TRACTABLE PROBLEMS http://milanvachhani.blogspot.in COMPLEXITY FOR THE IMPATIENT You are a senior software engineer in a large software

More information

COMP Analysis of Algorithms & Data Structures

COMP Analysis of Algorithms & Data Structures COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Computational Complexity CLRS 34.1-34.4 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures 1 / 50 Polynomial

More information

Essential facts about NP-completeness:

Essential facts about NP-completeness: CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions

More information

Correctness of Dijkstra s algorithm

Correctness of Dijkstra s algorithm Correctness of Dijkstra s algorithm Invariant: When vertex u is deleted from the priority queue, d[u] is the correct length of the shortest path from the source s to vertex u. Additionally, the value d[u]

More information

Some Algebra Problems (Algorithmic) CSE 417 Introduction to Algorithms Winter Some Problems. A Brief History of Ideas

Some Algebra Problems (Algorithmic) CSE 417 Introduction to Algorithms Winter Some Problems. A Brief History of Ideas CSE 417 Introduction to Algorithms Winter 2007 Some Algebra Problems (Algorithmic) Given positive integers a, b, c Question 1: does there exist a positive integer x such that ax = c? NP-Completeness (Chapter

More information

NP Completeness and Approximation Algorithms

NP Completeness and Approximation Algorithms Winter School on Optimization Techniques December 15-20, 2016 Organized by ACMU, ISI and IEEE CEDA NP Completeness and Approximation Algorithms Susmita Sur-Kolay Advanced Computing and Microelectronic

More information

CS 580: Algorithm Design and Analysis

CS 580: Algorithm Design and Analysis CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 208 Announcement: Homework 3 due February 5 th at :59PM Final Exam (Tentative): Thursday, May 3 @ 8AM (PHYS 203) Recap: Divide

More information

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015 CS 374: Algorithms & Models of Computation, Spring 2015 NP Completeness Lecture 23 November 19, 2015 Chandra & Lenny (UIUC) CS374 1 Spring 2015 1 / 37 Part I NP-Completeness Chandra & Lenny (UIUC) CS374

More information

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA.

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA. Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA NP Completeness Susmita Sur-Kolay Advanced Computing and Microelectronics Unit

More information

CS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle

CS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle 8.5 Sequencing Problems Basic genres. Packing problems: SET-PACKING, INDEPENDENT SET. Covering problems: SET-COVER, VERTEX-COVER. Constraint satisfaction problems: SAT, 3-SAT. Sequencing problems: HAMILTONIAN-CYCLE,

More information

Complexity, P and NP

Complexity, P and NP Complexity, P and NP EECS 477 Lecture 21, 11/26/2002 Last week Lower bound arguments Information theoretic (12.2) Decision trees (sorting) Adversary arguments (12.3) Maximum of an array Graph connectivity

More information

4/19/11. NP and NP completeness. Decision Problems. Definition of P. Certifiers and Certificates: COMPOSITES

4/19/11. NP and NP completeness. Decision Problems. Definition of P. Certifiers and Certificates: COMPOSITES Decision Problems NP and NP completeness Identify a decision problem with a set of binary strings X Instance: string s. Algorithm A solves problem X: As) = yes iff s X. Polynomial time. Algorithm A runs

More information

Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness

Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness Harry Lewis November 19, 2013 Reading: Sipser 7.4, 7.5. For culture : Computers and Intractability: A Guide to the Theory

More information

CSC 1700 Analysis of Algorithms: P and NP Problems

CSC 1700 Analysis of Algorithms: P and NP Problems CSC 1700 Analysis of Algorithms: P and NP Problems Professor Henry Carter Fall 2016 Recap Algorithmic power is broad but limited Lower bounds determine whether an algorithm can be improved by more than

More information

conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology.

conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology. 1 conp and good characterizations In these lecture notes we discuss a complexity class called conp and its relationship to P and NP. This discussion will lead to an interesting notion of good characterizations

More information

Chapter 8. NP and Computational Intractability

Chapter 8. NP and Computational Intractability Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Acknowledgement: This lecture slide is revised and authorized from Prof.

More information

Chapter 8. NP and Computational Intractability. CS 350 Winter 2018

Chapter 8. NP and Computational Intractability. CS 350 Winter 2018 Chapter 8 NP and Computational Intractability CS 350 Winter 2018 1 Algorithm Design Patterns and Anti-Patterns Algorithm design patterns. Greedy. Divide-and-conquer. Dynamic programming. Duality. Reductions.

More information

NP and NP Completeness

NP and NP Completeness CS 374: Algorithms & Models of Computation, Spring 2017 NP and NP Completeness Lecture 23 April 20, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 44 Part I NP Chandra Chekuri (UIUC) CS374 2 Spring

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms CSE 5311 Lecture 25 NP Completeness Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 NP-Completeness Some

More information

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch]

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch] NP-Completeness Andreas Klappenecker [based on slides by Prof. Welch] 1 Prelude: Informal Discussion (Incidentally, we will never get very formal in this course) 2 Polynomial Time Algorithms Most of the

More information

Announcements. Analysis of Algorithms

Announcements. Analysis of Algorithms Announcements Analysis of Algorithms Piyush Kumar (Lecture 9: NP Completeness) Welcome to COP 4531 Based on Kevin Wayne s slides Programming Assignment due: April 25 th Submission: email your project.tar.gz

More information

An alien species is traveling towards Earth and wishes to avoid bloodshed before they arrive.

An alien species is traveling towards Earth and wishes to avoid bloodshed before they arrive. Suppose... An alien species is traveling towards Earth and wishes to avoid bloodshed before they arrive. They want to send a light speed transmission of a proof of their scientific and technological superiority:

More information

Polynomial-time Reductions

Polynomial-time Reductions Polynomial-time Reductions Disclaimer: Many denitions in these slides should be taken as the intuitive meaning, as the precise meaning of some of the terms are hard to pin down without introducing the

More information

Show that the following problems are NP-complete

Show that the following problems are NP-complete Show that the following problems are NP-complete April 7, 2018 Below is a list of 30 exercises in which you are asked to prove that some problem is NP-complete. The goal is to better understand the theory

More information

Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness

Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness Marc Uetz University of Twente m.uetz@utwente.nl Lecture 9: sheet 1 / 31 Marc Uetz Discrete Optimization Outline 1 N P and co-n P 2 N P-completeness

More information

Algorithms and Theory of Computation. Lecture 22: NP-Completeness (2)

Algorithms and Theory of Computation. Lecture 22: NP-Completeness (2) Algorithms and Theory of Computation Lecture 22: NP-Completeness (2) Xiaohui Bei MAS 714 November 8, 2018 Nanyang Technological University MAS 714 November 8, 2018 1 / 20 Set Cover Set Cover Input: a set

More information

ECS122A Handout on NP-Completeness March 12, 2018

ECS122A Handout on NP-Completeness March 12, 2018 ECS122A Handout on NP-Completeness March 12, 2018 Contents: I. Introduction II. P and NP III. NP-complete IV. How to prove a problem is NP-complete V. How to solve a NP-complete problem: approximate algorithms

More information

Chapter 34: NP-Completeness

Chapter 34: NP-Completeness Graph Algorithms - Spring 2011 Set 17. Lecturer: Huilan Chang Reference: Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms, 2nd Edition, The MIT Press. Chapter 34: NP-Completeness 2. Polynomial-time

More information

Computational Intractability 2010/4/15. Lecture 2

Computational Intractability 2010/4/15. Lecture 2 Computational Intractability 2010/4/15 Professor: David Avis Lecture 2 Scribe:Naoki Hatta 1 P and NP 1.1 Definition of P and NP Decision problem it requires yes/no answer. Example: X is a set of strings.

More information

CSE 421 NP-Completeness

CSE 421 NP-Completeness CSE 421 NP-Completeness Yin at Lee 1 Cook-Levin heorem heorem (Cook 71, Levin 73): 3-SA is NP-complete, i.e., for all problems A NP, A p 3-SA. (See CSE 431 for the proof) So, 3-SA is the hardest problem

More information

Tractability. Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time?

Tractability. Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time? Tractability Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time?» Standard working definition: polynomial time» On an input

More information

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 8.5 Sequencing Problems Basic genres.! Packing problems: SET-PACKING,

More information

Introduction to Computational Complexity

Introduction to Computational Complexity Introduction to Computational Complexity Tandy Warnow October 30, 2018 CS 173, Introduction to Computational Complexity Tandy Warnow Overview Topics: Solving problems using oracles Proving the answer to

More information

Supporting hyperplanes

Supporting hyperplanes Supporting hyperplanes General approach when using Lagrangian methods Lecture 1 homework Shadow prices A linear programming problem The simplex tableau Simple example with cycling The pivot rule being

More information

8.5 Sequencing Problems. Chapter 8. NP and Computational Intractability. Hamiltonian Cycle. Hamiltonian Cycle

8.5 Sequencing Problems. Chapter 8. NP and Computational Intractability. Hamiltonian Cycle. Hamiltonian Cycle Chapter 8 NP and Computational Intractability 8.5 Sequencing Problems Basic genres. Packing problems: SET-PACKING, INDEPENDENT SET. Covering problems: SET-COVER, VERTEX-COVER. Constraint satisfaction problems:

More information

COMPUTER SCIENCE. Computer Science. 16. Intractability. Computer Science. An Interdisciplinary Approach. Section 7.4.

COMPUTER SCIENCE. Computer Science. 16. Intractability. Computer Science. An Interdisciplinary Approach. Section 7.4. COMPUTER SCIENCE S E D G E W I C K / W A Y N E PA R T I I : A L G O R I T H M S, M A C H I N E S, a n d T H E O R Y Computer Science Computer Science An Interdisciplinary Approach Section 7.4 ROBERT SEDGEWICK

More information

CS/COE

CS/COE CS/COE 1501 www.cs.pitt.edu/~nlf4/cs1501/ P vs NP But first, something completely different... Some computational problems are unsolvable No algorithm can be written that will always produce the correct

More information

NP-Complete Reductions 1

NP-Complete Reductions 1 x x x 2 x 2 x 3 x 3 x 4 x 4 CS 4407 2 22 32 Algorithms 3 2 23 3 33 NP-Complete Reductions Prof. Gregory Provan Department of Computer Science University College Cork Lecture Outline x x x 2 x 2 x 3 x 3

More information

CS 372: Computational Geometry Lecture 4 Lower Bounds for Computational Geometry Problems

CS 372: Computational Geometry Lecture 4 Lower Bounds for Computational Geometry Problems CS 372: Computational Geometry Lecture 4 Lower Bounds for Computational Geometry Problems Antoine Vigneron King Abdullah University of Science and Technology September 20, 2012 Antoine Vigneron (KAUST)

More information

CSE 135: Introduction to Theory of Computation NP-completeness

CSE 135: Introduction to Theory of Computation NP-completeness CSE 135: Introduction to Theory of Computation NP-completeness Sungjin Im University of California, Merced 04-15-2014 Significance of the question if P? NP Perhaps you have heard of (some of) the following

More information

CS 5114: Theory of Algorithms

CS 5114: Theory of Algorithms CS 5114: Theory of Algorithms Clifford A. Shaffer Department of Computer Science Virginia Tech Blacksburg, Virginia Spring 2014 Copyright c 2014 by Clifford A. Shaffer CS 5114: Theory of Algorithms Spring

More information

4/22/12. NP and NP completeness. Efficient Certification. Decision Problems. Definition of P

4/22/12. NP and NP completeness. Efficient Certification. Decision Problems. Definition of P Efficient Certification and completeness There is a big difference between FINDING a solution and CHECKING a solution Independent set problem: in graph G, is there an independent set S of size at least

More information

2. ALGORITHM ANALYSIS

2. ALGORITHM ANALYSIS 2. ALGORITHM ANALYSIS computational tractability asymptotic order of growth survey of common running times Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley http://www.cs.princeton.edu/~wayne/kleinberg-tardos

More information

CS 580: Algorithm Design and Analysis

CS 580: Algorithm Design and Analysis CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Homework 5 due on March 29 th at 11:59 PM (on Blackboard) Recap Polynomial Time Reductions (X P Y ) P Decision problems

More information

3/22/2018. CS 580: Algorithm Design and Analysis. Circuit Satisfiability. Recap. The "First" NP-Complete Problem. Example.

3/22/2018. CS 580: Algorithm Design and Analysis. Circuit Satisfiability. Recap. The First NP-Complete Problem. Example. Circuit Satisfiability CS 580: Algorithm Design and Analysis CIRCUIT-SAT. Given a combinational circuit built out of AND, OR, and NOT gates, is there a way to set the circuit inputs so that the output

More information

Computational Complexity

Computational Complexity Computational Complexity Problems, instances and algorithms Running time vs. computational complexity General description of the theory of NP-completeness Problem samples 1 Computational Complexity What

More information

Lecture 5: Computational Complexity

Lecture 5: Computational Complexity Lecture 5: Computational Complexity (3 units) Outline Computational complexity Decision problem, Classes N P and P. Polynomial reduction and Class N PC P = N P or P = N P? 1 / 22 The Goal of Computational

More information

Instructor N.Sadagopan Scribe: P.Renjith. Lecture- Complexity Class- P and NP

Instructor N.Sadagopan Scribe: P.Renjith. Lecture- Complexity Class- P and NP Indian Institute of Information Technology Design and Manufacturing, Kancheepuram Chennai 600 127, India An Autonomous Institute under MHRD, Govt of India http://www.iiitdm.ac.in COM 501 Advanced Data

More information

Lecture 19: Finish NP-Completeness, conp and Friends

Lecture 19: Finish NP-Completeness, conp and Friends 6.045 Lecture 19: Finish NP-Completeness, conp and Friends 1 Polynomial Time Reducibility f : Σ* Σ* is a polynomial time computable function if there is a poly-time Turing machine M that on every input

More information

P P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions

P P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions Summary of the previous lecture Recall that we mentioned the following topics: P: is the set of decision problems (or languages) that are solvable in polynomial time. NP: is the set of decision problems

More information

NP Completeness and Approximation Algorithms

NP Completeness and Approximation Algorithms Chapter 10 NP Completeness and Approximation Algorithms Let C() be a class of problems defined by some property. We are interested in characterizing the hardest problems in the class, so that if we can

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2016 http://cseweb.ucsd.edu/classes/sp16/cse105-ab/ Today's learning goals Sipser Ch 7.2, 7.3 Distinguish between polynomial and exponential DTIME Define nondeterministic

More information

Outline. 1 NP-Completeness Theory. 2 Limitation of Computation. 3 Examples. 4 Decision Problems. 5 Verification Algorithm

Outline. 1 NP-Completeness Theory. 2 Limitation of Computation. 3 Examples. 4 Decision Problems. 5 Verification Algorithm Outline 1 NP-Completeness Theory 2 Limitation of Computation 3 Examples 4 Decision Problems 5 Verification Algorithm 6 Non-Deterministic Algorithm 7 NP-Complete Problems c Hu Ding (Michigan State University)

More information

Computational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs

Computational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs Computational Complexity IE 496 Lecture 6 Dr. Ted Ralphs IE496 Lecture 6 1 Reading for This Lecture N&W Sections I.5.1 and I.5.2 Wolsey Chapter 6 Kozen Lectures 21-25 IE496 Lecture 6 2 Introduction to

More information

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof T-79.5103 / Autumn 2006 NP-complete problems 1 NP-COMPLETE PROBLEMS Characterizing NP Variants of satisfiability Graph-theoretic problems Coloring problems Sets and numbers Pseudopolynomial algorithms

More information