1 / 39

CS 302: Discrete Math II

CS 302: Discrete Math II. A Review. NOTATION. An alphabet Σ is a finite set (e.g., Σ = {0,1}). A string over Σ is a finite -length sequence of elements of Σ. For x a string, |x| is. the length of x.

berne
Télécharger la présentation

CS 302: Discrete Math II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 302: Discrete Math II A Review

  2. NOTATION An alphabetΣ is a finite set (e.g., Σ = {0,1}) A string over Σ is a finite-length sequence of elements of Σ For x a string, |x| is the length of x The unique string of length 0 will be denoted by ε and will be called the empty or null string A language over Σ is a set of strings over Σ

  3. q1 1 0 0,1 1 M q0 q2 0 0 1 q3 M = (Q, Σ, , q0, F) where Q = {q0, q1, q2, q3} are states Σ = {0,1} is the alphabet  : Q Σ→ Q transition function* q0 Q is start state F = {q1, q2} Q accept states * NFAs have “choices” --  : Q  ΣP (Q), and accept on input w if there is a path from q0 to a qain F.

  4. NFA DFA DEF Regular Language Regular Expression

  5. THE REGULAR PUMPING LEMMA Let L be a regular language Then there exists P such that For every w  L with |w| ≥ P there exist xyz=w, where: 1. |y| > 0 2. |xy| ≤ P 3. xyiz  L for any i ≥ 0 { ww : w 2Σ* } is not regular!

  6. SOME LANGUAGES ARE NOT REGULAR! B = {0n1n | n ≥ 0} is NOT regular! Suppose B is regular and let P be the pumping length. The string 0P1P  B and has length at least P. So by the pumping lemma, there should be xyz = 0P1P so that |xy| ≤ P, |y| > 0, and xyyzB. But y must be only 0s (otherwise |xy| > P), so xyyz has at least P+1 “0”s (because |y| > 0) but only P “1”s. So xyyz  B, contradicting the pumping lemma. Therefore B is not regular.

  7. string pop push ε,ε → $ 0,ε→ 0 1,0→ε ε,$ → ε 1,0→ε A PDA accepts the string x if there is a path on input x and empty stack from q0 to some qa2 F. Following transition “a,bc” reads “a” from the input, pops “b” off the stack, and pushes “c” onto it.

  8. CONTEXT-FREE GRAMMARS production rules start variable A → 0A1 A → B B → # variables terminals A  0A1  00A11  00B11  00#11 uVw yields uvw if (V → v) in G. A derives 00#11 in 4 steps.

  9. THE CHOMSKY NORMAL FORM A context-free grammar is in Chomsky normal form if every rule is of the form: A → BC B and C are not start variable A → a a is a terminal S → ε S is the start variable Any variable A that is not the start variable can only generate strings of length > 0 Theorem: All grammars can be converted to CNF

  10. THE CONTEXT-FREE PUMPING LEMMA Let L be a context-free language Then there exists P such that For every w  L with |w| ≥ P there exist uvxyz=w, where: 1. |vy| > 0 2. |vxy| ≤ P 3. uvixyiz  L for any i ≥ 0 { ww : w inΣ* } is not context-free!

  11. qreject q0 q1 qa TURING MACHINES read write move  → , R 0 → 0, R q0 q1 qaccept 0→ 0, R  → , R 0→ 0, R q2  → , L 0 0 UNBOUNDED TAPE

  12. Definition: A Turing Machine is a 7-tuple T = (Q, Σ, Γ, , q0, qaccept, qreject), where: Q is a finite set of states; q0is the start state Σ is the input alphabet, Γ is the tape alphabet  : Q Γ→ Q Γ  {L,R}is the transition function qaccept  qrejectare the accept and reject states We can encode a TM as a string of 0s and 1s:

  13. Terminology Every TM recognizes a language. The language of M is the set L(M) = { w | M(w) eventually accepts } A TM decides L if it accepts all strings in L and rejects all strings not in L A language is decidable if some TM decides it A language is recursively enumerable if some TM recognizes it. THE CHURCH-TURING THESIS: There is a program for L iff there is a TM for L

  14. UNDECIDABILITY A language is a set of strings. It is a mathematical way of expressing a problem: given an input, is it in the set L? If a language is decidable, there is a computer program (TM) that can always solve the problem correctly – it terminates and has the right answer. If a language is undecidable, then no matter how smart you are, and no matter how long you give it, you cannot program a computer to always solve the problem correctly.

  15. Let S be any set and P(S) be the power set of S Theorem: There is no onto map from S to P(S) Proof: Assume, for a contradiction, that there is an onto map f : S P(S) Let Df = { d  S | d  f(d) } If Df = f(y) then y  Df if and only if y  Df Languages over {0,1} Turing Machines Strings of 0s and 1s Sets of strings of 0s and 1s S P(S)

  16. UNDECIDABLE PROBLEMS DTM = { (M) : M is a TM that does not accept (M) } Theorem. DTM is undecidable. Proof. Suppose machine N decides DTM. Then N accepts <N> →<N>DTM →N does not accept <N> ATM = { (M,w) : M is a TM that accepts on input w } Theorem. If ATM is decidable, so is DTM. Proof. If ¬ATM is decided by the program nAccept we can decide if <M>  DTM by calling nAccept(M,M). Here we have reduced deciding DTM to deciding ATM. Since we know DTM is undecidable, ATM must also be undecidable.

  17. MAPPING REDUCTIONS f : Σ*  Σ* is a computable function if there is a TM that on input w, halts with f(w) on its tape A m B if there is a computable f, such that w  A  f(w)  B f is called a reduction from A to B

  18. RICE’S THEOREM Let P be a set of Turing machines. If P satisfies the following two properties: For any TMs M1 and M2, where L(M1) = L(M2), M1 P if and only if M2  P There exist TMs MIN P and MOUT  P (i.e. P is a “nontrivialproperty of the r.e. languages.”) Then P is undecidable EXTREMELY POWERFUL

  19. NON-REGULAR NON-CFL REGULAR LANGUAGES CONTEXT-FREE LANGUAGES 100 100 100 200 200 200 300 300 300 JEOPARDY

  20. A DFA for the language (ab + ba)*

  21. A regular expression for the set of strings accepted by the NFA: 1 0,1

  22. A proof that the language { w  Σ*: w ≠ wR } is not regular.

  23. The language accepted by the following PDA: 0,ε→ 0 1,0→ε ε,ε → $ 1,0→ε ε, $ → ε

  24. A CFG for the language { w # bn : |w| = n }.

  25. DAILY DOUBLE Regular operations that the Context-Free Languages are closed under.

  26. A string in the language L = { 1n#1n : n ≥ 0} that contradicts the regular pumping lemma.

  27. A string in the language {an#an#an : n ≥ 0 } that contradicts the context-free pumping lemma.

  28. A proof that the language { an#bm : m = n2, n ≥ 0 } is not context-free.

  29. Do there exist non-regular languages that satisfy the Regular Pumping Lemma?

  30. DECIDABLE LANGUAGES UNDECIDABLE LANGUAGES NP-COMPLETE REDUCTIONS 100 100 100 200 200 200 300 300 300 DOUBLE JEOPARDY

  31. Show that if L1 and L2 are decidable, then so is L1 – L2.

  32. A proof that the set {0,1,2}* is countable.

  33. A proof that ODD ≤m EVEN, where Σ = {0,1} ODD = { 1i : i is odd} EVEN = { 1i : i is even}

  34. A proof, using Rice’s Theorem, that P3 = { (M) : M accepts all strings of length 3 } is undecidable.

  35. What operations are recursively enumerable languages closed under?

  36. A proof that ATM ≤m AJAVA , where AJAVA = { (J,w) : J is a Java program with method “public boolean test(string w)” that returns true on string w. }

  37. What’s the definition of NP? NP-Complete? NP-hard?

  38. Is Addition an NP-Complete problem? Why or why not?

  39. Show that 4-SAT is NP-Complete by reducing it to 3-SAT.

More Related