the complexity classes p and np - ecology...
TRANSCRIPT
![Page 1: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/1.jpg)
The Complexity Classes P and NP
Andreas Klappenecker[partially based on slides by Professor Welch]
![Page 2: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/2.jpg)
P
![Page 3: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/3.jpg)
Polynomial Time AlgorithmsMost of the algorithms we have seen so far run in time that is upper bounded by a polynomial in the input size
• sorting: O(n2), O(n log n), …
• matrix multiplication: O(n3), O(n log27)
• graph algorithms: O(V+E), O(E log V), …
In fact, the running time of these algorithms are bounded by small polynomials.
![Page 4: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/4.jpg)
Categorization of Problems
We will consider a computational problem tractable if and only if it can be solved in polynomial time.
!
!
!
![Page 5: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/5.jpg)
Decision Problems and the class P
A computational problem with yes/no answer is called a decision problem.
We shall denote by P the class of all decision problems that are solvable in polynomial time.
![Page 6: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/6.jpg)
Why Polynomial Time?
It is convenient to define decision problems to be tractable if they belong to the class P, since
- the class P is closed under composition.
- the class P is nearly independent of the computational model.
[Of course, no one will consider a problem requiring an Ω(n100) algorithm as efficiently solvable. However, it seems that most problems in P that are interesting in practice can be solved fairly efficiently. ]
![Page 7: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/7.jpg)
NP
![Page 8: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/8.jpg)
Efficient Certification
An efficient certifier for a decision problem X is a
polynomial time algorithm that takes two inputs, an putative instance i of X and a certificate c and returns either yes or no.
there is a polynomial such that for every string i, the string i is an instance of X if and only if there exists a string c such that c <= p(|i|) and B(d,c) = yes.
The certifier does not produce a solution to the decision problem X, but it is verifying that i belongs to X given a correct, short certificate c.
![Page 9: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/9.jpg)
NP
The set of all decision problems that have an efficient certifier is called NP.
!
!
![Page 10: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/10.jpg)
Sudoku
The problem is given as an n2 x n2 array which is divided into blocks of n x n squares.
Some array entries are filled with an integer in the range [1.. n2].
The goal is to complete the array such that each row, column, and block contains each integer from [1..n2].
![Page 11: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/11.jpg)
Sudoku
Finding the solution might be difficult, but verifying the solution is easy.
The Sudoku decision problem is whether a given Sudoku problem has a solution.
![Page 12: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/12.jpg)
Hamiltonian Cycle
• A Hamiltonian cycle in an undirected graph is a cycle that visits every node exactly once.
• Solving a problem: Is there a Hamiltonian cycle in graph G?
• Verifying a candidate solution: Is v0, v1, …, vl a Hamiltonian cycle of graph G?
![Page 13: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/13.jpg)
Solving vs. Verifying
• Intuitively it seems much harder (more time consuming) in some cases to solve a problem from scratch than to verify that a candidate solution actually solves the problem.
• If there are many candidate solutions to check, then even if each individual one is quick to check, overall it can take a long time
![Page 14: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/14.jpg)
The Class NP
NP is short for nondeterministic polynomial time, since the decision problem in NP are precisely the problems that can be solved on a nondeterministic Turing machine in polynomial time.
NP does not stand for “not P”, as there are many problems that cannot even be verified in polynomial time.
![Page 15: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/15.jpg)
P versus NP
![Page 16: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/16.jpg)
13
P vs. NP
• Although poly-time verifiability seems like a weaker condition than poly time solvability, no one has been able to prove that it is describes a larger class of problems.
• So it is unknown whether P = NP.
![Page 17: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/17.jpg)
P and NP
all problems
P
NPor
all problems
P=NP
![Page 18: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/18.jpg)
NP-Complete Problems
• NP-complete problems is class of "hardest" problems in NP.
!
• If an NP-complete problem can be solved in polynomial time, then all problems in NP can be solve in polynomial time, and thus P = NP.
![Page 19: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/19.jpg)
Possible Worlds
all problems
P
NPor
all problems
P=NP=NPCNPC
NPC = NP-complete
![Page 20: The Complexity Classes P and NP - ecology labfaculty.cs.tamu.edu/.../csce411-s17/csce411-complexity1.pdf · 2017-04-03 · It is convenient to define decision problems to be tractable](https://reader033.vdocuments.net/reader033/viewer/2022042312/5edaaed3ea30a273770f480b/html5/thumbnails/20.jpg)
P = NP Question
The question whether P=NP is open since the 70s. It is one of the central open problems in computer science. The question is of theoretical interest as well as of great practical importance.
Pragmatic approach: If your problem is NP-complete, then don't waste time looking for an efficient algorithm, focus on approximations or heuristics.