1 / 647

The Church-Turing Thesis

Giorgi Japaridze Theory of Computability. The Church-Turing Thesis. Episode 1. 1.1.a. Giorgi Japaridze Theory of Computability. Components of a Turing machine (TM). a a b a b b - - - - - -. (Q,  ,  ,  ,start,accept,reject).

mnoble
Télécharger la présentation

The Church-Turing Thesis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Giorgi Japaridze Theory of Computability The Church-Turing Thesis Episode 1

  2. 1.1.a Giorgi JaparidzeTheory of Computability Components of a Turing machine (TM) a a b a b b - - - - - - (Q,,,,start,accept,reject) • Q is the finite set of states •  is the input alphabet not containing the blank symbol - •  is the tape alphabet, where - and  •  is the transition function of the type Q Q{L,R} • start,accept,rejectQ, where rejectaccept; the states • accept and reject are called halting states. • There are no transitions from the halting states, and they immediately take effect! xy,R q1 q2 If the current tape symbol is x, replace it with y, move the head right and go to q2. The label xx,R is simply written as xR. If we here have L instead of R, then the head is moved left, unless it was on the first cell, in which case it remains where it was.

  3. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R 0 0 0 0 - - - - - - -

  4. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - 0 0 0 - - - - - - -

  5. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x 0 0 - - - - - - -

  6. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x 0 0 - - - - - - -

  7. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x 0 x - - - - - - -

  8. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x 0 x - - - - - - -

  9. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x 0 x - - - - - - -

  10. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x 0 x - - - - - - -

  11. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x 0 x - - - - - - -

  12. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x 0 x - - - - - - -

  13. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x 0 x - - - - - - -

  14. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  15. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  16. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  17. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  18. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  19. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  20. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  21. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  22. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  23. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  24. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept -  R - x x x - - - - - - -

  25. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept • Configuration: • Current state; • Tape contents; • Head position -  R start0000 0 0 0 0 - - - - - - -

  26. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept • Configuration: • Current state; • Tape contents; • Head position -  R -q2000 - 0 0 0 - - - - - - -

  27. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept • Configuration: • Current state; • Tape contents; • Head position -  R -xq300 - x 0 0 - - - - - - -

  28. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept • Configuration: • Current state; • Tape contents; • Head position -  R -x0q40 - x 0 0 - - - - - - -

  29. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept • Configuration: • Current state; • Tape contents; • Head position -  R -x0xq3- - x 0 x - - - - - - -

  30. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept • Configuration: • Current state; • Tape contents; • Head position -  R -x0q5x - x 0 x - - - - - - -

  31. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept • Configuration: • Current state; • Tape contents; • Head position -  R -xq50x - x 0 x - - - - - - -

  32. 1.1.b Giorgi JaparidzeTheory of Computability 0  L x  L How a Turing machine works q5 xR -  R -  L xR start q2 q3 0 -,R 0x,R •  R • x  R -  R 0 x,R 0R xR q4 reject accept • Configuration: • Current state; • Tape contents; • Head position -  R -q5x0x - x 0 x - - - - - - -

  33. 1.1.c1 Giorgi JaparidzeTheory of Computability A TM accepts an input string iff, on that input, sooner or later it enters the accept state. Otherwise the string is considered rejected. • Thus, the input is rejected in two cases: • the machine enters the reject state at some point (“explicitly rejects”), • or the machine never halts (“non-explicitly rejects”). A Turing machine is said to be a decider iff it halts on every input. The set recognized by a TM M is the set of the strings that M accepts. If such an M is a decider, then we say that it not only recognizes, but also decides that set. • A set is said to be decidable (可判定的) iff some TM decides it. • A set is said to be recognizable(可识别的) iff some TM recognizes it. • Synonyms of “recognizable” are semidecidable(半可判定的) and • recursively enumerable (递归可枚举的).

  34. 1.1.c2 Giorgi JaparidzeTheory of Computability Recognizing vs. deciding start accept 0  R -  R -  R •  R • 0 R 0  R reject What set does the above machine recognize? Does it decide that set? {0} No.

  35. 1.1.c2 Giorgi JaparidzeTheory of Computability Recognizing vs. deciding start accept 0  R -  R -  R •  R • 0 R 0  R reject What set does the above machine recognize? Does it decide that set? {0} No. accept start 0  R -  R 0  R -  R reject {0} What set does the above machine recognize? Does it decide that set? Yes.

  36. 1.1.d Giorgi JaparidzeTheory of Computability Diagrams without the reject state 0  L x  L xR q5 -  R -  L start xR q2 q3 0 -,R 0x,R •  R • x  R -  R 0R 0 x,R accept xR -  R reject q4 The reject state can be safely removed. It will be understood that all the missing transitions lead to the reject state.

  37. 1.1.d Giorgi JaparidzeTheory of Computability Diagrams without the reject state 0  L x  L xR q5 -  R -  L start xR q2 q3 0 -,R 0x,R •  R • x  R -  R 0R 0 x,R accept xR -  R reject q4 The reject state can be safely removed. It will be understood that all the missing transitions lead to the reject state.

  38. 1.1.d Giorgi JaparidzeTheory of Computability Diagrams without the reject state 0  L x  L xR q5 -  R -  L start xR q2 q3 0 -,R 0x,R -  R 0R 0 x,R accept xR q4 The reject state can be safely removed. It will be understood that all the missing transitions lead to the reject state.

  39. 1.1.e1 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 Design a TM that recognizes (better – decides) {#n =m | n=m} 1. Sweep left to right across the tape, testing if the input has the form #*=*; if not, reject; if yes, go back to the beginning of the tape and go to step 2 (state q3). L = L x L - L R R = R - L # R start q1 q2 q9 #  L q3

  40. 1.1.e2 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 2. Keep going to the right, replace the first  you see before = with x andgo to step 3 (state q5); if you reach = without seeing a , go to step 4 (state q6). xR x,R q4 q3 q5 # R = R q6

  41. 1.1.e3 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 3. Keep going to the right, pass = and then replace the first  you see with x andgo to the beginning of the tape, step 2 (this can be done by going to state q9); if you reach a blank without seeing a , reject. q9 x,R R = R xR q7 q5

  42. 1.1.e4 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 4. Keep going to the right as long as you see x. If you see a  before reaching a blank, reject; otherwise accept. xR - R accept q6

  43. 1.1.e4 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 L = L x L - L R R = R - L # R start q1 q2 q9 #  L x,R xR R x,R = R xR q4 q7 q3 q5 # R xR = R - R accept q6 - - - #     =    

  44. 1.1.e4 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 L = L x L L = L x L - L R R = R - L # R start q1 q2 q9 #  L x,R xR R x,R = R xR q4 q7 q3 q5 # R xR = R - R accept q6 - - - #     =     start

  45. 1.1.e4 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 L = L x L L = L x L - L R R = R - L # R start q1 q2 q9 #  L x,R xR R x,R = R xR q4 q7 q3 q5 # R xR = R - R accept q6 - - - #     =     q1

  46. 1.1.e4 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 L = L x L L = L x L - L R R = R - L # R start q1 q2 q9 #  L x,R xR R x,R = R xR q4 q7 q3 q5 # R xR = R - R accept q6 - - - #     =     q1

  47. 1.1.e4 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 L = L x L L = L x L - L R R = R - L # R start q1 q2 q9 #  L x,R xR R x,R = R xR q4 q7 q3 q5 # R xR = R - R accept q6 - - - #     =     q1

  48. 1.1.e4 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 L = L x L L = L x L - L R R = R - L # R start q1 q2 q9 #  L x,R xR R x,R = R xR q4 q7 q3 q5 # R xR = R - R accept q6 - - - #     =     q1

  49. 1.1.e4 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 L = L x L L = L x L - L R R = R - L # R start q1 q2 q9 #  L x,R xR R x,R = R xR q4 q7 q3 q5 # R xR = R - R accept q6 - - - #     =     q1

  50. 1.1.e4 Giorgi JaparidzeTheory of Computability Designing TM: Example 1 L = L x L L = L x L - L R R = R - L # R start q1 q2 q9 #  L x,R xR R x,R = R xR q4 q7 q3 q5 # R xR = R - R accept q6 - - - #     =     q2

More Related