Upcoming SlideShare
×

# Computer Science Fundamentals - Turing Machines

1,166
-1

Published on

Published in: Technology
4 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total Views
1,166
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
45
0
Likes
4
Embeds 0
No embeds

No notes for slide

### Computer Science Fundamentals - Turing Machines

1. 1. ComputerScienceFoundationsTuring Machine EditionJason DewGeezeo / Catamorphic Labs
2. 2. AlanTuring
3. 3. Entscheidungsproblem David Hilbert
4. 4. Alphabetany set of symbolsexamples:● {a, b, c, d, ..., z}● {0, 1, 2, 3, ..., 9}● {0, 1}
5. 5. Stringsequence of symbols from the alphabetexamples:● foobar● 0101001● (empty string)
6. 6. Formal Languageany set of strings over an alphabetexamples:● {foo, bar, baz}● {00, 01, 10, 11}● {b, ab, aab, aaab, aaaab, ... }
7. 7. DeterministicFinite Automata http://15mmvsf.bagofmice.com/vsf/prev_robot.htm
8. 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. 9. DFA acceptingmultiples of 3
10. 10. NondeterministicFinite Automata
11. 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. 12. Example NFA
13. 13. Theorem Any NFA can be converted into an equivalent DFA.
14. 14. Regular Language Any language which can be recognized by some finite automaton.
15. 15. Regular Expressions
16. 16. Theorem A language is regular if and only if some regular expression describes it.
17. 17. Turing machines
18. 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. 19. Example TMLets call it MIt accepts strings whose length is a power of 2Accepted strings: "0", "00", "0000"Rejected strings: "", "000", "000000"
20. 20. A description of M Attribution: Sipser, Figure 3.8
21. 21. Running on "00" tape state .00_ q1 _.0_ q2 _x._ q3 _.x_ q5 ._x_ q5 _.x_ q2 _x._ q2 _x_. qaccept
22. 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. 23. Wrapping upWhy do we care about Turing machines?
24. 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. 25. Come work with me!
1. #### A particular slide catching your eye?

Clipping is a handy way to collect important slides you want to go back to later.