The document discusses the theory of computation, which deals with whether and how efficiently problems can be solved using algorithms and mathematical models of computation. It is divided into three main branches: automata theory, computability theory, and computational complexity theory. The most commonly examined model of computation is the Turing machine. Automata theory studies abstract machines and the problems that can be solved using finite state automata. Compiler design and parsing are applications of automata theory. Compilers translate programs written in a source language into equivalent programs in a target language that can be executed by a computer.
1. Dr. Lothe Savita A.
Department of Computer Science
Vasantrao Naik Mahavidyalaya, Aurangabad.
2. + In theoretical computer science, the theory of
computation is the branch that deals with
whether and how efficiently problems can be
solved on a model of computation, using ansolved on a model of computation, using an
algorithm.
+ The field is divided into three major branches:
automata theory, computability theory and
computational complexity theory.
2Theory of Computation
3. + In order to perform a rigorous study of
computation, computer scientists work with a
mathematical abstraction of computers called
a model of computation.a model of computation.
+ There are several models in use, but the most
commonly examined is the Turing machine.
3Theory of Computation
4. + The theory of computation is a branch
of computer science and mathematics
combined that "deals with how efficiently
problems can be solved on a model ofproblems can be solved on a model of
computation, using an algorithm". It studies
the general properties of computation which
in turn, helps us increase the efficiency at
which computers solve problems.
4Theory of Computation
5. + In theoretical computer science, automata
theory is the study of abstract machines (or
more.
+ appropriately, abstract 'mathematical'+ appropriately, abstract 'mathematical'
machines or systems) and the computational
problems that can be solved using these
machines. These abstract machines are called
automata.
+ This automaton consists of states
(represented in the figure by circles),
5Theory of Computation
6. + According to its transition function (which
takes the current state and the recent symbol
as its inputs).
+ Uses of Automata: compiler design and+ Uses of Automata: compiler design and
parsing.
6Theory of Computation
8. + Automata Theory is a branch of computer
science that deals with designing abstract self-
propelled computing devices that follow a
predetermined sequence of operationspredetermined sequence of operations
automatically.
+ An automaton with a finite number of states is
called a Finite Automaton.
8Theory of Computation
11. + Before a program can be run, it first must be
translated into a form in which it can be
executed by a computer, The software systems
that do this translation are called compilers.that do this translation are called compilers.
11Theory of Computation
12. + a compiler is a program that can read a
program in one language
+ - the source language - and translate it into an
equivalent program inequivalent program in
+ another language - the target language
12Theory of Computation
13. + If the target program is an executable
machine-language program, it can
+ then be called by the user to process inputs
and produce outputs;and produce outputs;
13Theory of Computation
14. + Better diagnostics than compiler it executes
program statement by statement.
14Theory of Computation
15. + In order to perform a rigorous study of
computation, computer scientists work with a
mathematical abstraction of computers called
a model of computation.a model of computation.
+ There are several models in use, but the most
commonly examined is the Turing machine.
3Theory of Computation
17. + A source program may be divided into modules stored
in separate files. The task of collecting the source
program is sometimes entrusted to a separate
program, called a preprocessor (Macros).
+ The compiler produce an assembly-language program+ The compiler produce an assembly-language program
as its output.
+ The ALP is then processed by a program called an
assembler that produces relocatable machine code as
its output.
+ The loader then puts together all of the executable
object files into memory for execution.
17Theory of Computation