You are on page 1of 24

Theory of computation: From abstract

model to modern day digital computer.

Presented by:

Akash Ahmed
Md. Atikuzzaman
Abid Samdany
Sharmin Sultana Ripa
Md. Ashik Haq
Contents we are going to cover:

Theory of computing: General Concepts


o Formal languages
o Automata theory
o Computability
o Computational complexity
o Applications of Theory of Computation
o Finally a problem
Turing Machine
o Components of Turing Machine
o Turing Machine Simulation
So, what is a computer?
Short History of Computer
The digital computer revolution
Computer Generations
General Concepts
Formal Languages

Formal Languages is Study of strings of symbols, including their


descriptions, properties,
generations, recognitions,
compiling, applications,
Formal Languages is strings of symbols include those of
natural languages,
computer languages,
discrete signals,
Formal Languages is results of study of automatic processing of
symbolic information
Parallel to numerical mathematical processing
Similar to the role of set theory in mathematics
General Concepts
Automata Theory
Definition ---
Study of dynamic behaviors of discrete-parameter information
systems in form of abstract computing devices or machines.

Three major models of automata ---


generator --- with output and without input
acceptor --- with input and without output
transducer --- both with input and with output

Yes or
trigger
No
signal

generator acceptor transducer


General Concepts
Automata Theory
Examples
generator ---
reception robot
(speaking organized words and sentences)
context-free grammar
(generating strings of symbols)
acceptor ---
digital lock
(accepting digits)
finite automaton
(accepting valid strings of symbols)
transducer ---
Interpreter
(translating natural languages)
Turing machine
(transforming strings of symbols)
General Concepts
Computability
Definition
Study of problem solving capabilities of computational
models.
Problem types based on resources ---
o Impossible problems
o Possible-with-unlimited-resources-but-impossible-
with-limited-resources problems
o Possible-with-limited-resources problems
Problem types based on time ---
o Undecidable problems
o Intractable problems
o Tractable problems
General Concepts
Computational complexity
Definition---

Study of efficiency of problem solving.


o To unify comparison, an abstract model is needed as the
machine for executing problem solutions.
o Usually the most famous Turing machine (an automaton) is
used.
o Turing machine, though simple, has been proved to be able to
simulate any problem solving steps (algorithms) designed
by human beings!
o Turing machine is the foundation for development of modern
computation theory!
Applications of Theory of Computation
Applications ---
Text analysis ---
text search
text editing
Compiler design
lexical analysis
parser generation
Language design
programming language design
document description language design
e.g., HTML, XML,
picture language design
e.g., SVG, VHML,
General Concepts

Finally a problem:
o Do you know how a
vending machine works?
Can you design one?
General Concepts

How to design a vending machine?

Use a finite automaton!

Assumptions (for simplicity):

Only NT 5-dollar and 10-dollar coins are used.

Only drinks all of 20 dollars are sold.


General Concepts

Requiring memory called states for the


design.
$10
$5 $5 $15

start $0 $5 $5
$10
$5

$10
$10 $10 $20

transition diagram

Notes: see next page. **


General Concepts

Notes for the last diagram:

$10 $5 is returned as output (not shown)

start $0 Start state

$20 Final state


Turing machine

The Turing machine was introduced in 1936 by Alan


M. Turing to solve computable problems, and is the
foundation of modern computers.
A Turing machine is a mathematical model of
computation that defines an abstract machine which
manipulates symbols on a strip of tape according to
a table of rules.
While both if this model appear to be different but
they can accept exactly the same language - the
recursive enumerable languages.
Components of Turing machine

1. A Tape
2. Controller
3. Read/Write Head
Components of Turing machine

Tape
The tape at any one time, holds a sequence of characters from the set of
characters accepted by the machine.
Here we assume that the machine can accept only two symbols
a) blank b) digit1.

Read/Write Head
The read/write head reads and writes one symbol at a time from the
tape and accordingly moves to right or left based on the design on the
Turing machine
Controller
The controller is the theoretical counterpart of the central processing unit
(CPU) in modern computers. It is a finite state automaton i.e., with finite
number of states.
Turing machine simulation
So, what is a computer?

A working definition:
A computer is a physical system whose:
physical states can be seen as representing elements of another
system of interest
transitions between states can be seen as operations on these
elements

Three basic steps:


1. Input data is coded into a form appropriate for physical system
2. Physical system shifts into a new state
3. Output state of system is decoded to extract results of computation
Early computing machines(Mechanical):
about 3000 BC- The abacus is invented,
probably in Babylonia

1642 - Blaise Pascal builds the first


numerical calculating machine that can
add and subtract.

1672 Gottfried Leibnitz builds and


creates a machine that can add, subtract,
multiply and divide automatically
1623 - The first gear-driven calculating
machine was built, probably the
calculating clock: so named by its
inventor, the German professor Wilhelm
Schickard

1805 - Josef-Marie Jacquard invents


perforated card for use on his loom

1890- Hermann Hollerith constructs an


electromechanical machine using
perforated cards
1822 - The English mathematician
Charles Babbage was proposing a
steam driven calculating machine the
size of a room, which he called the
Difference Engine.

1833 - Charles Baggage desings the


analytical machine that follows
instructions from punched cards
The digital computer revolution
~1850: George Boole invents Boolean algebra
Maps logical propositions to symbols
Allows us to manipulate logic statements using mathematics
1936: Alan Turing develops the formalism of Turing Machines
1945: John von Neumann proposes the stored computer program
concept
1946: ENIAC: 18,000 tubes, several hundred multiplications per minute
1947: Shockley, Brattain, and Bardeen invent the transistor
1956: Harris introduces the first logic gate
1972: Intel introduces the 4004 microprocessor
Present: <0.2 m feature sizes; processors with >20-million transistors
Computer Generations

First Generation(1941-1956)(electronic)
1941- Konrad Zuse builds the Z3 computer, the first calculating
machine with automatic control of its operations
1944- Mark I . It is relay-based computer for the U.S.Navy
1946 - ENIAC first electronic computer with 18000 vacuum tubes
and it weighed 80 tons.It could do 5000 additions and 360
multiplications per second
1951 - UNIVAC used a magnetic tape unit as a buffer memory

Second Generation(1956-1963)
By 1947, the invention of the transistor greatly changed the
computers developement.The transistor replaced the
large,unpractical vacuum tube in computers. Computers came
smaller,faster,more reliable and more energy-efficent
Computer Generations
Third Generation(1964-1971)
Integrated circuits semiconductor devices with several
transistors built into one physical component.Texas
Instrument and Fairchild both announce the integrated
circuit 1959

Fourth Generation(1971-present)
Intel 4004 chip took the integrated circuit one step
further by locating all the components of a computer
on silicon chip.Whereas previously had manufactured
to fit a special purpose, now one microprosessor could
be manufactured and programmed to meet any
number of demands.Other Intel prosessors 8008,
8086, 80286, 80386, 80486, pentium, pentium
pro,pentium II,pentium III and pentium IV.
Computer Generations

Fifth Generation(present -)
There are thousand processors or more that work parallel
processing as one processor.The most famous example
of fifth generation computer is the HAL 9000.It use
visual input, voice recognitation and learn its own
experiences.Advance superconductor technology
allows the flow of electricity with no or little
resistance, greatly improving the speed of information
flow.

You might also like