Other Complexity Classes, SAT Algorithms




CS254

Chris Pollett

Mar 6, 2017

Outline

`coNP`

`bar mbox(SAT)` and `mbox(TAUTOLOGY)` are `coNP`-complete

EXP versus NEXP

We have already defined the class `EXP = cup_(c ge 1) DTIME(2^(n^c))`. Similarly, we can define `NEXP` to be `cup_(c ge 1) NTIME(2^(n^c))`. It turns out the `EXP` versus `NEXP` question is connected with the `P` versus `NP` problem.

Theorem. If `EXP ne NEXP` then `P ne NP`.

Proof. We prove that if `P=NP` then `EXP = NEXP`. Suppose `L in NEXP` and is decided by NDTM `M`. We claim the language
`L_(mbox(pad)) = {langle x, 1^(2^(|x|^c)) rangle | x in L}`
is in NP. Here is an NDTM for `L_(mbox(pad))`: Given `y`, first check if there is a string `z` such that `y=langle z, 1^(2^(|z|^c)) rangle`. If not, output `0`. If `y` of this form, then simulate `M` on `z` for `2^(|z|^c)` steps and output its answer. The running time for this is polynomial in the input `|y|`, and hence `L_(mbox(pad)) in NP`. So if `P=NP`, then `L_(mbox(pad)) in P`. But if `L_(mbox(pad)) in P` then `L in EXP`: To determine whether an input `x in L`, we just pad the input and decide whether it is in `L_(mbox(pad))` using the `P` algorithm.

Quiz

Which of the following statements is true?

  1. We defined a snapshot of Turing Machine M's execution on some input `y` at a particular step `i` as the triple `langle a, b, q rangle in Gamma times Gamma times Q` such that `a` and `b` are the symbols read by `M`'s heads and `q` is the state `M` is in at step `i`.
  2. Our reduction of SAT to 3SAT didn't involve introducing new variables.
  3. To prove dHAMPATH was NP-hard, we gave a reduction from any dHAMPATH problem to a problem in 3SAT.

SAT Algorithms

Special Cases of SAT

Special Cases of SAT cont'd (2-SAT)

Special Cases of SAT cont'd (Horn Clauses)

Special Cases of SAT cont'd (dual Horn Clauses)

Special Cases of SAT cont'd (Affine Formulas)