Explore tens of thousands of sets crafted by our community.
P vs NP Problem
15
Flashcards
0/15
P vs NP Problem
The P vs NP problem is a major unsolved problem in computer science, regarding the relationship between the complexity classes P and NP.
Complexity Classes
Complexity classes are categories in computational complexity theory, which classify problems based on the resources needed to solve them, typically time or memory.
P (Polynomial Time)
P, or polynomial time, refers to the set of problems that can be solved by an algorithm in time that is polynomial with respect to the size of the input.
NP (Nondeterministic Polynomial Time)
NP, or nondeterministic polynomial time, refers to the set of decision problems for which a solution can be verified in polynomial time by a deterministic Turing machine.
NP-Complete
NP-Complete problems are a subset of NP problems that are both in NP and as hard as any problem in NP, meaning that every NP problem can be reduced, in polynomial time, to an NP-Complete problem.
NP-Hard
NP-Hard problems are problems that are at least as hard as the hardest problems in NP, but they are not necessarily in NP themselves, as they may not be decision problems.
Turing Machine
A Turing machine is a theoretical computational model used in computer science to represent an algorithm and formalize the definition of computation.
Deterministic vs Nondeterministic Computation
Deterministic computation means that each step of an algorithm leads to only one possible state, while nondeterministic computation allows for multiple possible states, representing different choices at each step.
Polynomial Time Reduction
Polynomial time reduction is a method of proving that one problem is at least as hard as another by showing how an algorithm for one can be used to solve the other in polynomial time.
Cook-Levin Theorem
The Cook-Levin Theorem states that the Boolean satisfiability problem (SAT) is NP-Complete, demonstrating for the first time that NP-complete problems exist.
Boolean Satisfiability Problem (SAT)
The Boolean satisfiability problem is the problem of determining if there exists an interpretation that satisfies a given Boolean formula.
Oracle Machine
An oracle machine is a theoretical model of computation used to study decision problems. It can solve a specific problem (the oracle) in a single step without elaborating how the solution is derived.
Millennium Prize Problems
The Millennium Prize Problems are seven problems in mathematics that were stated by the Clay Mathematics Institute in 2001. A correct solution to any of the problems results in a
Traveling Salesman Problem (TSP)
The Traveling Salesman Problem is an NP-Complete problem that asks for the shortest possible route that a salesman can take to visit each city once and return to the origin city.
Verification vs Computation
Verification refers to the process of determining whether a given solution to a problem is correct, while computation or solving is the process of finding the solution itself.
© Hypatia.Tech. 2024 All rights reserved.