DESIGN AND ANALYSIS OF ALGORITHMS. Unit 6 Chapter 17 TRACTABLE AND NON-TRACTABLE PROBLEMS
|
|
- Darren Barber
- 6 years ago
- Views:
Transcription
1 DESIGN AND ANALYSIS OF ALGORITHMS Unit 6 Chapter 17 TRACTABLE AND NON-TRACTABLE PROBLEMS
2 COMPLEXITY FOR THE IMPATIENT You are a senior software engineer in a large software house. A demanding customer has asked for a program to solve a new, seemingly difficult, problem. On realizing that other customers also may come up with similar requirements, your manager has entrusted you the job of finding a most efficient general algorithm for the problem. After spending considerable time and effort on the job, you find that you are not able to find an efficient algorithm. What are the possibilities and what could you do?
3 In the above list of possibilities, a significant departure in attitude come at points marked with letter N. How do we decide that point?
4 In the previous chapters we have encountered a variety of algorithms, having efficiencies ranging over a wide spectrum. Even with the same basic algorithm, we noticed that running times can be reduced significantly by some adjustment of the algorithm. We noted this in case of the bogosort.c and bogosorti.c programs given in Chapters 1 and 4, where a small modification in the algorithm reduced the expected run times from O(n!) to O(n 2 ). Our studies in the later chapters showed us that the best running time we can expect for known sorting algorithm is O(n log(n)). This raises a question in our mind- Is this the minimum time that any sorting algorithm can achieve?" Note that here the question is not about a particular algorithm, but rather any algorithm whatsoever for sorting a given array. In other words, the question is about the problem itself-"does the sorting problem allow an algorithm having time less than O(n log(n))?"
5 Thus our focus now turns from a particular algorithm to a class of problems, e.g. sort problems. The range of conceptual abstractness of investigations involved is shown in next Figure. For example, suppose we have not developed efficient sorting algorithms like Quick-sort or Merge-sort and did all our sorting by an algorithm like bogosorti.c. Now suppose some clever researcher proves a lowerbound of O(n log(n)) on the running time of the class of sorting problems (i.e. all the possible sorting problem instances), then a host of developers will get busy trying to develop more efficient sorting algorithms, because now it is known that such an algorithm is possible. The above observations also points to the importance of finding the Lower bound on the expected running times of a class of problems.
6
7
8 Our major concern arises out of some of the results that we have already seen in the previous Chapters 4 and 14. Referring to previous figure, where we have plotted running times of algorithms with different behaviours, which one is the "odd-man-out"? Obviously the algorithm with run-time of 2 n is the" oddman-out". Even if the polynomial terms like n 4 are multiplied by large constant factors, say 10 3, their runtimes will still be much less than those of the algorithm with 2 n time. We are concerned about such difficult or hard algorithms. If we come across problems for which the only known algorithms are of such hard type, we should study those problems more closely. That is why we study Complexity classes of problems, with a view to categorize problems according to the timing behaviour of the best algorithms to solve them. The tentative situation observed till now is shown in next figure.
9
10 Computer scientists found that some problems are well behaved enough for the algorithms which solved them had polynomial time characteristics. Such problems were said to be tractable and were considered to be in a set called P, standing for polynomial time solvable problems. Others were said to be non-tractable. Soon it was found that matter was not that simple and clear-cut and required deeper study. After that rather rough and ready exposure to tractability, we present here, quick and terse elucidation of the current understanding about problem complexity which is accepted by most of the researchers.
11
12 Polynomial Time and Decision Problems In view of the considerations for run-times put forward above and in Chapters 4 and 14, we use the Polynomial- time as the cut-off for efficiency of algorithms and complexity of problem classes. That part is clear enough, but what about problems which are beyond that cutoff? To make our discussion simple, we take up for discussion a limited, but important class of problems, called Decision Problems. Decision problems have as their output either 1 or 0 (or "yes" or "no"). Some examples are:
13 Does a given graph G have an Euler tour? Does a text S contain a pattern R? Does an instance of 0/1 Knapsack have a solution with profit at least K? Does a graph G have an MST with weight at most K? Does a given set of n cities, in a TSproblem, have a tour of length less than a limit m? Note that in such problems we are not asking for a particular solution, but whether a solution exists at all. The algorithm to get the yes/no answer may or may not find the actual solution.
14 Problems and Languages The algorithm which solves a particular decision problem will be given the problem instance in form of a question, as concisely as possible and possibly coded in some language. For example, the decision problem "Does a text S contain a pattern R?" may be given to the algorithm as "in('this is good.', 'is')?" Thus a problem is expressed in form of a sentence or a string in some language. The given string may not result in a "yes" answer. Our definition of a language is slightly narrower. A language L is a set of strings x defined over some alphabet L. Every decision algorithm A defines a language L. A language L is the set consisting of every string x such that A outputs "yes" on input x. We say "A accepts x" if that is so. Expressed in symbolic form: For example, if an algorithm A determines whether or not a given graph G has an Euler tour, then the language L for A is all graphs with Euler tours.
15 Complexity Classes and Class P A complexity class is a collection of languages satisfying certain criteria. P is the complexity class consisting of all languages that are accepted by polynomial-time algorithms. For each language L in P there is a polynomial time decision algorithm A for L. If n= x, then x Є L, A runs in p(n) time on input x, the function p(n) is some polynomial in n. What about problems which are not in P? Consider the decision form of the Traveling Salesman problem: "Given a set of n cities, does it have a tour of length less than a limit m?"
16 There is no known polynomial time algorithm for solving this problem. However, suppose we find for a particular instance of this problem, that the answer for that instance is "yes." We are skeptical and would like to ensure correctness of the result by checking that the tour, which was basis for that answer, has indeed the required properties. It would then be a simple matter of computing its length and comparing that quantity to the given bound m. This verification procedure will have a polynomial time complexity. This idea of polynomial time verifiability is being described by the class NP. Note that polynomial time verifiability does not imply polynomial time solvability. Note well that NP stands for "Non-deterministic Polynomial-time" and not for "Non-Polynomial-time".
17 Complexity Class NP-1st Definition We say that an algorithm is non-deterministic if it uses some operation like: choose(v): chooses a value or a symbol v. Such an operation may also be used to choose an entire string y, with Y choices. How this choice is made is not specified. For example, it may be done by a random select out of a finite set. As if by some magic, which is out of purview of the algorithm, we get the chosen value. We say that a non-deterministic algorithm A accepts a string x if there exists some sequence of choose() operations that causes A to output "yes" on input x. NP is the complexity class consisting of all languages accepted by polynomial-time non-deterministic algorithms.
18 Example: Problem: Decide if a TS has a tour of length at most K. Algorithm: 1) Non-deterministically choose a set T of n edges, 2) Test that T forms a valid tour 3) Test that T has length at most K Analysis: Testing takes O(n) time, so this algorithm runs in polynomial time. Complexity Class NP - 2nd Definition: We say that an algorithm B verifies the acceptance of a language L iff, for all x in L, there exists a certificate y such that B outputs "yes on input (x, y). We have already had a rather imprecise glimpse of what a certificate looks like in our bogosort. c program, in form of the sorted () function. NP is the complexity class consisting of all languages verified by polynomial-time algorithms. Note that verification of a candidate solution is easier than computing the solution itself.
19 Example: We take the following problem as an example for the alternate definition of the class NP. Problem: Decide if a TS problem has a tour of length K or less. Verification Algorithm: 1) Use as a certificate, y, a set T of n edges, 2) Test that T forms a valid tour 3) Test that T has length at most K Analysis: Generation and Verification takes O(n) time, so this algorithm runs in polynomial time. At this stage we can say that: We know that P NP. The major open question is P = NP? Most researchers believe that P NP Generally accepted relationship between class P and class NP. P corresponds to the Tractable class, but NP is not Prepared necessarily by same : Dr. Milan as non-tractable Vachhani
20 Equivalence of the Two Definitions of NP: We show the Equivalence of the two definitions of NP by demonstrating how to implement an algorithm of one type in terms of the one of the other type. Suppose A is a non-deterministic algorithm. Let y be a certificate consisting of all the outcomes of the choose() steps that A uses. We can create a verification algorithm B' that uses y instead of A s choose steps. If A accepts x, then there is a certificate y that allows us to verify this (namely, the choose steps A made). If A runs in polynomialtime, so does this verification algorithm B'. Please see Figure.
21 Suppose B is a verification algorithm. Non-deterministically choose a certificate y and run B on y. If B runs in polynomialtime, so does this non-deterministic algorithm A. Please see Figure.
22 Polynomial Transformations We have to find a method to compare relative difficulty of solving various classes of problems. This is done by transforming a problem into another, by an auxiliary Polynomial-time algorithm. This is also called reduction technique. The main technique used for demonstrating that two problems are related is that of "reducing" one to the other, by giving a transformation that maps any instance of the first problem into an equivalent instance of the second. Such a transformation provides the means for converting any algorithm that solves the second problem into a corresponding algorithm for solving the first problem. In other words, if we have an algorithm solving the second problem, we can also solve the first problem. More specifically, if we have a polynomial time reduction from one problem to another, this ensures that any polynomial time algorithm for the second problem can be converted into a corresponding polynomial time algorithm for the first problem.
23 Cook in his 1971 paper showed that one particular problem in NP, called the "satisfiability problem, (see CIRCUIT-SAT below), has the property that every other problem in NP can be polynomially reduced to it. If the CIRCUIT-SAT problem can be solved with a polynomial time algorithm, then so can every problem in NP, and if any problem in NP is intractable, then the CIRCUIT-SAT problem also must be intractable. Thus CIRCUIT-SAT problem is the hardest problem in NP. Many other problems in NP are found to be as hard as CIRCUIT-SAT, and a class of problems, NP- Complete, is defined which contain them. Formally,
24 NP Problems A problem (language) L is NP-Hard if every problem in NP can be reduced to L in polynomial time. That is, for each language L' in NP, we can take an input x from L', transform it in polynomial time to an input x' for L such that x is in L' iff x' is in L. In other words, the problem is at least as difficult as all other problems in NP. L is NP-Complete if it's in NP and is NP-Hard. Please see Figure.
25 CIRCUIT-SAT is in NP An Interesting problem, known as CIRCUIT-SAT (or, simply SAT), is studied as an example of a NP problem. A Boolean circuit is a circuit of AND, OR, and NOT gates. For example, a simple logic circuit is shown in Figure. The CIRCUIT-SAT problem is to determine if there is an assignment of 0's and 1's to a given Boolean circuit's inputs so that the circuit outputs 1. The problem can also be enunciated in terms of Boolean expressions, e.g. f = a v b ^ c.
26 Non-deterministically choose a set of inputs to the circuit and then test the circuit s output. As this can be done in polynomial time, CIRCUIT-SAT is in NP. Cook-Levin theorem says that CIRCUIT-SAT is in NP- Complete. Some NP-Complete Problems Some of the well studied NP-Complete problems are: CNF-SAT and 3SAT Vertex Cover Clique Hamiltonian Cycle Set Cover SubsetSum 0/1 Knapsack Traveling Salesman
27 Is P equal to NP? Most of the present day researchers believe that P is a proper subset of NP, i.e. P NP. Implication of this belief is that the NPComplete problems are the hardest in NP. This is because if we could solve a NP-Complete problem in polynomial time, we could solve every problem in NP in polynomial time. That is, if an NP-Complete problem is solvable in polynomial time, then P = NP. Significance of a problem being NP-complete: Since so many people have attempted, without success, to find polynomial-time solutions to NP-Complete problems, showing your problem is NP-Complete is equivalent to showing that a lot of smart people have worked on your problem and found no polynomial-time algorithm. If a polynomial-time algorithm is known for one NP-Complete problem, then there is a polynomial-time algorithm for every NP-Complete problem. An exponential lower bound for such a problem has never been shown. If difficult instances of an NP-Complete problem arise in practice, then approximation schemes with bounds on the quality of the solution are needed.
28 VIDEO REFERENCES P, NP, NPC, NPH
29 THANK YOU Dr. Milan Vachhani Assistant Professor, Sunshine Group of Institutions, Rajkot
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 informationNP-Completeness. NP-Completeness 1
NP-Completeness x x x 2 x 2 x 3 x 3 x 4 x 4 2 22 32 3 2 23 3 33 NP-Completeness Outline and Reading P and NP ( 3.) Definition of P Definition of NP Alternate definition of NP NP-completeness ( 3.2) Definition
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 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 informationNP-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 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 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 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 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 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 informationNP-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 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 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 information1.1 P, NP, and NP-complete
CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Introduction to NP-complete Problems Date: 11/01/2008 Lecturer: Lap Chi Lau Scribe: Jerry Jilin Le This lecture gives a general introduction
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 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 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 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 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 informationNP-completeness. Chapter 34. Sergey Bereg
NP-completeness Chapter 34 Sergey Bereg Oct 2017 Examples Some problems admit polynomial time algorithms, i.e. O(n k ) running time where n is the input size. We will study a class of NP-complete problems
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 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 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 informationPolynomial-time reductions. We have seen several reductions:
Polynomial-time reductions We have seen several reductions: Polynomial-time reductions Informal explanation of reductions: We have two problems, X and Y. Suppose we have a black-box solving problem X in
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 informationNP-Completeness. NP-Completeness 1
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979. NP-Completeness 1 General Problems, Input Size and
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 informationInstructor 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 informationThe P-vs-NP problem. Andrés E. Caicedo. September 10, 2011
The P-vs-NP problem Andrés E. Caicedo September 10, 2011 This note is based on lecture notes for the Caltech course Math 6c, prepared with A. Kechris and M. Shulman. 1 Decision problems Consider a finite
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 informationCS 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 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 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 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 informationCS 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 informationNotes for Lecture 21
U.C. Berkeley CS170: Intro to CS Theory Handout N21 Professor Luca Trevisan November 20, 2001 Notes for Lecture 21 1 Tractable and Intractable Problems So far, almost all of the problems that we have studied
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 informationCorrectness 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 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 informationDAA 8 TH UNIT DETAILS
DAA 8 TH UNIT DETAILS UNIT VIII: NP-Hard and NP-Complete problems: Basic concepts, non deterministic algorithms, NP - Hard and NP-Complete classes, Cook s theorem. Important Questions for exam point of
More informationCSC 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 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 informationPolynomial-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 informationInstructor N.Sadagopan Scribe: P.Renjith
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 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 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 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 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 informationOutline. 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 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 informationSpring Lecture 21 NP-Complete Problems
CISC 320 Introduction to Algorithms Spring 2014 Lecture 21 NP-Complete Problems 1 We discuss some hard problems: how hard? (computational complexity) what makes them hard? any solutions? Definitions Decision
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 informationComparison of several polynomial and exponential time complexity functions. Size n
Comparison of several polynomial and exponential time complexity functions Time complexity function n n 2 n 3 n 5 2 n 3 n Size n 10 20 30 40 50 60.00001.00002.00003.00004.00005.00006 second second second
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-Complete Problems. Complexity Class P. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar..
.. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar.. Complexity Class P NP-Complete Problems Abstract Problems. An abstract problem Q is a binary relation on sets I of input instances
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 informationAlgorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University
Algorithms NP -Complete Problems Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr The Class P Definition 13.2 Polynomially bounded An algorithm is said to be polynomially bounded if its worst-case
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 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 informationLecture #14: NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition.
Lecture #14: 0.0.1 NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition. 0.0.2 Preliminaries: Definition 1 n abstract problem Q is a binary relations on a set I of
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 informationNP-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 informationCS21 Decidability and Tractability
CS21 Decidability and Tractability Lecture 18 February 16, 2018 February 16, 2018 CS21 Lecture 18 1 Outline the complexity class NP 3-SAT is NP-complete NP-complete problems: independent set, vertex cover,
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 informationLecture 25: Cook s Theorem (1997) Steven Skiena. skiena
Lecture 25: Cook s Theorem (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Prove that Hamiltonian Path is NP
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 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 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 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 informationClass Note #20. In today s class, the following four concepts were introduced: decision
Class Note #20 Date: 03/29/2006 [Overall Information] In today s class, the following four concepts were introduced: decision version of a problem, formal language, P and NP. We also discussed the relationship
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 informationAnnouncements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?
N P NP Completeness Announcements Friday Four Square! Today at 4:15PM, outside Gates. Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Explore P, NP, and their connection. Did
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 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 informationCS 241 Analysis of Algorithms
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. 22.1-22.3, Ch. 25.1-2, Ch.
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 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 informationTuring Machines and Time Complexity
Turing Machines and Time Complexity Turing Machines Turing Machines (Infinitely long) Tape of 1 s and 0 s Turing Machines (Infinitely long) Tape of 1 s and 0 s Able to read and write the tape, and move
More informationCS/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 informationArtificial Intelligence. 3 Problem Complexity. Prof. Dr. Jana Koehler Fall 2016 HSLU - JK
Artificial Intelligence 3 Problem Complexity Prof. Dr. Jana Koehler Fall 2016 Agenda Computability and Turing Machines Tractable and Intractable Problems P vs. NP Decision Problems Optimization problems
More informationThe P = NP Problem Bristol Teachers Circle, June P.D.Welch, University of Bristol
The P = NP Problem Bristol Teachers Circle, June 26 2013 P.D.Welch, University of Bristol The Königsberg Bridge Problem - Euler = A graph version = As Euler observed: there can be no path crossing each
More informationProblems and Solutions. Decidability and Complexity
Problems and Solutions Decidability and Complexity Algorithm Muhammad bin-musa Al Khwarismi (780-850) 825 AD System of numbers Algorithm or Algorizm On Calculations with Hindu (sci Arabic) Numbers (Latin
More informationIn complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size.
10 2.2. CLASSES OF COMPUTATIONAL COMPLEXITY An optimization problem is defined as a class of similar problems with different input parameters. Each individual case with fixed parameter values is called
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 informationChapter 2 : Time complexity
Dr. Abhijit Das, Chapter 2 : Time complexity In this chapter we study some basic results on the time complexities of computational problems. concentrate our attention mostly on polynomial time complexities,
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 informationReview of unsolvability
Review of unsolvability L L H To prove unsolvability: show a reduction. To prove solvability: show an algorithm. Unsolvable problems (main insight) Turing machine (algorithm) properties Pattern matching
More informationGraph Theory and Optimization Computational Complexity (in brief)
Graph Theory and Optimization Computational Complexity (in brief) Nicolas Nisse Inria, France Univ. Nice Sophia Antipolis, CNRS, I3S, UMR 7271, Sophia Antipolis, France September 2015 N. Nisse Graph Theory
More informationLecture 15 - NP Completeness 1
CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) February 29, 2018 Lecture 15 - NP Completeness 1 In the last lecture we discussed how to provide
More informationan efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.
1 More on NP In this set of lecture notes, we examine the class NP in more detail. We give a characterization of NP which justifies the guess and verify paradigm, and study the complexity of solving search
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 informationNP and NP-Completeness
0/2/206 Algorithms NP-Completeness 7- Algorithms NP-Completeness 7-2 Efficient Certification NP and NP-Completeness By a solution of a decision problem X we understand a certificate witnessing that an
More informationCSCI3390-Lecture 16: NP-completeness
CSCI3390-Lecture 16: NP-completeness 1 Summary We recall the notion of polynomial-time reducibility. This is just like the reducibility we studied earlier, except that we require that the function mapping
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 informationNP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35.
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979. NP-Completeness 1 General Problems, Input Size and
More informationECS 120 Lesson 24 The Class N P, N P-complete Problems
ECS 120 Lesson 24 The Class N P, N P-complete Problems Oliver Kreylos Friday, May 25th, 2001 Last time, we defined the class P as the class of all problems that can be decided by deterministic Turing Machines
More informationLecture 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 informationINTRO TO COMPUTATIONAL COMPLEXITY
MA/CSSE 473 Day 38 Problems Decision Problems P and NP Polynomial time algorithms INTRO TO COMPUTATIONAL COMPLEXITY 1 The Law of the Algorithm Jungle Polynomial good, exponential bad! The latter is obvious,
More information