slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 12 PowerPoint Presentation
Download Presentation
CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 12

play fullscreen
1 / 129

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 - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2011

  2. ContentChomsky’s Language Hierarchy Turing Machines DeterminismHaltingTM ExamplesStandard TMComputing Functions with TMCombining TMsTuring Thesis

  3. The Language Hierarchy ? ? Context-Free Languages Regular Languages

  4. Recursively enumerable languages Context-free languages Regular Languages

  5. Turing Machines Push-down Automata Finite Automata

  6. Who was Alan Turing? Founder of Computability Theory, mathematician, philosopher, codebreaker, visionary man before his time. Copeland and Diane Proudfoot The Alan Turing Home PageAndrew Hodges

  7. 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

  8. 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

  9. 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?

  10. 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. “

  11. 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:

  12. Turing Machines

  13. 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)

  14. Turing Machine Tape ...... ...... Read-Write head Control Unit

  15. The Tape No boundaries -- infinite length ...... ...... Read-Write head The head moves Left or Right

  16. ...... ...... Read-Write head The head at each time step: 1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right

  17. Example Time 0 ...... ...... Time 1 ...... ...... 1. Reads 2. Writes 3. Moves Left

  18. Time 1 ...... ...... Time 2 ...... ...... 1. Reads 2. Writes 3. Moves Right

  19. The Input String Input string Blank symbol ...... ...... head Head starts at the leftmost position of the input string

  20. States & Transitions Write Read Move Left Move Right

  21. Example Time 1 ...... ...... current state

  22. Time 1 ...... ...... Time 2 ...... ......

  23. Example Time 1 ...... ...... Time 2 ...... ......

  24. Example Time 1 ...... ...... Time 2 ...... ......

  25. Determinism Turing Machines are deterministic Not Allowed Allowed No lambda transitions allowed in TM!

  26. 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.

  27. Partial Transition Function Example ...... ...... Allowed No transition for input symbol

  28. Halting The machine halts if there are no possible transitions to follow

  29. Example ...... ...... No possible transition HALT!

  30. Allowed Not Allowed Final States • Final states have no outgoing transitions • In a final state the machine halts

  31. 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

  32. A TM that accepts the language Turing Machine Example

  33. Time 0

  34. Time 1

  35. Time 2

  36. Time 3

  37. Time 4 Halt & Accept

  38. Rejection Example Time 0

  39. Time 1 No possible Transition Halt & Reject

  40. Another TM for language Infinite Loop Example

  41. Time 0

  42. Time 1

  43. Time 2

  44. Time 2 Time 3 Time 4 Time 5 ... infinite loop…

  45. Because of the infinite loop: • The final state cannot be reached • The machine never halts • The input is not accepted

  46. Another Turing Machine Example Turing machine for the language

  47. Time 0

  48. Time 1

  49. Time 2

  50. Time 3