theory of np-completeness
DESCRIPTION
Theory of NP-Completeness. 15-451 Algorithms. Topics: Turing Machines Cook’s Theorem Implications. Randal E. Bryant April 11, 2001. NP-complete.ppt. CS 451 S’01. Turing Machine. Formal Model of Computer Very primitive, but computationally complete. Program. Controller. Action. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/1.jpg)
Theory of NP-Completeness
Topics:• Turing Machines• Cook’s Theorem• Implications
CS 451 S’01NP-complete.ppt
15-451Algorithms
Randal E. BryantApril 11, 2001
![Page 2: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/2.jpg)
CS 451 S’01 –2–NP-complete.ppt
Turing Machine
Formal Model of Computer• Very primitive, but computationally complete
ProgramController
State
B 0 1 1 0 B B B B • • •• • •
Head
Action
Tape
![Page 3: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/3.jpg)
CS 451 S’01 –3–NP-complete.ppt
Turing Machine Components
Tape• Conceptually infinite number of “squares” in both
directions• Each square holds one “symbol”
– From a finite alphabet• Initially holds input + copies of blank symbol ‘B’
Tape Head• On each step
– Read current symbol– Write new symbol– Move Left or Right one position
![Page 4: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/4.jpg)
CS 451 S’01 –4–NP-complete.ppt
Components (Cont.)
Controller• Has state between 0 and m-1
– Initial state = 0– Accepting state = m-1
• Performs steps– Read symbol– Write new symbol– Move head left or right
Program• Set of allowed controller actions• Current State, Read Symbol New State, Write Symbol,
L|R
![Page 5: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/5.jpg)
CS 451 S’01 –5–NP-complete.ppt
Turing Machine Program Example
Language Recognition• Determine whether input is string of form 0n1n
Input Examples
• Should reach state m-1
• Should never reach state m-1
B 0 0 0 0 1 1 1 B • • •• • •
B 0 0 0 1 1 1 B B • • •• • •
![Page 6: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/6.jpg)
CS 451 S’01 –6–NP-complete.ppt
Algorithm
• Keep erasing 0 on left and 1 on right• Terminate and accept when have blank tape
B 0 0 0 1 1 1 B B • • •• • •
B B 0 0 1 1 B B B • • •• • •
B B B 0 1 B B B B • • •• • •
B B B B B B B B B • • •• • •
![Page 7: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/7.jpg)
CS 451 S’01 –7–NP-complete.ppt
Program
States• 0 Initial• 1 Check Left• 2 Scan Right• 3 Check Right• 4 Scan Left• 5 Accept
1,B,R — —
Read Symbol
B 0 1
Cu
rren
t S
tate
5,B,R 2,B,R —
3,B,L 2,0,R 2,1,R
— — 4,B,L
1,B,R 4,0,L 4,1,L
0
1
2
3
4
— — —5
‘—’ means no possible action from this point
Deterministic TM: At most one possible action at any point
![Page 8: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/8.jpg)
CS 451 S’01 –8–NP-complete.ppt
Non Deterministic Turing Machine
Language Recognition• Determine whether input is string of form xx• For some string x {0,1}*
Input Examples
• Should reach state m-1
• Should never reach state m-1
B 0 1 1 0 1 1 1 B • • •• • •
B 0 1 1 0 1 1 B B • • •• • •
![Page 9: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/9.jpg)
CS 451 S’01 –9–NP-complete.ppt
Nondeterministic Algorithm
• Record leftmost symbol and set to B
• Scan right, stopping at arbitrary position with matching symbol, and mark it with 2
• Scan left to end, and run program to recognize x2+x
B 0 0 1 0 0 1 B B • • •• • •
B B 0 1 0 0 1 B B • • •• • •
B B 0 1 2 0 1 B B • • •• • •
B B 0 1 2 0 1 B B • • •• • •
![Page 10: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/10.jpg)
CS 451 S’01 –10–NP-complete.ppt
Nondeterministic Algorithm
• Might make bad guess
• Program will never reach accepting state
Rule• String accepted as long as reach accepting state for some
sequence of steps
B B 0 1 0 2 1 B B • • •• • •
B B 2 1 0 0 1 B B • • •• • •
![Page 11: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/11.jpg)
CS 451 S’01 –11–NP-complete.ppt
Nondeterministic Program
States• 0 Initial• 1 Record• 2 Look for 0• 3 Look for 1• 4 Scan Left• 5+ Rest of program
1,B,R — —
Read Symbol
B 0 1
Cu
rren
t S
tate
accept,B,R 2,B,R 3,B,R
— 2,0,R 4,2,L 2,1,R
— 3,0,R 3,1,R 4,2,L
5,B,R 4,0,L 4,1,L
0
1
2
3
4
Nondeterministic TM: 2 possible actions from single point
![Page 12: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/12.jpg)
CS 451 S’01 –12–NP-complete.ppt
Turing Machine Complexity
Machine M Recognizes Input String x• Initialize tape to x• Consider all possible execution sequences• Accept in time t if can reach accepting state in t steps
– t(x): Length of shortest accepting sequence for input x
Language of Machine L(M)• Set of all strings that machine accepts• x L when no execution sequence reaches accepting
state– Might hit dead end– Might run forever
Time Complexity• TM(n) = Max { t(x) | x L |x| = n }
– Where |x| is length of string x
![Page 13: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/13.jpg)
CS 451 S’01 –13–NP-complete.ppt
P and NP
Language L is in P• There is some deterministic TM M
– L(M) = L
– TM(n) ≤ p(n) for some polynomial function p
Language L is in NP• There is some nondeterministic TM M
– L(M) = L
– TM(n) ≤ p(n) for some polynomial function p• Any problem that can be solved by intelligent guessing
![Page 14: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/14.jpg)
CS 451 S’01 –14–NP-complete.ppt
Example: Boolean Satisfiability
Problem• Variables: x1, ..., xk
• Literal: either xi or xi
• Clause: Set of literals• Formula: Set of clauses
• Example: {x3,x3} {x1,x2 } { x2,x3 } { x1,x3 }
– Denotes Boolean formula x3x3 x1x2 x2x3 x1x3
![Page 15: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/15.jpg)
CS 451 S’01 –15–NP-complete.ppt
Encoding Boolean Formula
Represent each clause as string of 2k 0’s and 1’s• 1 bit for each possible literal• First bit: variable, Second bit: Negation of variable
• {x3,x3}: 000011 {x1,x2 }: 101000
• {x2,x3 }: 000110 {x1,x3 }: 100001
Represent formula as clause strings separated by ‘$’• 000011$101000$000110$100001
![Page 16: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/16.jpg)
CS 451 S’01 –16–NP-complete.ppt
SAT is NP
Claim• There is a NDTM M such that L(M) = encodings of all
satisfiable Boolean formulas
Algorithm• Phase 1: Determine k and generate some string {01,10}
– Append to end of formula– This will be a guess at satisfying assignment– E.g., 000011$101000$000110$100001$100110
• Phase 2: Check each clause for matching 1– E.g., 000011$101000$000110$100001$100110
![Page 17: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/17.jpg)
CS 451 S’01 –17–NP-complete.ppt
SAT is NP-complete
Cook’s Theorem• Can generate Boolean formula that checks whether NDTM
accepts string in polynomial time
Translation Procedure• Given
– NDTM M– Polynomial function p– Input string x
• Generate formula F– F is satisfiable iff M accepts x in time p(|x|)
• Size of F is polynomial in |x|• Procedure generates F in (deterministic) time polynomial
in |x|
Translation
M
x
p
F
![Page 18: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/18.jpg)
CS 451 S’01 –18–NP-complete.ppt
ConstructionParameters
• |x| = n• m states• v tape symbols (including B)
Formula Variables• Q[i,k] 0 ≤ i ≤ p(n), 0 ≤ k ≤ m-1
– At time i, M is in state k• H[i,j] 0 ≤ i ≤ p(n), -p(n) ≤ j ≤ p(n)
– At time i, tape head is over square j• S[i,j,k] 0 ≤ i ≤ p(n), -p(n) ≤ j ≤ p(n), 1 ≤ k ≤ v
– At time i, tape square j holds symbol k
Key Observation• For bounded computation, can only visit bounded number
of squares
![Page 19: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/19.jpg)
CS 451 S’01 –19–NP-complete.ppt
Clause Groups
• Formula clauses divided into “clause groups”
Uniqueness• At each time i, M is in exactly one state• At each time i, tape head over exactly one square• At each time i, each square j contains exactly one symbol
Initialization• At time 0, tape encodes input x, head in position 0,
controller in state 0
Accepting• At some time i, state = m-1
Legal Computation• Tape/Head/Controller configuration at each time i+1
follows from that at time i according to some legal action
![Page 20: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/20.jpg)
CS 451 S’01 –20–NP-complete.ppt
Implications of Cook’s Theorem
Suppose There Were an Efficient Algorithm for Boolean Satisfiability• Then could take any problem in NP, convert it to Boolean
formula and solve it quickly!• Many “hard” problems would suddenly be easy
Big Question P =? NP• Formulated in 1971• Still not solved• Most believe not
![Page 21: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/21.jpg)
CS 451 S’01 –21–NP-complete.ppt
Complements of Problems
Language Complement• Define ~L = { x | x L}• E.g., ~SAT
– Malformed formulas (easy to detect)– Unsatisfiable formulas
P Closed Under Complementation• If L is in P, then so is ~L
– Run TM for L on input x for p(|x|) steps»Has unique computation sequence
– If haven’t reached accepting state by then, then x L
![Page 22: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/22.jpg)
CS 451 S’01 –22–NP-complete.ppt
NP vs. co-NP (cont.)
Is NP = co-NP?• Having NDTM for ~L doesn’t help for recognizing L
– Would have to check all computation sequences of length ≤ p(|x|).
– Could have exponentially many sequences
Proper Terminology• Generally want algorithm that can terminate with “yes”
or “no” answer to decision problem• If underlying problem (or its complement) is NP, then full
decision problem is “NP-Hard”
![Page 23: Theory of NP-Completeness](https://reader035.vdocuments.mx/reader035/viewer/2022062221/568148dc550346895db5f67b/html5/thumbnails/23.jpg)
CS 451 S’01 –23–NP-complete.ppt
Showing Problems NP-Complete
To show Problem X is NP-complete
1. Show X is in NP• Can be solved by “guess and check”• Generally easy part
2. Show known NP-complete problem Y can be reduced to X• Devise translation procedure• Given arbitrary instance y of Y, can generate problem x in
X such that y LY iff x LX
– Lx: set of all strings x for which decision problem answer is “yes”
• Size of x must be polynomial in y, and must be generated by (deterministic) polynomial algorithm.