0% found this document useful (0 votes)
123 views7 pages

CS 701 Research Paper (MS150200090)

A Turing machine is an abstract model of computation that can be used to define computable functions. It consists of a finite state control, an infinite tape divided into cells that can hold symbols, and a head that reads and writes symbols on the tape. At each step, the machine reads the symbol under the head, changes state based on its transition function, writes a symbol to the tape, and moves the head left or right. This allows it to simulate the operation of an algorithm and determine whether a function is computable or not. The Turing machine model is equivalent to other definitions of computation and is believed to be powerful enough to compute anything a real computer can.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
123 views7 pages

CS 701 Research Paper (MS150200090)

A Turing machine is an abstract model of computation that can be used to define computable functions. It consists of a finite state control, an infinite tape divided into cells that can hold symbols, and a head that reads and writes symbols on the tape. At each step, the machine reads the symbol under the head, changes state based on its transition function, writes a symbol to the tape, and moves the head left or right. This allows it to simulate the operation of an algorithm and determine whether a function is computable or not. The Turing machine model is equivalent to other definitions of computation and is believed to be powerful enough to compute anything a real computer can.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 7

A Turning Machine

MS150200090
Muhammad Saeed
CS701 Theory of
Computation

Abstract
In turning machine we have seen several abstract models of computing
devices: Deterministic Finite Automata, Nondeterministic Finite Automata, and
Nondeterministic Finite Automata with Transitions, Pushdown Automata, and
Deterministic Pushdown Automata. However, none of the above seem to be
as powerful as a real computer, right? We now turn our attention to a much
more powerful abstract model of a computing device: a Turing machine. This
model is believed to do everything that a real computer can do .
computable and what is not. The Turing

1. Introduction

Machine
Turing machines are an abstract model of
computation.

They

provide

precise,

formal definition of what it means for a


function to be computable. Many other
definitions

of

computation

have

been

with

an

infinite

amount

definitions of computation agree on what is

be

the

model of computation are:


1.

A Finite amount of internal state.

2.

An infinite amount of external data


storage.

3.

A program specified by a finite


number

of

memory | but it turns out that all known

to

The key features of the Turing machine

means to run a program in Java on a


computer

seems

simplest, which is why we present it here.

proposed over the years for example, one


could try to formalize precisely what it

definition

of

instructions

in

predefined language.
4.

Self-reference:

the

programming

language is expressive enough to

write an interpreter for its own

state,

optionally

halting

and

programs.

outputting an answer) given the

Models of computation with these

current state and the symbol the

key features tend to be equivalent

machine is currently reading.

to Turing machines, in the


sense that the distinction between
computable

and

uncomputable

functions is the same in all such


models.
A Turing machine can be thought of
as a finite state machine sitting on
an infinitely long tape containing
symbols from some finite alphabet.

Turing Machines

Based on the symbol it's currently


reading, and its current state, the
Turing

machine

writes

new

symbol in that location (possibly


the same as the previous one),

a b
b a

moves left or right or stays in


place, and enters a new state. It
may

also

decide

to

halt

and,

optionally, to output \yes" or \no"


upon

halting.

The

machine's

transition function is the \program"


that specifies each of these actions
(overwriting the current symbol,
moving left or right, entering a new

Finite State
Control

s1, s2, h1, h2

At each step, the machine


may:

(b) can never be written.

go to a new state, and


either

Notes on the Definition

write on the current square, or


move left or right

1.

A Formal Definition

The input tape is infinite to the right


(and full of ), but has a wall to the
left. Some definitions allow infinite

A Turing machine is a quintuple (K, , ,


s, H):

tape in both directions, but it doesn't


matter.

K is a finite set of states;


is an alphabet, containing at least and
, but
not or ;

2.

is a function, not a relation. So this


is a definition for deterministic Turing
machines.

s K is the initial state;


H K is the set of halting states;
is a function from:
(K - H)
to
K ( {, })
non-halting input
state action
(write
state symbol or move) such that
(a) if the input symbol is , the action is
, and

3.

Must be defined for all state, input


pairs unless the state is a halt state.

4.

Turing machines do not necessarily


halt (unlike FSM's). Why?

To

halt, they must enter a halt state.


Otherwise they loop.

5.

Turing machines generate output so

state

they can actually compute functions.

A Simple Example

input up

input after

to scanned

scanned square

square

The input after the scanned square may

A Turing Machine Odd Parity Machine:

be empty, but it may not end with a


blank. We assume the entire tape to

blanks.

K=
= 0, 1, ,
s=
H=
=

(1)
b
(2)

A configuration of a Turing machine


M = (K, , , s, H) is a member of

(1)

(q, aab, b)

(q, aabb)

(2)

(h, aabb, )

(h,

aabb)

Formalizing the Operation

the right of the input is filled with

(*( - {}))

a halting configuration.
An Example Computation

a
b
(0, aaab) |-M
(1, aaab) |-M
(2, 1aab) |-M

(3, 1aab) |-M


(3, 1aab) |-M
(3, 1aab) |-M
(4, 1aa2) |-M

Notes on Programming
The machine has a strong procedural feel.
It's very common to have state pairs, in
which the first writes on the tape and the
second move. Some definitions allow both
actions at once, and those machines will

Head moving machines


For each a {, }, define Ma,
written
R() and L():
for each b - {}, (s, b) =
(h, a)
(s, ) = (s, )

have fewer states. There are common

Examples:

idioms, like scan left until you find a blank.

R moves one square to the right

Even a very simple machine is a nuisance to

aR writes an a and then moves one

write.

square to the right.

A Notation for Turing Machines


(1) Define some basic machines

(2) The rules for combining


machines: as with FSMs

>M1

Symbol writing machines

M2

For each a - {}, define Ma,


written just a, =
({s, h}, , , s, {h}),
for each b - {}, (s,
b) = (h, a)
(s, ) = (s, )

M3
Start in the start state of M1.
Compute until M1 reaches a halt
state.
Examine the tape and take the
appropriate transition.

Example:
a writes an a

Start in the start state of the next


machine, etc.

Halt if any component reaches a


halt state and has no place to go.
If any component fails to halt, then
the entire machine may fail to halt.

numerical control, better known as CNC. (CNC is


also commonly used with many other types of
machining besides turning.)
When turning, a piece of relatively rigid material
(such as wood, metal, plastic, or stone) is rotated
and a cutting tool is traversed along 1, 2, or 3 axes

Conclusion:

of motion to produce precise diameters and depths.


Turning can be either on the outside of the cylinder

Turning is an engineering machining process in

or on the inside (also known as boring) to produce

which a cutting tool, typically a non-rotary tool bit,

tubular components to various geometries. Although

describes a helical toolpath by moving more or less

now quite rare, early lathes could even be used to

linearly while the workpiece rotates. The tool's axes

produce

of movement may be literally a straight line, or they

the platonic solids; although since the advent of

may be along some set of curves or angles, but they

CNC it has become unusual to use non-

are essentially linear (in the nonmathematical

computerized toolpath control for this purpose.

sense). Usually the term "turning" is reserved for

The turning processes are typically carried out on a

the generation of external surfaces by this cutting

lathe, considered to be the oldest machine tools, and

action, whereas this same essential cutting action

can be of four different types such as straight

when applied to internal surfaces (that is, holes, of

turning,

one kind or another) is called "boring". Thus the

turning, profiling or external grooving. Those types

phrase "turning and boring" categorizes the larger

of turning processes can produce various shapes of

family of (essentially similar) processes. The

materials

cutting of faces on the workpiece (that is, surfaces

or grooved work piece. In general, turning uses

perpendicular to its rotating axis), whether with a

simple single-point cutting tools. Each group of

turning or boring tool, is called "facing", and may

workpiece materials has an optimum set of tools

be lumped into either category as a subset.

angles which have been developed through the

Turning can be done manually, in a traditional form

years.

of lathe, which frequently requires continuous

The bits of waste metal from turning operations are

supervision by the operator, or by using an

known as chips (North America), or swarf (Britain).

automated lathe which does not. Today the most

In some areas they may be known as turnings.

common type of such automation is computer

complex

geometric

figures,

even

taper

such

as straight, conical, curved,

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy