computer science fundamentals - turing machines
Post on 11-May-2015
1.055 Views
Preview:
TRANSCRIPT
Computer Science FoundationsTuring Machine Edition
Jason DewGeezeo / Catamorphic Labs
AlanTuring
Entscheidungsproblem
DavidHilbert
Alphabetany set of symbols examples:● {a, b, c, d, ..., z}
● {0, 1, 2, 3, ..., 9}
● {0, 1}
Stringsequence of symbols from the alphabet examples:● foobar
● 0101001
● (empty string)
Formal Languageany set of strings over an alphabet examples:● {foo, bar, baz}
● {00, 01, 10, 11}
● {b, ab, aab, aaab, aaaab, ... }
DeterministicFinite Automata
http://15mmvsf.bagofmice.com/vsf/prev_robot.htm
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
DFA acceptingmultiples of 3
NondeterministicFinite Automata
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
Example NFA
Theorem
Any NFA can be convertedinto an equivalent DFA.
Regular Language
Any language whichcan be recognized by
some finite automaton.
Regular Expressions
Theorem
A language is regularif and only if
some regular expression describes it.
Turing machines
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 functiontakes a symbol and a state and returns
a new state, a symbol to write, and Left or Right
Example TMLet's call it M It accepts strings whose length is a power of 2 Accepted strings: "0", "00", "0000" Rejected strings: "", "000", "000000"
A description of M
Attribution: Sipser, Figure 3.8
Running on "00"tape state
.00_ q1
_.0_ q2
_x._ q3
_.x_ q5
._x_ q5
_.x_ q2
_x._ q2
_x_. qaccept
Running on "0000"tape state
.0000_ q1
_.000_ q2
_x.00_ q3
_x0.0_ q4
_x0x._ q3
_x0.x_ q5
_x.0x_ q5
_.x0x_ q5
._x0x_ q5
tape state
_.x0x_ q2
_x.0x_ q2
_xx.x_ q3
_xxx._ q3
_xx.x_ q5
_x.xx_ q5
_.xxx_ q5
._xxx_ q5
tape state
_.xxx_ q2
_x.xx_ q2
_xx.x_ q2
_xxx._ q2
_xxx_. qaccept
Wrapping up
Why do we care about Turing machines?
ReferencesDeterministic finite automaton. (2012, March 11). Retrieved from http://en.wikipedia.org/wiki/Deterministic_finite_automaton Nondeterministic finite automaton. (2012, April 20). Retrieved from http://en.wikipedia.org/wiki/Nondeterministic_finite_automaton Petzold, 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
Come work with me!
top related