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.
TM_{U} (P, I) = the output of running TMP on input I
Links
 Manchester Illuminated Universal Turing Machine (Turing Machine Art)
 Marvin Minsky's 4symbol, 7state 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 