Your SlideShare is downloading. ×
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Computer Science Fundamentals - Turing Machines
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Computer Science Fundamentals - Turing Machines

1,045

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,045
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
43
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ComputerScienceFoundationsTuring Machine EditionJason DewGeezeo / Catamorphic Labs
  • 2. AlanTuring
  • 3. Entscheidungsproblem David Hilbert
  • 4. Alphabetany set of symbolsexamples:● {a, b, c, d, ..., z}● {0, 1, 2, 3, ..., 9}● {0, 1}
  • 5. Stringsequence of symbols from the alphabetexamples:● foobar● 0101001● (empty string)
  • 6. Formal Languageany set of strings over an alphabetexamples:● {foo, bar, baz}● {00, 01, 10, 11}● {b, ab, aab, aaab, aaaab, ... }
  • 7. DeterministicFinite Automata http://15mmvsf.bagofmice.com/vsf/prev_robot.htm
  • 8. Formal Definition● an alphabet● a set of states ○ one denoted as a "starting state" ○ one or more denoted as "accepting states"● a transition function ○ takes a symbol and a state and returns a new state
  • 9. DFA acceptingmultiples of 3
  • 10. NondeterministicFinite Automata
  • 11. Formal Definition● an alphabet● a set of states ○ one denoted as a "starting state" ○ one or more denoted as "accepting states"● a transition function ○ takes a symbol and a state and returns zero or more states
  • 12. Example NFA
  • 13. Theorem Any NFA can be converted into an equivalent DFA.
  • 14. Regular Language Any language which can be recognized by some finite automaton.
  • 15. Regular Expressions
  • 16. Theorem A language is regular if and only if some regular expression describes it.
  • 17. Turing machines
  • 18. Formal Definition (slightly simplified)● two alphabets ○ one for reading, the input alphabet ○ one for writing, the output (or tape) alphabet● a set of states ○ one starting state ○ one accepting state ○ one rejecting state● a transition function takes a symbol and a state and returns a new state, a symbol to write, and Left or Right
  • 19. Example TMLets call it MIt accepts strings whose length is a power of 2Accepted strings: "0", "00", "0000"Rejected strings: "", "000", "000000"
  • 20. A description of M Attribution: Sipser, Figure 3.8
  • 21. Running on "00" tape state .00_ q1 _.0_ q2 _x._ q3 _.x_ q5 ._x_ q5 _.x_ q2 _x._ q2 _x_. qaccept
  • 22. Running on "0000"tape state.0000_ q1 tape state_.000_ q2 _.x0x_ q2_x.00_ q3 _x.0x_ q2_x0.0_ q4 _xx.x_ q3 tape state_x0x._ q3 _xxx._ q3 _.xxx_ q2_x0.x_ q5 _xx.x_ q5 _x.xx_ q2_x.0x_ q5 _x.xx_ q5 _xx.x_ q2_.x0x_ q5 _.xxx_ q5 _xxx._ q2._x0x_ q5 ._xxx_ q5 _xxx_. qaccept
  • 23. Wrapping upWhy do we care about Turing machines?
  • 24. ReferencesDeterministic finite automaton. (2012, March 11). Retrieved from http://en.wikipedia.org/wiki/Deterministic_finite_automatonNondeterministic finite automaton. (2012, April 20). Retrieved from http://en.wikipedia.org/wiki/Nondeterministic_finite_automatonPetzold, C. (2008). The annotated turing. Indianapolis: Wiley Publishing, Inc.Sipser, M. (2006). Introduction to the theory of computation. (2nd ed.). Boston:Thompson Course Technology.Turing machine. (2012, April 17). Retrieved from http://en.wikipedia.org/wiki/Turing_machine
  • 25. Come work with me!

×