lecture 24 - boston university · lecture 24: • final review reading: sipser ch 7.1‐8.3, 9.1...
TRANSCRIPT
![Page 1: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/1.jpg)
BU CS 332 – Theory of Computation
Lecture 24:• Final review Reading:
Sipser Ch 7.1‐8.3, 9.1
Mark BunApril 29, 2020
![Page 2: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/2.jpg)
Final Topics
5/5/2020 CS332 ‐ Theory of Computation 2
![Page 3: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/3.jpg)
Everything from Midterms 1 and 2
• Midterm 1 topics: DFAs, NFAs, regular expressions, pumping lemma, context‐free grammars, pushdown automata, pumping lemma for CFLs(more detail in lecture 9 notes)
• Midterm 2 topics: Turing machines, TM variants, Church‐Turing thesis, decidable languages, countable and uncountable sets, undecidability, reductions, unrecognizability, mapping reductions(more detail in lecture 17 notes)
5/5/2020 CS332 ‐ Theory of Computation 3
![Page 4: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/4.jpg)
Time Complexity (7.1)• Asymptotic notation: Big‐Oh, little‐oh, Big‐Omega, little‐omega, Theta• Know the definition of running time for a TM and of time complexity classes (TIME / NTIME)• Understand how to simulate multi‐tape TMs and NTMs using single‐tape TMs and know how to analyze the running time overhead
5/5/2020 CS332 ‐ Theory of Computation 4
![Page 5: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/5.jpg)
P and NP (7.2, 7.3)• Know the definitions of P and NP as time complexity classes• Know how to analyze the running time of algorithms to show that languages are in P / NP• Understand the verifier interpretation of NP and why it is equivalent to the NTM definition• Know how to construct verifiers and analyze their runtime• Understand the surprising implications of P = NP, esp. how to show that search problems can be solved in poly‐time
5/5/2020 CS332 ‐ Theory of Computation 5
![Page 6: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/6.jpg)
NP‐Completeness (7.4, 7.5)• Know the definition of poly‐time reducibility• Understand the definitions of NP‐hardness and NP‐completeness• Understand the statement of the Cook‐Levin theorem (don’t need to know its proof)• Understand several canonical NP‐complete problems and the relevant reductions: SAT, 3SAT, CLIQUE, INDEPENDENT‐SET, VERTEX‐COVER, HAMPATH, SUBSET‐SUM
5/5/2020 CS332 ‐ Theory of Computation 6
![Page 7: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/7.jpg)
Space Complexity (8.1)• Know the definition of running space for a TM and of space complexity classes (SPACE / NSPACE)• Understand how to analyze the space complexity of algorithms (including SAT, NFA analysis)
5/5/2020 CS332 ‐ Theory of Computation 7
![Page 8: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/8.jpg)
PSPACE and PSPACE‐Completeness (8.2, 8.3)
• Know the definitions of PSPACE and NPSPACE• Know why they’re equivalent (statement of Savitch’sTheorem)• Understand how to show that languages are in PSPACE• Know the definition of PSPACE‐completeness• You will not be asked anything about the PSPACE‐complete language TQBF, or to show that any specific language is PSPACE‐complete
5/5/2020 CS332 ‐ Theory of Computation 8
![Page 9: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/9.jpg)
Hierarchy Theorems (9.1)• Know that we can prove, unconditionally, that P ≠ EXP and that PSPACE ≠ EXPSPACE• You will not be asked about the formal statements of the time/space hierarchy theorems, but should understand how they generalize the above statements
5/5/2020 CS332 ‐ Theory of Computation 9
![Page 10: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/10.jpg)
Things we didn’t get to talk about• Additional classes between NP and PSPACE (polynomial hierarchy)• Logarithmic space• Relativization and the limits of diagonalization• Boolean circuits• Randomized algorithms / complexity classes• Interactive proof systems• Complexity of counting
https://cs‐people.bu.edu/mbun/courses/535_F20/
5/5/2020 CS332 ‐ Theory of Computation 10
![Page 11: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/11.jpg)
Tips for Preparing Exam Solutions
5/5/2020 CS332 ‐ Theory of Computation 11
![Page 12: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/12.jpg)
Designing (nondeterministic) time/space‐bounded deciders
5/5/2020 CS332 ‐ Theory of Computation 12
• Key components: High‐level description of algorithm, analysis of running time and/or space usage
• A good idea: Explain correctness of your algorithm
…
![Page 13: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/13.jpg)
Designing NP verifiers
5/5/2020 CS332 ‐ Theory of Computation 13
• Key components: Description of certificate, high‐level description of algorithm, analysis of running time
• A good idea: Explain correctness of your algorithm
![Page 14: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/14.jpg)
NP‐completeness proofs
5/5/2020 CS332 ‐ Theory of Computation 14
To show a language is NP‐complete:
1) Show is in NP (follow guidelines from previous two slides)
2) Show is NP‐hard (usually) by giving a poly‐time reduction for some NP‐complete language
• High‐level description of algorithm computing reduction• Explanation of correctness: Why is iff for your reduction ?
• Analysis of running time
![Page 15: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/15.jpg)
Practice Problems
5/5/2020 CS332 ‐ Theory of Computation 15
![Page 16: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/16.jpg)
5/5/2020 CS332 ‐ Theory of Computation 16
![Page 17: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/17.jpg)
5/5/2020 CS332 ‐ Theory of Computation 17
![Page 18: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/18.jpg)
5/5/2020 CS332 ‐ Theory of Computation 18
![Page 19: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/19.jpg)
5/5/2020 CS332 ‐ Theory of Computation 19
![Page 20: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/20.jpg)
5/5/2020 CS332 ‐ Theory of Computation 20
![Page 21: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/21.jpg)
P
5/5/2020 CS332 ‐ Theory of Computation 21
![Page 22: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/22.jpg)
Give examples of the following languages: 1) A language in P. 2) A decidable language that is not in P. 3) A language for which it is unknown whether it is in P.
5/5/2020 CS332 ‐ Theory of Computation 22
![Page 23: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/23.jpg)
Give an example of a problem that is solvable in polynomial‐time, but which is not in P
5/5/2020 CS332 ‐ Theory of Computation 23
![Page 24: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/24.jpg)
Let
. Show that
5/5/2020 CS332 ‐ Theory of Computation 24
![Page 25: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/25.jpg)
Which of the following operations is P closed under? Union, concatenation, star, intersection, complement.
5/5/2020 CS332 ‐ Theory of Computation 25
![Page 26: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/26.jpg)
5/5/2020 CS332 ‐ Theory of Computation 26
![Page 27: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/27.jpg)
NP and NP‐completeness
5/5/2020 CS332 ‐ Theory of Computation 27
![Page 28: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/28.jpg)
Prove that
is in NP
5/5/2020 CS332 ‐ Theory of Computation 28
![Page 29: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/29.jpg)
Prove that is NP‐hard
5/5/2020 CS332 ‐ Theory of Computation 29
![Page 30: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/30.jpg)
Which of the following operations is NP closed under? Union, concatenation, star, intersection, complement.
5/5/2020 CS332 ‐ Theory of Computation 30
![Page 31: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/31.jpg)
Show that if P = NP, there is a polynomial‐time decider for
5/5/2020 CS332 ‐ Theory of Computation 31
![Page 32: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/32.jpg)
5/5/2020 CS332 ‐ Theory of Computation 32
![Page 33: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/33.jpg)
Space Complexity
5/5/2020 CS332 ‐ Theory of Computation 33
![Page 34: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/34.jpg)
Which of the following statements are true?
• =
• =
• =
5/5/2020 CS332 ‐ Theory of Computation 34
![Page 35: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/35.jpg)
Consider the inheritance problem from HW9, except Alice and Bob now take turns drawing bags from boxes. Alice’s goal is to assemble a complete collection of marbles, and Bob’s is to thwart her. Prove that determining whether Alice has a winning strategy is in PSPACE.
5/5/2020 CS332 ‐ Theory of Computation 35
![Page 36: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/36.jpg)
5/5/2020 CS332 ‐ Theory of Computation 36
![Page 37: Lecture 24 - Boston University · Lecture 24: • Final review Reading: Sipser Ch 7.1‐8.3, 9.1 Mark Bun April 29, 2020. Final Topics 5/5/2020 CS332 ‐Theory of Computation 2. Everything](https://reader033.vdocuments.mx/reader033/viewer/2022043015/5f3829003e76cc53f5774cdd/html5/thumbnails/37.jpg)
5/5/2020 CS332 ‐ Theory of Computation 37