$ \def\verify{ {\mathrm{verify}} } $
Job Candidate Talk TOMORROW
Lauren Biernacki, University of Michigan
Two Classes of Problems:
P: decision problems solvable in polynomial time
NP: decision problems with a polynomial time verifier
P $\subseteq$ NP: every problem in P is in NP
IndpendentSet (IS) is in NP
Input: Graph $G$, number $k$
Output: “yes” $\iff G$ has indpendnet set of size $k$
Certificate?:
Verification?:
Input:
Output:
Question. Is NoFlow in NP?
What if we did not know that MaxFlow can be solved in polynomial time?
Input: $n \times n$ chessboard, configuartion
Output: “yes” $\iff$ player 1 can force a win
Question. Is GeneralizedChess in NP?
Example. $\varphi(x, y, z) = (x \wedge y) \vee (\bar y \wedge z)$.
$\varphi(F, F, T) = $
$\varphi(F, T, F) = $
Input: a Boolean formula $\varphi(x_1, x_2, \ldots, x_n)$
Output: “yes” $\iff \varphi$ has a satisfying assignment
Question. Is BooleanSatisfiability in NP?
Main Question. What are the hardest problems in NP?
Sub-question. How are problems in NP related to each other?
Observation. If $A \leq_P B$ and $B \in $ NP, then $A \in $ NP
Why?
Definition. We say that a decision problem $A$ is NP complete if for every problem $B \in $ NP, we have $B \leq_P A$
Theorem [Cook 1971, Levin 1973]. There exists an NP complete problem.
Observation. Every problem in NP has a polynomial time verifier
solving $A$ can be reduced to answering:
Suppose $A \in$ NP
Given (1) verifier $\verify$ for $A$, (2) instance $X$ of $A$
Construct: a Boolean formula $\varphi(x_1, \ldots, x_n)$ such that $\varphi$ is satisfiable $\iff$ there is a certificate $C$ accepted by $\verify(X, C)$
certificates for $\verify(X, \cdot)$ correspond to variable assignments for $\varphi(\cdot)$
determining if there is a certificate $C$ accepted by $\verify(X, C)$ is equivalent to determining if some assignment $x_1, \ldots, x_n$ satisfies $\varphi(x_1,\ldots,x_n)$.
Formal proof requires formal definition of algorithm (e.g., Turing machines)
BooleanSatisfiability (SAT) is NP complete!
Question. Are other problems are other problems NP complete?
Terminology:
Observation: a CNF formula evaluates to true $\iff$ all clauses evaluate to true
Definition. A 3-CNF formula is a Boolean formula in conjunctive normal form such that every clause contains 3 literals.
Example.
$\varphi(w, x, y, z) = (x \vee y \vee z) \wedge (y \vee \bar z \vee w) \wedge (\bar x \vee \bar y \vee \bar w)$
3-SAT:
Theorem (Tseytin 1970). Any Boolean formula $\varphi$ can be efficiently (in polynomial time) transformed into a 3-CNF formula $\psi$ such that:
Consequences.
Theorem. IS in NP Complete.
Question. What do we need to show?
Strategy. Reduction from 3-SAT
Question. How to transform a 3-CNF $\varphi$ into a graph $G$ such that solving IS on $G$ tells us whether $\varphi$ is satisfiable?
$\varphi(w, x, y, z) = (x \vee y \vee z) \wedge (y \vee \bar z \vee w) \wedge (\bar x \vee \bar y \vee \bar w)$