CS 241 Analysis of Algorithms
|
|
- Ashlie Garrett
- 5 years ago
- Views:
Transcription
1 CS 241 Analysis of Algorithms Professor Eric Aaron Lecture T Th 9:00am Lecture Meeting Location: OLB 205 Business Grading updates: HW5 back today HW7 due Dec. 10 Reading: Ch , Ch , Ch. 34.?? 1
2 Shortest Path Problems Kinds of graph problems based on finding shortest paths (by convention, presume weighted, directed graphs): Single-source shortest paths Various algorithms for cases of it (Bellman-Ford, Dijkstra) Single-destination shortest paths If we have a single-source shortest paths algorithm, how could we solve this? Single-pair shortest path How does this relate to the single-source variant? All-pairs shortest paths We ll talk more about this soon (Note: To represent a (shortest) path in solving such a problem, each vertex is presumed to have a predecessor field, which stores its predecessor on the path being considered.) Properties of Shortest Paths Optimal substructure of shortest paths Is each sub-path of a shortest path itself a shortest path? What s the argument for / counter-argument to that? Can a shortest path in a weighted graph have a cycle? (Be sure to consider graphs with negative edges, which could have negative weight cycles, as well as graphs with positive weight cycles!) Consider a special case: an unweighted graph (or, equivalently, a graph in which every edge has unit weight) What algorithm could solve single-source shortest paths problems for such graphs? 2
3 All-Pairs Shortest Paths The All-Pairs Shortest Paths Problem: Given weighted graph G=(V, E) (with no negative weight cycles), find the shortest path from u to v for every u, v \in V Solutions can be based on dynamic programming and an adjacency matrix representation of G Recall: Adjacency matrix W contains weight of each edge in E By convention, diagonal of W is all 0s How might we break this down into sub-problems for a recursive solution? All-Pairs Shortest Paths: A Recursive Solution Solve all-pairs shortest path problem in terms of the intermediate vertices that can appear on any shortest path Intermediate vertex of a simple path p = <v 1, v 2,, v z > is any vertex on p other than v 1 or v z For graph G, call vertices V = {1,, n}, and consider subsets V k = {1,, k} of V Then, for any two vertices i, j in V, consider all paths from i to j with intermediate vertices drawn only from V k In particular, consider a shortest path p from i to j with intermediate vertices in V k What s the relationship between p and the set of shortest paths from i to j with intermediate vertices in V k-1? Also, is p a simple path? How do we know, one way or another? 3
4 All-Pairs Shortest Paths: The Same Recursive Solution We re still considering shortest path p from i to j with intermediate vertices in V k What s the relationship between p and the set of shortest paths from i to j with intermediate vertices in V k-1? Depends on whether or not vertex k is an intermediate vertex on path p If not, then p is also a shortest path (i to j) with intermediate vertices in V k-1 If so, then p can be broken down into sub-paths that are shortest paths with intermediate vertices in V k-1 one sub-path is from (i to k), the other is from (k to j) How do we know we can decompose p that way, i.e., that both subpaths are shortest paths, using only vertices numbered up to k-1? Given this, how could we recursively define the shortest path lengths between all pairs of vertices? By the way, which one s Warshall? Floyd-Warshall Algorithm: Bottom-up All-Pairs Shortest Paths Floyd-Warshall algorithm for all-pairs shortest paths: the bottom-up method based on this decomposition (k ) (k ) Computes matrices D(k) = ( d ij ), where each d ij is the shortest path value from i to j using only intermediate vertices numbered up to k Note: This computes shortest path values, not the paths. See pages about computing the paths themselves. What does this algorithm return? (What makes that a useful return value?) What is the running time of this algorithm? 4
5 A Floyd-Warshall Example (k ) Computes matrices D(k) = ( d ij ), where each is the shortest path value from i to j using only intermediate vertices numbered up to k (k ) d ij What D matrices does it compute for this example graph? And Now For Something Complexly Different It s How hard could it be? -- Jeremy Clarkson, Top Gear (UK) 5
6 We ve Got Problems Graph Problems Consider the hamiltonian cycle problem: In some sources, Hamiltonian is capitalized, but not in CLRS A hamiltonian cycle of a connected, directed graph G=(V,E) is a simple cycle that contains each vertex in V (though perhaps not every edge in E) The hamiltonian cycle problem: Given connected digraph G, does G contain a hamiltonian cycle? Example: Is there a hamiltonian cycle in this graph? We ve Got Problems Graph Problems Consider the hamiltonian cycle problem: A hamiltonian cycle of a connected, directed graph G=(V,E) is a simple cycle that contains each vertex in V (though perhaps not every edge in E) The hamiltonian cycle problem: Given connected digraph G, does G contain a hamiltonian cycle? Consider the Euler tour problem: In some sources, Hamiltonian is capitalized, but not in CLRS Note that these are decision problems each deciding a yes / no question An Euler tour of a connected, directed graph is a cycle that uses each edge exactly once (though it can visit vertices multiple times) The Euler tour problem: Given connected digraph G, does G contain an Euler tour? How long (what complexity) would it take to: solve each of these problems? verify that a possible solution was correct, if we were given one? And is there a meaningful difference in tractability between the problems? 6
7 Tractability and Complexity Typically, tractability is framed in terms of decision problems, rather than the related optimization problems Tractability It is generally accepted that a problem is tractable (solvable in practice, not just in theory) if there is a polynomial-time algorithm for it i.e., in class O(n k ) for some constant k If a problem requires an exponential time solution (or worse!), it is considered intractable without an efficient solution Goal: Classify problems by how efficiently they can be solved (Relatively) Fine-detail distinctions: Big-Oh or Theta classes Tractability distinctions based in larger classes: P: problems solvable in polynomial time (hence the name P) NP: problems with solutions verifiable in polynomial time PSPACE : problems solvable in polynomial space (no restriction on time) Etc. The Class NP: A Quick Introduction NP: the class of problems solvable in nondeterministic polynomial time (hence the name NP) Somewhat loosely, that means that a problem is in NP if it can be verified in polynomial time Could think of it as: If we were given a certificate of a solution (essentially, a potential solution), we could check it for correctness (is it actually a solution?) in polynomial time in input size Could think of it as: If given a correct certificate, we could solve the problem in polynomial time Note that if a solution to a problem can be found in polynomial time, that problem can be verified in polynomial time Recall: This is about decision problems, not (related) optimization problems What does this say about the relationship between P and NP? (For more about nondeterminism in computation, see CMPU-240) 7
8 No joke: This is an exceptionally important slide. P, NP, and NP-Completeness We know P NP, because if a solution can be found in polynomial time, one can be checked in polynomial time Is NP P? Good question. (One of the best around, actually.) Extra credit exercise: Prove or disprove NP P. (You would get an A+ for this course. Oh, and also $1,000,000 at least. Really.) It is generally believed that P NP problems in P are tractable, and NPproblems (not in P) are thought to be intractable Thus, it s important to determine if a problem is in NP, or at least as hard as a problem that is in NP (and not known to be in P) Complexity class NPC: Class of NP-complete problems A problem is NP-complete if a) it is in NP; and b) it is at least as hard as every problem in NP So, if one NP-complete problem is tractable, all problems in NP are tractable! NPC problems are the hardest problems in NP thus, they re presumed intractable We ve Got Problems Decision Problems Problems such as shortest paths, etc. are optimization problems When trying to show a problem is NP-complete, we work with related decision problems answers are only yes or no (1 or 0, respectively) E.g., instead of Given graph G and vertices u, v, what is the shortest path from u to v? We consider Given graph G and vertices u, v, is there a path from u to v of length at most k? Note: the decision problem is not harder than the optimization problem (if we can solve the optimization, we can solve the decision) Thus, if we show a decision problem is very difficult (i.e., in NPC), we ve shown the optimization problem is, also This idea of proving relative difficulty of showing one problem is at least as difficult as another is natural on decision problems, and it is central to how we prove problems are NP-complete! 8
9 Reductions and Tractability To show that one problem is at least as hard as another, use reductions A reduction transforms any instance β of a problem B (e.g., a graph G, two vertices u and v, and a number k, for the shortest paths problem) into an instance α of another problem A Let s say we can solve (decision) problem A in polynomial time (i.e., it s tractable), and want to show problem B is tractable We use a reduction such that 1. The transformation takes polynomial time; and 2. The answers are the same i.e., the answer to α is yes iff the answer to β is yes Then apply the decision procedure that solves A if A is tractable (i.e., poly-time solvable), B must be tractable All computations we discuss are implicitly presumed to be w.r.t. some conventional model of computation (e.g., a Turing Machine). An algorithm, then, is a computation on such a machine, and time complexity can be measured in terms of computation steps. More Reductions: Using Reductions To Show Intractability Let s say that instead, we wanted to show problem A was intractable If we know problem B has no polynomial time algorithm, then consider a reduction from B to A: Takes an instance β of B Transforms it in polynomial time into an instance α of A such that a decision on α would give us a decision on β Then, if A could be solved in polynomial time, B could also Thus, by contradiction, A must not be solvable in polynomial time More generally: A is at least as hard as B A similar procedure will be used to show NP-completeness: If B is NP-complete, A must be at least as difficult, so A is a candidate for being NP-complete This is a common use of polynomial-time reductions 9
NP-Completeness. Until now we have been designing algorithms for specific problems
NP-Completeness 1 Introduction Until now we have been designing algorithms for specific problems We have seen running times O(log n), O(n), O(n log n), O(n 2 ), O(n 3 )... We have also discussed lower
More informationThe Complexity Classes P and NP. Andreas Klappenecker [partially based on slides by Professor Welch]
The Complexity Classes P and NP Andreas Klappenecker [partially based on slides by Professor Welch] P Polynomial Time Algorithms Most of the algorithms we have seen so far run in time that is upper bounded
More informationNP-Complete problems
NP-Complete problems NP-complete problems (NPC): A subset of NP. If any NP-complete problem can be solved in polynomial time, then every problem in NP has a polynomial time solution. NP-complete languages
More informationNP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University
NP-Completeness CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Hard Graph Problems Hard means no known solutions with
More informationData Structures in Java
Data Structures in Java Lecture 21: Introduction to NP-Completeness 12/9/2015 Daniel Bauer Algorithms and Problem Solving Purpose of algorithms: find solutions to problems. Data Structures provide ways
More informationVIII. NP-completeness
VIII. NP-completeness 1 / 15 NP-Completeness Overview 1. Introduction 2. P and NP 3. NP-complete (NPC): formal definition 4. How to prove a problem is NPC 5. How to solve a NPC problem: approximate algorithms
More informationAll-Pairs Shortest Paths
All-Pairs Shortest Paths Version of October 28, 2016 Version of October 28, 2016 All-Pairs Shortest Paths 1 / 26 Outline Another example of dynamic programming Will see two different dynamic programming
More informationLecture 4: NP and computational intractability
Chapter 4 Lecture 4: NP and computational intractability Listen to: Find the longest path, Daniel Barret What do we do today: polynomial time reduction NP, co-np and NP complete problems some examples
More informationLecture 24: How to become Famous with P and NP
Lecture 4: How to become Famous with P and NP Agenda for today s class: The complexity class P The complexity class NP NP-completeness The P =? NP problem Major extra-credit problem (due: whenever) Fun
More information1. 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 informationP, NP, NP-Complete. Ruth Anderson
P, NP, NP-Complete Ruth Anderson A Few Problems: Euler Circuits Hamiltonian Circuits Intractability: P and NP NP-Complete What now? Today s Agenda 2 Try it! Which of these can you draw (trace all edges)
More informationCS 320, Fall Dr. Geri Georg, Instructor 320 NP 1
NP CS 320, Fall 2017 Dr. Geri Georg, Instructor georg@colostate.edu 320 NP 1 NP Complete A class of problems where: No polynomial time algorithm has been discovered No proof that one doesn t exist 320
More informationEasy 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 informationCS 5114: Theory of Algorithms. Tractable Problems. Tractable Problems (cont) Decision Problems. Clifford A. Shaffer. Spring 2014
Department of Computer Science Virginia Tech Blacksburg, Virginia Copyright c 2014 by Clifford A. Shaffer : Theory of Algorithms Title page : Theory of Algorithms Clifford A. Shaffer Spring 2014 Clifford
More informationCMSC 441: Algorithms. NP Completeness
CMSC 441: Algorithms NP Completeness Intractable & Tractable Problems Intractable problems: As they grow large, we are unable to solve them in reasonable time What constitutes reasonable time? Standard
More information1 Primals and Duals: Zero Sum Games
CS 124 Section #11 Zero Sum Games; NP Completeness 4/15/17 1 Primals and Duals: Zero Sum Games We can represent various situations of conflict in life in terms of matrix games. For example, the game shown
More informationNP 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 informationP, 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 informationNP 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 informationLimitations 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 informationAutomata Theory CS Complexity Theory I: Polynomial Time
Automata Theory CS411-2015-17 Complexity Theory I: Polynomial Time David Galles Department of Computer Science University of San Francisco 17-0: Tractable vs. Intractable If a problem is recursive, then
More informationP vs. NP. Data Structures and Algorithms CSE AU 1
P vs. NP Data Structures and Algorithms CSE 373-18AU 1 Goals for today Define P, NP, and NP-complete Explain the P vs. NP problem -why it s the biggest open problem in CS. -And what to do when a problem
More informationDesign 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 informationSummer 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 informationTractable & Intractable Problems
Tractable & Intractable Problems We will be looking at : What is a P and NP problem NP-Completeness The question of whether P=NP The Traveling Salesman problem again Programming and Data Structures 1 Polynomial
More informationP 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 informationIntroduction to Complexity Theory
Introduction to Complexity Theory Read K & S Chapter 6. Most computational problems you will face your life are solvable (decidable). We have yet to address whether a problem is easy or hard. Complexity
More informationEssential 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 informationNP-Complete Problems and Approximation Algorithms
NP-Complete Problems and Approximation Algorithms Efficiency of Algorithms Algorithms that have time efficiency of O(n k ), that is polynomial of the input size, are considered to be tractable or easy
More informationNP-Completeness. ch34 Hewett. Problem. Tractable Intractable Non-computable computationally infeasible super poly-time alg. sol. E.g.
NP-Completeness ch34 Hewett Problem Tractable Intractable Non-computable computationally infeasible super poly-time alg. sol. E.g., O(2 n ) computationally feasible poly-time alg. sol. E.g., O(n k ) No
More informationLecture 18: P & NP. Revised, May 1, CLRS, pp
Lecture 18: P & NP Revised, May 1, 2003 CLRS, pp.966-982 The course so far: techniques for designing efficient algorithms, e.g., divide-and-conquer, dynamic-programming, greedy-algorithms. What happens
More informationAdmin NP-COMPLETE PROBLEMS. Run-time analysis. Tractable vs. intractable problems 5/2/13. What is a tractable problem?
Admin Two more assignments No office hours on tomorrow NP-COMPLETE PROBLEMS Run-time analysis Tractable vs. intractable problems We ve spent a lot of time in this class putting algorithms into specific
More informationCSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010
CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010 Computational complexity studies the amount of resources necessary to perform given computations.
More informationCS173 Lecture B, November 3, 2015
CS173 Lecture B, November 3, 2015 Tandy Warnow November 3, 2015 CS 173, Lecture B November 3, 2015 Tandy Warnow Announcements Examlet 7 is a take-home exam, and is due November 10, 11:05 AM, in class.
More informationP is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k.
Complexity Theory Problems are divided into complexity classes. Informally: So far in this course, almost all algorithms had polynomial running time, i.e., on inputs of size n, worst-case running time
More informationP versus NP. Math 40210, Spring September 16, Math (Spring 2012) P versus NP September 16, / 9
P versus NP Math 40210, Spring 2012 September 16, 2012 Math 40210 (Spring 2012) P versus NP September 16, 2012 1 / 9 Properties of graphs A property of a graph is anything that can be described without
More informationBasic definitions. Remarks
Basic definitions In a graph G(V, E) a Hamiltonian tour sometimes also called a Hamiltonian cycle is a closed trail that includes each of the graph s vertices exactly once. A graph that contains such a
More informationAnalysis of Algorithms I: All-Pairs Shortest Paths
Analysis of Algorithms I: All-Pairs Shortest Paths Xi Chen Columbia University The All-Pairs Shortest Paths Problem. Input: A directed weighted graph G = (V, E) with an edge-weight function w : E R. Output:
More informationNP 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 informationIntroduction. Pvs.NPExample
Introduction Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 09 NP-Completeness (Chapter 34) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu I
More informationCS 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 information1 Review of Vertex Cover
CS266: Parameterized Algorithms and Complexity Stanford University Lecture 3 Tuesday, April 9 Scribe: Huacheng Yu Spring 2013 1 Review of Vertex Cover In the last lecture, we discussed FPT algorithms for
More informationP versus NP. Math 40210, Fall November 10, Math (Fall 2015) P versus NP November 10, / 9
P versus NP Math 40210, Fall 2015 November 10, 2015 Math 40210 (Fall 2015) P versus NP November 10, 2015 1 / 9 Properties of graphs A property of a graph is anything that can be described without referring
More informationCOMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages
COMP/MATH 300 Topics for Spring 2017 June 5, 2017 Review and Regular Languages Exam I I. Introductory and review information from Chapter 0 II. Problems and Languages A. Computable problems can be expressed
More informationNP-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 information1 Computational problems
80240233: Computational Complexity Lecture 1 ITCS, Tsinghua Univesity, Fall 2007 9 October 2007 Instructor: Andrej Bogdanov Notes by: Andrej Bogdanov The aim of computational complexity theory is to study
More informationComputational 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 informationDESIGN 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 informationUnit 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 informationCS Fall 2011 P and NP Carola Wenk
CS3343 -- Fall 2011 P and NP Carola Wenk Slides courtesy of Piotr Indyk with small changes by Carola Wenk 11/29/11 CS 3343 Analysis of Algorithms 1 We have seen so far Algorithms for various problems Running
More informationCOP 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 informationNP-Complete Problems. More reductions
NP-Complete Problems More reductions Definitions P: problems that can be solved in polynomial time (typically in n, size of input) on a deterministic Turing machine Any normal computer simulates a DTM
More informationComputational Complexity
p. 1/24 Computational Complexity The most sharp distinction in the theory of computation is between computable and noncomputable functions; that is, between possible and impossible. From the example of
More informationComputational Complexity
CS311 Computational Structures Computational Complexity Lecture 16 Andrew P. Black Andrew Tolmach 1 So, itʼs computable! But at what cost? Some things that are computable in principle are in practice intractable
More informationNP Complete Problems. COMP 215 Lecture 20
NP Complete Problems COMP 215 Lecture 20 Complexity Theory Complexity theory is a research area unto itself. The central project is classifying problems as either tractable or intractable. Tractable Worst
More informationAdvanced topic: Space complexity
Advanced topic: Space complexity CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2016 1/28 Review: time complexity We have looked at how long it takes to
More informationNP-problems continued
NP-problems continued Page 1 Since SAT and INDEPENDENT SET can be reduced to each other we might think that there would be some similarities between the two problems. In fact, there is one such similarity.
More informationCS 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 informationECS122A 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 informationNP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness
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
More informationP versus NP. Math 40210, Spring April 8, Math (Spring 2012) P versus NP April 8, / 9
P versus NP Math 40210, Spring 2014 April 8, 2014 Math 40210 (Spring 2012) P versus NP April 8, 2014 1 / 9 Properties of graphs A property of a graph is anything that can be described without referring
More informationSAT, 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 informationCHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1
CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Goal: Evaluate the computational requirements (this course s focus: time) to solve
More informationU.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan 9/6/2004. Notes for Lecture 3
U.C. Berkeley CS278: Computational Complexity Handout N3 Professor Luca Trevisan 9/6/2004 Notes for Lecture 3 Revised 10/6/04 1 Space-Bounded Complexity Classes A machine solves a problem using space s(
More informationProblem Complexity Classes
Problem Complexity Classes P, NP, NP-Completeness and Complexity of Approximation Joshua Knowles School of Computer Science The University of Manchester COMP60342 - Week 2 2.15, March 20th 2015 In This
More informationP 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 informationSome 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 informationNP-Complete Reductions 2
x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 CS 447 11 13 21 23 31 33 Algorithms NP-Complete Reductions 2 Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline NP-Complete
More informationReductions. 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/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: NP-Completeness I Date: 11/13/18
601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: NP-Completeness I Date: 11/13/18 20.1 Introduction Definition 20.1.1 We say that an algorithm runs in polynomial time if its running
More informationFormal definition of P
Since SAT and INDEPENDENT SET can be reduced to each other we might think that there would be some similarities between the two problems. In fact, there is one such similarity. In SAT we want to know if
More informationNP, polynomial-time mapping reductions, and NP-completeness
NP, polynomial-time mapping reductions, and NP-completeness In the previous lecture we discussed deterministic time complexity, along with the time-hierarchy theorem, and introduced two complexity classes:
More informationToday: NP-Completeness (con t.)
Today: NP-Completeness (con t.) COSC 581, Algorithms April 22, 2014 Many of these slides are adapted from several online sources Reading Assignments Today s class: Chapter 34.5 (con t.) Recall: Proving
More informationUmans Complexity Theory Lectures
Complexity Theory Umans Complexity Theory Lectures Lecture 1a: Problems and Languages Classify problems according to the computational resources required running time storage space parallelism randomness
More informationLecture 11. Single-Source Shortest Paths All-Pairs Shortest Paths
Lecture. Single-Source Shortest Paths All-Pairs Shortest Paths T. H. Cormen, C. E. Leiserson and R. L. Rivest Introduction to, rd Edition, MIT Press, 009 Sungkyunkwan University Hyunseung Choo choo@skku.edu
More informationChapter 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 informationAlgorithms 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 informationNP 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 information1 Reductions and Expressiveness
15-451/651: Design & Analysis of Algorithms November 3, 2015 Lecture #17 last changed: October 30, 2015 In the past few lectures we have looked at increasingly more expressive problems solvable using efficient
More informationComputational 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 informationComputational 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 informationUC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 22 Lecturer: David Wagner April 24, Notes 22 for CS 170
UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 22 Lecturer: David Wagner April 24, 2003 Notes 22 for CS 170 1 NP-completeness of Circuit-SAT We will prove that the circuit satisfiability
More informationAlgorithms: COMP3121/3821/9101/9801
NEW SOUTH WALES Algorithms: COMP3121/3821/9101/9801 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales LECTURE 9: INTRACTABILITY COMP3121/3821/9101/9801 1 / 29 Feasibility
More informationLecture 4 : Quest for Structure in Counting Problems
CS6840: Advanced Complexity Theory Jan 10, 2012 Lecture 4 : Quest for Structure in Counting Problems Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K. Theme: Between P and PSPACE. Lecture Plan:Counting problems
More informationCS 6505, Complexity and Algorithms Week 7: NP Completeness
CS 6505, Complexity and Algorithms Week 7: NP Completeness Reductions We have seen some problems in P and NP, and we ve talked about space complexity. The Space Hierarchy Theorem showed us that there are
More informationA Working Knowledge of Computational Complexity for an Optimizer
A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi 1 Why computational complexity? What is computational complexity theory? It s a branch of mathematics
More informationCS151 Complexity Theory. Lecture 1 April 3, 2017
CS151 Complexity Theory Lecture 1 April 3, 2017 Complexity Theory Classify problems according to the computational resources required running time storage space parallelism randomness rounds of interaction,
More informationAgenda. What is a complexity class? What are the important complexity classes? How do you prove an algorithm is in a certain class
Complexity Agenda What is a complexity class? What are the important complexity classes? How do you prove an algorithm is in a certain class Complexity class A complexity class is a set All problems within
More informationThe Beauty and Joy of Computing
The Beauty and Joy of Computing Lecture #23 Limits of Computing UC Berkeley EECS Sr Lecturer SOE Dan You ll have the opportunity for extra credit on your project! After you submit it, you can make a 5min
More informationInformatique Fondamentale IMA S8
Informatique Fondamentale IMA S8 Cours 4 : graphs, problems and algorithms on graphs, (notions of) NP completeness Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université
More informationSingle Source Shortest Paths
CMPS 00 Fall 017 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk Paths in graphs Consider a digraph G = (V, E) with an edge-weight
More informationComputer 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 informationBBM402-Lecture 11: The Class NP
BBM402-Lecture 11: The Class NP Lecturer: Lale Özkahya Resources for the presentation: http://ocw.mit.edu/courses/electrical-engineering-andcomputer-science/6-045j-automata-computability-andcomplexity-spring-2011/syllabus/
More informationNP 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 informationCS103 Handout 22 Fall 2012 November 30, 2012 Problem Set 9
CS103 Handout 22 Fall 2012 November 30, 2012 Problem Set 9 In this final problem set of the quarter, you will explore the limits of what can be computed efficiently. What problems do we believe are computationally
More informationCSCI3390-Lecture 18: Why is the P =?NP Problem Such a Big Deal?
CSCI3390-Lecture 18: Why is the P =?NP Problem Such a Big Deal? The conjecture that P is different from NP made its way on to several lists of the most important unsolved problems in Mathematics (never
More informationUniversity of Toronto Department of Electrical and Computer Engineering. Final Examination. ECE 345 Algorithms and Data Structures Fall 2016
University of Toronto Department of Electrical and Computer Engineering Final Examination ECE 345 Algorithms and Data Structures Fall 2016 Print your first name, last name, UTORid, and student number neatly
More informationTractability. 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 informationLecture 27: Theory of Computation. Marvin Zhang 08/08/2016
Lecture 27: Theory of Computation Marvin Zhang 08/08/2016 Announcements Roadmap Introduction Functions Data Mutability Objects This week (Applications), the goals are: To go beyond CS 61A and see examples
More information