Document Sample

Recursively Enumerable and Recursive Languages 1 Definition: A language is recursively enumerable if some Turing machine accepts it 2 Let L be a recursively enumerable language and M the Turing Machine 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 Definition: A language is recursive if some Turing machine accepts it and halts on any input string In other words: A language is recursive if there is a membership algorithm for it 4 Let L be a recursive language and M the Turing Machine 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 We will prove: 1. There is a specific language which is not recursively enumerable (not accepted by any Turing Machine) 2. There is a specific language which is recursively enumerable but not recursive 6 Non Recursively Enumerable Recursively Enumerable Recursive 7 A Language which is not Recursively Enumerable 8 We want to find a language that is not Recursively Enumerable This language is not accepted by any Turing Machine 9 Consider alphabet {a} Strings: a, aa, aaa, aaaa, 1 2 3 4 a a a a 10 Consider Turing Machines that accept languages over alphabet {a} They are countable: M1 , M 2 , M 3 , M 4 , 11 Example language accepted by M i L( M i ) {aa, aaaa, aaaaaa} L( M i ) {a , a , a } 2 4 6 Alternative representation 1 2 3 4 5 6 7 a a a a a a a L( M i ) 0 1 0 1 0 1 0 12 1 2 3 4 a a a a L ( M1 ) 0 1 0 1 L( M 2 ) 1 0 0 1 L( M 3 ) 0 1 1 1 L( M 4 ) 0 0 0 1 13 Consider the language L {a : a L( M i )} i i L consists from the 1’s in the diagonal 14 1 2 3 4 a a a a L ( M1 ) 0 1 0 1 L( M 2 ) 1 0 0 1 L( M 3 ) 0 1 1 1 L( M 4 ) 0 0 0 1 L {a , a ,} 3 4 15 Consider the language L L {a : a L( M i )} i i L {a : a L( M i )} i i L consists of the 0’s in the diagonal 16 1 2 3 4 a a a a L ( M1 ) 0 1 0 1 L( M 2 ) 1 0 0 1 L( M 3 ) 0 1 1 1 L( M 4 ) 0 0 0 1 L {a , a ,} 1 2 17 Theorem: Language L is not recursively enumerable 18 Proof: Assume for contradiction that L is recursively enumerable There must exist some machine Mk that accepts L L( M k ) L 19 1 2 3 4 a a a a L ( M1 ) 0 1 0 1 L( M 2 ) 1 0 0 1 L( M 3 ) 0 1 1 1 L( M 4 ) 0 0 0 1 Question: M k M1 ? 20 1 2 3 4 a a a a L ( M1 ) 0 1 0 1 L( M 2 ) 1 0 0 1 L( M 3 ) 0 1 1 1 L( M 4 ) 0 0 0 1 1 a L( M k ) Answer: M k M1 1 a L ( M1 ) 21 1 2 3 4 a a a a L ( M1 ) 0 1 0 1 L( M 2 ) 1 0 0 1 L( M 3 ) 0 1 1 1 L( M 4 ) 0 0 0 1 Question: M k M 2 ? 22 1 2 3 4 a a a a L ( M1 ) 0 1 0 1 L( M 2 ) 1 0 0 1 L( M 3 ) 0 1 1 1 L( M 4 ) 0 0 0 1 2 a L( M k ) Answer: Mk M2 2 a L( M 2 ) 23 1 2 3 4 a a a a L ( M1 ) 0 1 0 1 L( M 2 ) 1 0 0 1 L( M 3 ) 0 1 1 1 L( M 4 ) 0 0 0 1 Question: M k M 3 ? 24 1 2 3 4 a a a a L ( M1 ) 0 1 0 1 L( M 2 ) 1 0 0 1 L( M 3 ) 0 1 1 1 L( M 4 ) 0 0 0 1 3 a L( M k ) Answer: M k M3 3 a L( M 3 ) 25 Similarly: M k Mi for any i Because either: a L( M k ) i a L( M k ) i or a L( M i ) i a L( M i ) i 26 Therefore, the machine M k cannot exist Therefore, the language L is not recursively enumerable End of Proof 27 Observation: There is no algorithm that describes L (otherwise L would be accepted by some Turing Machine) 28 Non Recursively Enumerable L Recursively Enumerable Recursive 29 A Language which is Recursively Enumerable and not Recursive 30 We want to find a language which Is recursively But not enumerable recursive There is a The machine Turing Machine doesn’t halt that accepts on some input the language 31 We will prove that the language L {a : a L( M i )} i i Is recursively enumerable but not recursive 32 1 2 3 4 a a a a L ( M1 ) 0 1 0 1 L( M 2 ) 1 0 0 1 L( M 3 ) 0 1 1 1 L( M 4 ) 0 0 0 1 L {a , a ,} 3 4 33 Theorem: The language L {a : a L( M i )} i i is recursively enumerable 34 Proof: We will give a Turing Machine that accepts L 35 Turing Machine that accepts L For any input string w • Compute i , for which wa i • Find Turing machine Mi (using an enumeration procedure for Turing Machines) i • Simulate M i on input a • If M i accepts, then accept w End of Proof 36 Observation: Recursively enumerable L {a : a L( M i )} i i Not recursively enumerable L {a : a L( M i )} i i (Thus, also not recursive) 37 Theorem: The language L {a : a L( M i )} i i is not recursive 38 Proof: Assume for contradiction that L is recursive Then L is recursive: Take the Turing Machine M that accepts L M halts on any input: If M accepts then reject If M rejects then accept 39 Therefore: L is recursive But we know: L is not recursively enumerable thus, not recursive CONTRADICTION!!!! 40 Therefore, L is not recursive End of Proof 41 Non Recursively Enumerable L Recursively Enumerable L Recursive 42 Turing acceptable languages and Enumeration Procedures 43 We will prove: (weak result) • If a language is recursive then there is an enumeration procedure for it (strong result) • A language is recursively enumerable if and only if there is an enumeration procedure for it 44 Theorem: if a language L is recursive then there is an enumeration procedure for it 45 Proof: Enumeration Machine ~ M M Enumerates all Accepts L strings of input alphabet 46 If the alphabet is {a, b} then ~ M can enumerate strings as follows: a b aa ab ba bb aaa aab ...... 47 Enumeration procedure Repeat: ~ generates a string w M M checks if w L YES: print w to output NO: ignore w End of Proof 48 Example: L {b, ab, bb, aaa,....} ~ Enumeration M L(M ) Output a b b b aa ab ab ab ba bb bb bb aaa aaa aaa aab ...... ...... ...... 49 Theorem: if language L is recursively enumerable then there is an enumeration procedure for it 50 Proof: Enumeration Machine ~ M M Enumerates all Accepts L strings of input alphabet 51 If the alphabet is {a, b} then ~ M can enumerate strings as follows: a b aa ab ba bb aaa aab 52 NAIVE APPROACH Enumeration procedure Repeat: ~ generates a string w M M checks if w L YES: print w to output NO: ignore w Problem: If w L machine M may loop forever 53 BETTER APPROACH ~ Generates first string w M 1 M executes first step on w1 ~ Generates second string w M 2 M executes first step on w2 second step on w1 54 ~ Generates third string w M 3 M executes first step on w3 second step on w2 third step on w1 And so on............ 55 w1 w2 w3 w4 1 1 1 1 Step in 2 2 2 2 string 3 3 3 3 56 If for any string wi machine M halts in a final state then it prints wi on the output End of Proof 57 Theorem: If for language L there is an enumeration procedure then L is recursively enumerable 58 Proof: Input Tape w Machine that accepts L Enumerator Compare for L 59 Turing machine that accepts L For input string w Repeat: • Using the enumerator, generate the next string of L • Compare generated string with w If same, accept and exit loop End of Proof 60 We have proven: A language is recursively enumerable if and only if there is an enumeration procedure for it 61

DOCUMENT INFO

Shared By:

Categories:

Tags:
system of equations, language equations, natural numbers, simulation preorder, the action, Hilbert's Tenth Problem, Julia Robinson, recursively enumerable set, Charles University

Stats:

views: | 1 |

posted: | 10/4/2010 |

language: | English |

pages: | 61 |

OTHER DOCS BY chenshu

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.