1 / 143

Chapter Seventeen: Computability

Chapter Seventeen: Computability.

Download Presentation

Chapter Seventeen: Computability

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. Chapter Seventeen:Computability

  2. Computability is the mysterious border of our realm. Within the border is our neatly ordered kingdom, occupied by solvable problems. These problems range from the trivially simple to the hideously complicated, but all are algorithmically solvable given unbounded time and resources. The shape of this border was first clearly perceived in the 1930s.

  3. Outline 17.1 Turing-Computable Functions 17.2 TM Composition 17.3 TM Arithmetic 17.4 TM Random Access 17.5 Functions And Languages 17.6 The Church-Turing Thesis 17.7 TM and Java Are Interconvertible 17.8 Infinite Models, Finite Machines

  4. Turing Computability • Consider any total TM • Ignore final state, and consider final tape • Viewed this way, a total TM computes a function with string input and string output • A function f: * * is Turing-computable if and only if there is some total TM M such that for all x*, if M starts with x on the tape, M halts with f(x) on the tape

  5. Bitwise and • Like Java's x&y • But allow arbitrarily long strings of bits • First, assume "stacked" inputs: • So, for example, • The and function is Turing computable…

  6. TM Computing and • One left-to-right pass, overwriting each stacked pair with the bitwise and of that pair • Halts at the end (no transition on B) • L(M) = {}, but we're not interested in the language it defines • It computes our and function

  7. Outline 17.1 Turing-Computable Functions 17.2 TM Composition 17.3 TM Arithmetic 17.4 TM Random Access 17.5 Functions And Languages 17.6 The Church-Turing Thesis 17.7 TM and Java Are Interconvertible 17.8 Infinite Models, Finite Machines

  8. The stacker function • Specifying stacked inputs made add very easy • What if the two inputs are linear: two plain binary numbers with a separator between? • Simple: we first convert to stacked form • Define stacker to be the function that takes a string with two binary inputs separated by #, and returns the equivalent stacked form • For example, • (If one is shorter than the other, 0-extend it on the left) • This stacker function is Turing computable…

  9. stacker

  10. … B 1 0 # 1 0 1 B stacker(10#101)

  11. … B 1 0 # 1 0 1 B stacker(10#101)

  12. … B 1 0 # 1 0 1 B stacker(10#101)

  13. … B 1 0 # 1 0 1 B stacker(10#101)

  14. … B 1 0 # 1 0 1 B stacker(10#101)

  15. … B 1 0 # 1 0 1 B stacker(10#101)

  16. … B 1 0 # 1 0 1 B stacker(10#101)

  17. … B 1 0 # 1 0 1 B stacker(10#101)

  18. … B 1 0 # 1 0 B B stacker(10#101)

  19. … B 1 0 # 1 0 B B stacker(10#101)

  20. … B 1 0 # 1 0 B B stacker(10#101)

  21. … B 1 0 # 1 0 B B stacker(10#101)

  22. … B 1 # 1 0 B B stacker(10#101)

  23. … B 1 # 1 0 B B stacker(10#101)

  24. … B 1 # 1 0 B B stacker(10#101)

  25. … B 1 # 1 0 B B stacker(10#101)

  26. … B 1 # 1 0 B B stacker(10#101)

  27. … B 1 # 1 B B B stacker(10#101)

  28. … B 1 # 1 B B B stacker(10#101)

  29. … B 1 # 1 B B B stacker(10#101)

  30. … B 1 # 1 B B B stacker(10#101)

  31. … B # 1 B B B stacker(10#101)

  32. … B # 1 B B B stacker(10#101)

  33. … B # 1 B B B stacker(10#101)

  34. … B # 1 B B B stacker(10#101)

  35. … B # 1 B B B stacker(10#101)

  36. … B # B B B B stacker(10#101)

  37. … B # B B B B stacker(10#101)

  38. … B # B B B B stacker(10#101)

  39. … B # B B B B stacker(10#101)

  40. … B # B B B B stacker(10#101)

  41. … B # B B B B stacker(10#101)

  42. … B # B B B B stacker(10#101)

  43. … B # B B B B stacker(10#101)

  44. … B # B B B B stacker(10#101)

  45. … B B B B B B stacker(10#101)

  46. … B B B B B B stacker(10#101)

  47. … B B B B B B stacker(10#101)

  48. … B B B B B B stacker(10#101)

  49. … B B B B B B stacker(10#101)

  50. Composition • The stacker machine leaves the head at the left end of the stacked input • That's just what and wants • So we can make a machine for the function linearAnd(y) = and(stacker(y)) • Just use the start state of the and machine in place of the final state of the stacker machine

More Related