$ \def\verify{ {\mathrm{verify}} } $
Job Candidate Talk TODAY
Sims Osborne, UNC Chapel Hill
Using Simultaneous Multithreading to Support Real-Time Scheduling
Posted soon…
…not to be turned in!
Two Problems:
Polynomial-time reductions between them:
Consequence
Objective. Understand relationships between computational problems.
Technical issue. Desired outputs for different problems can be vastly different:
Convenience. Focus on decision problems:
Minimum Vertex Cover (MVC)
Input: Graph $G$
Output: A vertex cover $C$ of smallest possible size
Vertex Cover (VC)
Input: Graph $G$, number $k$
Output:
Maximum Independent Set (MaxIS)
Input: Graph $G$
Output: an indpendent set of the largest possible size
Independent Set (IS)
Input: Graph $G$, number $k$
Output:
Goal. Classify (decision) problems according to their relative complexities:
Definition. The class P consists of all decision problems that can be solved in polynomial time.
P = “polynomial time”
a problem $A$ is in P if there is an algorithm that given any instance $X$ of $A$
Consider IS$(G, k)$:
Question. How could you be convinced that IS$(G, k)$ = “yes?”
NP = “nondeterministic polynomial time”
Informal Definition. The class NP consists of decision problems whose solution can be verified in polynomial time.
Setup
Definition. Given a decision problem A, a verifier for A is a polynomial time algorithm $\verify(X, C)$ that takes as input
and returns a value “accept” or “reject,” subject to two conditions:
completeness if $X$ is a “yes” instance, then there exists a certificate $C$ such that $\verify(X, C)$ returns “accept”
soundness if $X$ is a “no” instance, then for every certificate $C$, $\verify(X, C)$ returns “reject”
Consider IS$(G, k)$:
What is a verifier for IS?
Definition. The class NP consists of all decision problems that admit a polynomial time verifier.
Conceptually NP can be thought of the class of puzzles
Open Question. Is there any problem in NP that is not in P?
Informal statement. Are there problems that are hard to solve, but whose solutions are easy to verify?
Which of the following problems are in NP:
Question. Is BipartiteMatching in NP?
If a problem $A$ is in P, then $A$ is in NP:
Why?
Question. Is NoFlow in NP?
Even if did not know about the Ford-Fulkerson MaxFlow algorithm, we could still identify NoFlow is in NP.
How?
Question. Is GeneralizedChess in NP?
A feature of chess games:
Fact. GeneralizedChess requires exponential time to solve (in $n$).
Consequence. Showing GeneralizedChess is in NP would imply that P $\neq$ NP.
Question. Is BooleanSatisfiability in NP?