
Recursively Enumerable and Recursive Languages 1 D efinition: A language is recursively enumerable if some T uring machine accepts it 2 Let L be a recursively enumerable language and M the T uring M achine that accepts it For string w : if w∈ L then M halts in a final state if w∉ L then M halts in a non-final state or loops forever 3 D efinition: A language is recursive if some T uring machine accepts it and halts on any input string In other w ords: A language is recursive if there is a membership algorithm for it 4 Let L be a recursive language and M the T uring M achine that accepts it For string w : if w∈ L then M halts in a final state if w∉ L then M halts in a non-final state 5 W e w ill prove: 1.T here is a specific language w hich is not recursively enumerable (not accepted by any T uring M achine) 2.T here is a specific language w hich is recursively enumerable but not recursive 6 N on Recursively Enumerable Recursively Enumerable Recursive 7 W e w ill first prove: • If a language is recursive then there is an enumeration procedure for it • A language is recursively enumerable if and only if there is an enumeration procedure for it 8 T heorem: if a language L is recursive then there is an enumeration procedure for it 9 Proof: Enumeration M achine ~ M M Enumerates all A ccepts L strings of input alphabet 10 f the alphabet is { a , b } then ~ M can enumerate strings as follow s: a b aa ab ba bb aaa aab ...... 11 Enumeration procedure Repeat: ~ M generates a string w M checks if w∈ L Y ES : print w to output N O : ignore w End of Proof 12 Example: L = {b,ab,bb,aaa,....} ~ Enumeration M L(M ) O utput a b b b aa ab ab ab ba bb bb bb aaa aaa aaa aab ...... ...... ...... 13 T heorem: if language L is recursively enumerable then there is an enumeration procedure for it 14 Proof: Enumeration M achine ~ M M Enumerates all A ccepts L strings of input alphabet 15 f the alphabet is { a , b } then ~ M can enumerate strings as follow s: a b aa ab ba bb aaa aab 16 N A IV E A PPRO A CH Enumeration procedure ~ Repeat: M generates a string w M checks if w∈ L Y ES : print w to output N O : ignore w Problem: If w ∉ L machine M may loop forever 17 B ET T ER A PPRO A CH ~ M G enerates first string w1 M executes first step on w1 ~ M G enerates second string w2 M executes first step on w2 second step on w1 18 ~ M 4 enerates third string w3 M executes first step on w3 second step on w2 third step on w1 A nd so on............ 19 w1 w2 w3 w4 3 1 1 1 1 S tep in 2 2 2 2 string 3 3 3 3 3 20 f for any string w i machine M halts in a final state then it prints w i on the output End of Proof 21 T heorem: f for language L there is an enumeration procedure then L is recursively enumerable 22 Proof: nput T ape w M achine that accepts L Enumerator Compare for L 23 T uring machine that accepts L For input string w Repeat: • U sing the enumerator, generate the next string of L • Compare generated string w ith w If same, accept and exit loop End of Proof 24 W e have proven: A language is recursively enumerable if and only if there is an enumeration procedure for it 25 A Language w hich is not Recursively Enumerable 26 W e w ant to find a language that is not Recursively Enumerable T his language is not accepted by any T uring M achine 27 1onsider alphabet {a} S trings: a, aa, aaa, aaaa, 2 a1 a2 a3 a4 3 28 1onsider T uring M achines that accept languages over alphabet {a} T hey are countable: 2 M1, M 2, M3, M 4, 29 Example language accepted by Mi = L(Mi ) {aa,aaaa,aaaaaa} = 2 4 6 L(Mi ) {a ,a ,a } A lternative representation a1 a2 a3 a4 a5 a6 a7 3 3 L(Mi ) 0 1 0 1 0 1 0 30 a1 a2 a3 a4 3 L(M1) 0 1 0 1 3 3 L(M 2) 1 0 0 1 L(M3) 0 1 1 1 3 L(M 4) 0 0 0 1 3 31 1onsider the language = i i ∈ L {a : a L(Mi )} L consists from the 1’s in the diagonal 32 a1 a2 a3 a4 3 L(M1) 0 1 0 1 3 3 L(M 2) 1 0 0 1 L(M3) 0 1 1 1 3 L(M 4) 0 0 0 1 3 L = {a3,a4,2} 33 1onsider the language L = i i ∈ L {a : a L(Mi )} = i i ∉ L {a : a L(Mi )} L consists from the 0’s in the diagonal 34 a1 a2 a3 a4 3 L(M1) 0 1 0 1 3 3 L(M 2) 1 0 0 1 L(M3) 0 1 1 1 3 L(M 4) 0 0 0 1 3 L = {a1,a2,2} 35 T heorem: Language L is not recursively enumerable 36 Proof: A ssume for contradiction that L is recursively enumerable T here must exist some machine M k that accepts L L(M ) = L k 37 a1 a2 a3 a4 3 L(M1) 0 1 0 1 3 3 L(M 2) 1 0 0 1 L(M3) 0 1 1 1 3 L(M 4) 0 0 0 1 3 = : uestion: M k M1? 38 a1 a2 a3 a4 3 L(M1) 0 1 0 1 3 3 L(M 2) 1 0 0 1 L(M3) 0 1 1 1 3 L(M 4) 0 0 0 1 3 a1 ∈ L(M ) ≠ k A nsw er: M k M1 1 ∉ a L(M1) 39 a1 a2 a3 a4 3 L(M1) 0 1 0 1 3 3 L(M 2) 1 0 0 1 L(M3) 0 1 1 1 3 L(M 4) 0 0 0 1 3 = : uestion: M k M 2 ? 40 a1 a2 a3 a4 3 L(M1) 0 1 0 1 3 3 L(M 2) 1 0 0 1 L(M3) 0 1 1 1 3 L(M 4) 0 0 0 1 3 a2 ∈ L(M ) ≠ k A nsw er: M k M 2 2 ∉ a L(M2) 41 a1 a2 a3 a4 3 L(M1) 0 1 0 1 3 3 L(M 2) 1 0 0 1 L(M3) 0 1 1 1 3 L(M 4) 0 0 0 1 3 = : uestion: M k M 3 ? 42 a1 a2 a3 a4 3 L(M1) 0 1 0 1 3 3 L(M 2) 1 0 0 1 L(M3) 0 1 1 1 3 L(M 4) 0 0 0 1 3 3 ∉ a L(Mk ) A nsw er: M ≠ M k 3 3 ∈ a L(M3) 43 ≠ , imilarly: M k Mi for any i B ecause either: i ∈ i ∉ a L(M k ) a L(M k ) or i ∉ i ∈ a L(Mi ) a L(Mi ) 44 T herefore, the machine M k cannot exist T herefore, the language L is not recursively enumerable End of Proof 45 O bservation: T here is no algorithm that describes L (otherw ise L w ould be accepted by some T uring M achine) 46 N on Recursively Enumerable L Recursively Enumerable Recursive 47 A Language w hich is Recursively Enumerable and not Recursive 48 W e w ant to find a language w hich Is recursively B ut not enumerable recursive T here is a T he machine T uring M achine doesn’t halt that accepts on some input the language 49 W e w ill prove that the language = i i ∈ L {a : a L(Mi )} Is recursively enumerable but not recursive 50 a1 a2 a3 a4 3 L(M1) 0 1 0 1 3 3 L(M 2) 1 0 0 1 L(M3) 0 1 1 1 3 L(M 4) 0 0 0 1 3 L = {a3,a4,2} 51 T heorem: = i i ∈ T he language L {a : a L(Mi )} is recursively enumerable 52 Proof: W e w ill give a T uring M achine that accepts L 53 T uring M achine that accepts L For any input string w i • Compute i , for w hich w = a • Find T uring machine Mi (using the enumeration procedure for T uring M achines) i • S imulate M i on input a • If M i accepts, then accept w End of Proof 54 O bservation: Recursively enumerable = i i ∈ L {a : a L(Mi )} N ot recursively enumerable = i i ∉ L {a : a L(Mi )} (T hus, also not recursive) 55 T heorem: = i i ∈ T he language L {a : a L(Mi )} is not recursive 56 Proof: A ssume for contradiction that L is recursive T hen L is recursive: T ake the T uring M achine M that accepts L M halts on any input: If M accepts then reject If M rejects then accept 57 T herefore: L is recursive B ut w e know : L is not recursively enumerable thus, not recursive CO N T RA D ICT IO N !!!! 58 T herefore, L is not recursive End of Proof 59 N on Recursively Enumerable L Recursively Enumerable L Recursive 60.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages60 Page
-
File Size-