CS200: Computer Science, Spring 2002
|
Notes: 15 April 2002
Schedule
- Now: Problem Set 8 (Proposals)
- Monday, 22 April: Problem Set 8 (Progress Meetings)
- Monday, 29 April: Problem Set 8 (Final)
Models of Computation What is a model?
What do we need to model computation?
Finite State Machine
FSM ::= <Alphabet, States, InitialState, HaltingStates, TransitionRules>
Alphabet ::= { Symbol* }
A set of symbols for the input.
States ::= { StateName* }
InitialState ::= StateName
Must be one of the states in States.
HaltingStates ::= { StateName* }
Must all be states in States.
TransitionRules ::= { TransitionRule* }
TransitionRule ::= < StateName, Symbol, StateName>
StateName X Symbol → StateName
Turing Machine
TM ::= <Alphabet, Tape, TFSM>
Alphabet ::= { Symbol*}
A set of symbols for the tape.
Tape ::= < LeftSide, OneSquare, RightSide >
OneSquare ::= Symbol | #
LeftSide ::= [ Squares* ]
Everything to left of LeftSide is #. RightSide ::= [ Squares* ]
Everything to right of RightSide is #. Squares ::= OneSquare, Squares
Squares ::=TFSM ::= <States, InitialState, HaltingStates, TransitionRules>
Like a FSM, except the transition rules write to the tape and move the tape head.States ::= { StateName* }
InitialState ::= StateName
Must be one of the states in States.
HaltingStates ::= { StateName* }
Must all be states in States.
TransitionRules ::= { TransitionRule* }
TransitionRule ::= < StateName, OneSquare, StateName, OneSquare, Direction>
StateName X OneSquare → StateName X OneSquare X DirectionUniversal Turing Machine
A Turing Machine that can simulate any other Turing Machine on an input.
TMU (P, I) = the output of running TM-P on input I
Links
- Manchester Illuminated Universal Turing Machine (Turing Machine Art)
- Marvin Minsky's 4-symbol, 7-state Universal Turing Machine is not on the web, but you can read his Turing Award Lecture
- Turing Machines (animations)
University of Virginia Department of Computer Science CS 200: Computer Science |
David Evans evans@virginia.edu Using these Materials |