Lecture 2
1 Review
·
| |
1
·
| |
∗
- {
- }∗ → {
- }
∗
- {
- }
- {
- |
- }
∈
∈∈
⇒⇒
- • time
- ∈ time
- ·
- ·
- | |
• space
1Note that we do not count the space used on the input or output tapes; this allows us to meaningfully speak of sub-linear space machines (with linear- or superlinear-length output).
2
0
- ∈ time
- space
- space
0
- time
- ⊆ space
2 P, NP, and NP-Completeness
2.1 The Class P
P
def
P
time
≥1
P
| |
P
•
•
100
100 8
P
P
2This decision is also motivated by “speedup theorems” which state that if a language can be decided in time
(resp., space) ( ) then it can be decided in time (resp., space) ( ) for any constant . (This assumes that ( ) is a “reasonable” function, but the details need not concern us here.)
P
2.2 The Classes NP and coNP
- NP
- NP
∈ NP
3
- | |
- ∈
- ∈
- P
- ∈ P
| |
∈
P
NP
∈
P
NP
NP
P ⊆ NP ⊆ ≥1 time
- P ⊆ NP
- ∈ NP
| |
- | |
- ∈
| |
| |
3It is essential that the running time of is to require the length of to be at most (| |) in condition (2). be measured in terms of the length of alone. An alternate approach
≤ (| |)
- ∈ {
- }
(| |)
| | ·
∈ time
NP
- 0
- 1
- 0
- 1
- ∈
- ⇔
| |
ntime
∈ ntime
| |
| |
nspace
| |
- NP
- P
NP
≥1 ntime
?
- P
- NP
- P
- NP
- P
- NP
- P
- NP
- ntime
- time
- 2
- 3
- time
- ⊆ ntime
coNP
- def
- def
C
- coC
- coC
NP
- |
- ∈ C
- {
- }∗ \
coNP
∈ coNP
4
- | |
- ∈
4See footnote 3.
∈
- coNP
- NP
- coNP
- ∈
- NP
- coNP
SAT { |
}
SAT
SAT ∈ coNP
SAT ∈ NP
TAUT
TAUT
- {
- }
TAUT
coNP coNP
- P ⊆ NP ∩ coNP
- NP
- coNP
SAT ∈ NP
NP coNP
2.3 NP-Completeness
NP
0
5
- 0
- 0
0
- Karp reducible
- many-to-one reducible
0
- ∈
- ∈
0
≤
5Technically speaking, I mean “at least as hard as”.
0
- 0
- 0
def
0
0
≤
- ≤
- ≤
- ≤
≤≤
- ∈ P
- ∈ P
- ∈ NP
- ∈ NP
NP NP
- NP
- NP
NP
- 0
- 0
- 0
NP-hard
∈ NP
NP
≤
- 0
- 0
NP-complete
- ∈ NP
- NP
- 0
- 0
- NP
- ≤
0
- coNP
- coNP
coNP
∈ coNP
- 0
- 0
- 0
- 0
- ≤
- coNP
- ∈ coNP
NP
NP
NP NP
NP
NP
- ∃
- ∈ {
- }
NP
References