languages
play

Languages This will be on the exam Computability What is a - PDF document

Languages This will be on the exam Computability What is a language? What is a class of languages? Before We Start The Turing Machine Any questions? Motivating idea Build a theoretical a human computer Likened to


  1. Languages  This will be on the exam Computability  What is a language?  What is a class of languages? Before We Start The Turing Machine  Any questions?  Motivating idea  Build a theoretical a “human computer”  Likened to a human with a paper and pencil that can solve problems in an algorithmic way  The theoretical machine provides a means to determine:  If an algorithm or procedure exists for a given problem  What that algorithm or procedure looks like  How long would it take to run this algorithm or procedure. The Church-Turing Thesis Theory Hall of Fame (1936)  Alan Turing  Any algorithmic procedure that can be  1912 – 1954 carried out by a human or group of  b. London, England. humans can be carried out by some Turing Machine”  PhD – Princeton (1938)  Research  Equating algorithm with running on a TM  Cambridge and Manchester  Turing Machine is still a valid U. computational model for most modern  National Physical Lab, UK computers.  Creator of the Turing Test 1

  2. Theory Hall of Fame Undecidability  Alonso Church  Informally, a problem is called unsolvable or  1903 -- 1995 undecidable if there no algorithm exists that  b. Washington D.C. solves the problem.  Algorithm  PhD – Princeton (1927)  Implies a TM that computes a solution for the  Mathematics Prof (1927 – problem 1967)  Solves  Advisor to both Turing and  Implies will always give an answer Kleene Decision Problem Decision Problem  Let’s formalize this a bit  Running a decision problem on a TM.  A decision problem is a problem that has a  The problem must first be encoded yes/no answer  Example:  Is a given string x a palindrome (Is x ∈ pal?)  Example:  x is an instance of the problem  Is a given context free language empty?  Is a given string x a palindrome (Is x ∈ pal?)  Instance of a problem is a CFG…must be encoded.  Is a given context free language empty? Decision Problem Solvability  Running a decision problem on a TM.  In other words, a problem is solvable if  Once encoded, the encoded instance in provided the language of all of its encoded “yes” as input to a TM. instances is recursive.  The TM must then  Determine if the input is a valid encoding  There is a TM that recognizes the  Run, halt, language.  Place 1 on the tape if the answer for the input is yes  Place 0 on the tape if the answer for the input is no  If such a TM exists for a given decision problem, the problem is decidable or solvable. Otherwise the problem is called undecidable or unsolvable. 2

  3. Universal Language An unsolvable problem  L u corresponds to the “yes encodings”  Universal Language (L u ) of the decision problem:  Set of all strings w i such that w i ∈ L(M i )  All strings w that are accepted by the TM  Given a Turing Machine M, does it accept with w as it’s encoding. it’s own encoding. (Self-accepting)  All encodings for TMs that do accept their encoding when input  Since L u is not recursive, this problem is unsolvable.  We showed that L u is not recursive. Reducing one language to Reducing one language to another another  One method of showing whether a  Formally, given decision problem is unsolvable is  Let L 1 and L 2 be languages over Σ 1 and Σ 2 to convert the encoding of the problem  We say L 1 is reducible to L 2 if into another that we know to be either  There exists a Turning computable function solvable or unsolvable.  f: Σ 1 * → Σ 2 * such that  This is called reducing one language to  x ∈ L 1 iff f(x) ∈ L 2 another. Reducing one language to Reducing one language to another another  Informally,  We can take any encoded instance of one Instance problem Corresponding Conversion of P 1 TM  Use a TM to compute a corresponding encoded TM Instance of P 2 recognizing instance of another problem. L 2  If this other problem has a TM that recognizes the set of “yes encodings”, we can run that TM to solve the first problem. YES NO 3

  4. Reducing one language to The halting problem another  Key facts:  Let’s consider a more general problem about TMs.  If L 1 is reducible to L 2 then  If L 2 is recursive then L 1 is also recursive  If L 1 is not recursive then L 2 is not recursive.  Given a TM, M, and a string w, is w ∈ T(M)?  If P 1 and P 2 are decision problems with L 1  Given a TM, M and a string w and L 2 the languages of “yes encodings”  Will M halt and accept on input w? respectively and if L 1 is reducible to L 2 then  If P 2 is solvable then P 1 is also solvable  We simply cannot just run the string on the TM  If P 1 is unsolvable then P 2 is also unsolvable since if w ∉ L(M), M might go into an infinite loop. To show a problem is The halting problem unsolvable  The halting problem is unsolvable  Find a problem known to be unsolvable  Reduce this known unsolvable problem to the problem you wish to show is  Proof: unsolvable.  We can use an argument similar to that used to show that L u is not recursive.  Instead, let’s use reduction  Only need one to start the ball rolling  Self-accepting fits the bill. Halting problem Halting problem  Reduce self-accepting to halting  Reduction  Self-accepting  Take an instance of SA and convert it to an instance of Halting  Turing Machine M  Does this Machine accept it’s own encoding  Such that a “yes” instance of SA results in a “yes” instance of halt  Halting  Turing Machine M M Reduction M, e(M)  String w machine  Does M halt and accept on input w Halt SA 4

  5. State entry problem Halting problem  Reduction  Given:  Assume Halting is solvable  Turing Machine M  A state q YES  A string w M Reduction M, e(M) Halt TM  Problem: machine Halt SA  Will M enter state q on input w.  The State Entry Problem is unsolvable. NO Then SA must be solvable…CONTRADICTION! State entry problem State entry problem  Reduce halting to state entry (SE).  Reduction  Halting  Take an instance of Halting (M 1 , w 1 ) and  Turing Machine M convert it to an instance of state-entry (M 2 ,  String w w 2 , q)  Does M halt and accept on input w  Such that a “yes” instance of halt results in a  State Entry “yes” instance of self-entry  Turing Machine M  From M 1 create M 2 such that M 1 halts iff M 2  String w enters state q.  State q  Does this Machine enter state q on input w. State entry problem State entry problem  Reduction  Reduction  M 1 will halt only there is no transition  Take an instance of Halting and convert it defined (e.g. δ (q i , a) ) to an instance of state entry  Take M 1, create a new state q.  Define new transition in M 2 for each undefined transition in M 1 so M 1 , w Reduction M 2 , w, q  (q i , a) = (q, a R) machine State-entry  If M 1 halts, M 2 will enter state q Halt 5

  6. Strings of same length problem State entry problem  Reduction  Given:  Assume State Entry is solvable  Turing Machine M  Problem: YES  Will M enter accept two strings of the same M 1 ,w Reduction M 2 , w, q State length. machine Entry TM State  The Same Length Problem is Halt Entry unsolvable. NO Then Halting must be solvable…CONTRADICTION! Same length problem Same length problem  Reduction  Reduce halting to same length.  Halting  Take an instance of Halting (M 1 , w 1 ) and convert it to an instance of state-entry  Turing Machine M  String w (M w )  Does M halt and accept on input w  Such that a “yes” instance of halt results in a  State Entry “yes” instance of same length  Turing Machine M  From M 1 create M w such that M 1 halts on w iff M w accepts string of same length  Does this Machine accept 2 strings of the same length. Same length problem Same length problem  Reduction  (q i , a) will force M w to accept “a” and “b”  We can certainly create TMs that accept “a” and  M 1 will halt only there is no transition “b”. defined (e.g. δ (q i , a) )  M w will do the following:  Define new transition in M w for each  Copy w onto it’s tape (after the input)  Place the tape head at the start of w undefined transition in M 1 so  Simulate M 1  (q i , a) will force M 2 to accept a and b  For all halting configurations, transition back to the start of the input (where you can accept both “a” and “b”).  If M 1 halts on w, M w accept “a” and “b”  You will only get back to the start of input of M w if M 1 (strings of same length) halts on input w. 6

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend