Create Presentation
Download Presentation

Download Presentation

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 12

151 Views
Download Presentation

Download Presentation
## CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 12

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**CDT314**FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2011**ContentChomsky’s Language Hierarchy Turing Machines**DeterminismHaltingTM ExamplesStandard TMComputing Functions with TMCombining TMsTuring Thesis**The Language Hierarchy**? ? Context-Free Languages Regular Languages**Recursively enumerable languages**Context-free languages Regular Languages**Turing Machines**Push-down Automata Finite Automata**http://www.turing.org.uk/turing/**Who was Alan Turing? Founder of Computability Theory, mathematician, philosopher, codebreaker, visionary man before his time. http://www.cs.usfca.edu/www.AlanTuring.net/turing_archive/index.html-Jack Copeland and Diane Proudfoot http://www.turing.org.uk/turing/ The Alan Turing Home PageAndrew Hodges**1912 (23 June): Birth, London1926-31: Sherborne School1930:**Death of friend Christopher Morcom1931-34: Undergraduate at King's College, Cambridge University1932-35: Quantum mechanics, probability, logic1935: Elected fellow of King's College, Cambridge1936: The Turing machine, computability, universal machine1936-38: Princeton University. Ph.D. Logic, algebra, number theory1938-39: Return to Cambridge. Introduced to German Enigma cipher machine1939-40: The Bombe, machine for Enigma decryption1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic Alan Turing**1943-45: Chief Anglo-American crypto consultant. Electronic**work.1945: National Physical Laboratory, London1946: Computer and software design leading the world.1947-48: Programming, neural nets, and artificial intelligence1948: Manchester University1949: First serious mathematical use of a computer1950: The Turing Test for machine intelligence1951: Elected FRS. Non-linear theory of biological growth1952: Arrested as a homosexual, loss of security clearance1953-54: Unfinished work in biology and physics1954 (7 June): Death (suicide) by cyanide poisoning, Wilmslow, Cheshire. Alan Turing**Hilbert’s Program, 1900**Hilbert’s hope was that mathematics would be reducible to finding proofs (manipulating the strings of symbols) from a fixed system of axioms, axioms that everyone could agree were true. Can all of mathematics be made algorithmic, or will there always be new problems that outstrip any given algorithm, and so require creative acts of mind to solve?**Turing Machines and Computability**The question Hilbert raised was whether there could be a general method or process by which one could decide whether a mathematical proposition could be proved. But what exactly was meant by a 'method' or 'process'? People had already used the concept of a 'mechanical' process, and Turing had an idea which made this quite precise: computability. Turing wrote in his first sentences: “The "computable" numbers may be described briefly as the real numbers whose expressions as a decimal are calculable by finite means... a number is computable if its decimal can be written down by a machine. “ http://www.turing.org.uk/turing/scrapbook/machine.html**Turing Machines and Computability**The Turing machine concept involves specifying a very restricted set of logical operations, but Turing showed how other more complex mathematical procedures could be built out of these atomic components. Turing argued that his formalism was sufficiently general to encompass anything that a human being could do when carrying out a definite method. Turing's famous 1936-7 paper On computable numbers, with an application to the Entscheidungsproblem, which worked out the theory of Turing machines and the definition of computability, is available as a PDF file on-line: http://www.cs.ox.ac.uk/activities/ieg/e-library/sources/tp2-ie.pdf**Turing Machines**Turing’s "Machines". These machines are humans who calculate. (Wittgenstein) A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine. (Turing)**Turing Machine**Tape ...... ...... Read-Write head Control Unit**The Tape**No boundaries -- infinite length ...... ...... Read-Write head The head moves Left or Right**......**...... Read-Write head The head at each time step: 1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right**Example**Time 0 ...... ...... Time 1 ...... ...... 1. Reads 2. Writes 3. Moves Left**Time 1**...... ...... Time 2 ...... ...... 1. Reads 2. Writes 3. Moves Right**The Input String**Input string Blank symbol ...... ...... head Head starts at the leftmost position of the input string**States & Transitions**Write Read Move Left Move Right**Example**Time 1 ...... ...... current state**Time 1**...... ...... Time 2 ...... ......**Example**Time 1 ...... ...... Time 2 ...... ......**Example**Time 1 ...... ...... Time 2 ...... ......**Determinism**Turing Machines are deterministic Not Allowed Allowed No lambda transitions allowed in TM!**Determinism**Note the difference between stateindeterminismwhen not even possible future states are known in advance and choice indeterminismwhen possible future states are known,but we do not know which state will be taken.**Partial Transition Function**Example ...... ...... Allowed No transition for input symbol**Halting**The machine halts if there are no possible transitions to follow**Example**...... ...... No possible transition HALT!**Allowed**Not Allowed Final States • Final states have no outgoing transitions • In a final state the machine halts**Acceptance**If machine halts in a final state Accept Input If machine halts in a non-final state or If machine enters an infinite loop Reject Input**A TM that accepts the language**Turing Machine Example**Time 4**Halt & Accept**Rejection Example**Time 0**Time 1**No possible Transition Halt & Reject**Another TM for language**Infinite Loop Example**Time 2**Time 3 Time 4 Time 5 ... infinite loop…**Because of the infinite loop:**• The final state cannot be reached • The machine never halts • The input is not accepted**Another Turing Machine Example**Turing machine for the language