0% found this document useful (0 votes)
24 views

Unit 1 TOC 1

Full notes of TOC unit 1

Uploaded by

outofmindsp
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Unit 1 TOC 1

Full notes of TOC unit 1

Uploaded by

outofmindsp
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 34

LNCT College of Technology,

Bhopal
Department of Computer Science & Engineering
INSTITUTE VISION- DEPARTMENT VISION-
To be a premier institute where engineering education and research converge to produce To produce competent computer manpower to cater the need of technical challenges in industry,
engineers as responsible citizens. research and academics, with the sense of service to the humanity and the nation.

INSTITUTE MISSION- DEPARTMENT MISSION-


1.To improve continually in the teaching-learning process by strengthening infrastructural 1.To provide best possible educational facilities for teaching & learning process to computer
facilities and faculty credentials . science and engineering students for building a promising career.
2.To undertake interdisciplinary research and development by engaging the faculty and 2.To create ambient environment in which core competency in the field of computer science and
students in curricular, co-curricular and industry collaborated projects towards problem engineering along with research can be strengthened.
solving. 3.To organize conferences, seminars and hands on training programs to expose/train students,
3.To enhance proportion of skilled based courses beyond curriculum to create more staff and faculties with current technological developments, in the field of Computer Science and
employable graduates. Engineering.
4.To inculcate human values, ethics, patriotism and responsibility in our outgoing 4.To encourage the students to become self-motivated, to take up responsibility and work with
engineers by providing conducive environment ethical and moral values

Course: Theory of Computation


Course Code: CS 501
Section- CSE V
Faculty : Prof. Susheel K. Gupta
Theory of Computation
Computation
• Computation is a general term for any type of
information processing that can be represented as an
algorithm precisely (mathematically).
Computation
• Computation is a general term for any type of
information processing that can be represented as an
algorithm precisely (mathematically).
Examples:
• Adding two numbers in our brains, on a piece of
paper or using a calculator.
Computation
• Computation is a general term for any type of
information processing that can be represented as an
algorithm precisely. (mathematically)
Examples:
• Adding two numbers in our brains, on a piece of
paper or using a calculator.
• Converting a decimal number to its binary
presentation or vise versa.
Computation
• Computation is a general term for any type of
information processing that can be represented as an
algorithm precisely (mathematically).
Examples:
• Adding two numbers in our brains, on a piece of
paper or using a calculator.
• Converting a decimal number to its binary
presentation or vise versa.
• Finding the greatest common divisors of two
numbers.
• …
Theory of Computation
• A very fundamental and traditional branch of
Theory of Computation seeks:
Theory of Computation
• A very fundamental and traditional branch of
Theory of Computation seeks:
1. A more tangible definition for the intuitive
notion of algorithm which results in a more
concrete definition for computation.
Theory of Computation
• A very fundamental and traditional branch of
Theory of Computation seeks:
1. A more tangible definition for the intuitive
notion of algorithm which results in a more
concrete definition for computation.
2. Finding the boundaries (limitations) of
computation.
Understanding
• In 1930 Alean Turing Ask a question that
whether all mathematical problem can be
solved by computer in a systematic way?
• At that time computer was in research &
development , and he was also served for
development of computer.
Findings
• After some time he found that all problems
can not be solved by the model of computer.
• Computer can never be found that an
arbitrary statement is True of False.
• Problem
– Solvable
– Unsolvable
Basic Role
• What are the fundamental capabilities &
Limitation of computer is a subject matter of
Theory of Computation.
• Theory of Computation can be divided in three
part
– Complexity Theory
– Computability Theory
– Automata Theory
Complexity Theory
• Classify Problems according to their degree of
difficulty.
– Easy
– Hard
What make a computational problem easy or hard?
Think ?
Algorithm
• A finite sequence of simple instructions that is
guaranteed to halt in a finite amount of time.
Algorithm
• A finite sequence of simple instructions that is
guaranteed to halt in a finite amount of time.
• This is a very abstract definition, since:
– We didn’t specify the nature of this simple
instructions.
• For example an instruction can be “increment a
number by one” or “Calculate the triple integral”
Algorithm
• A finite sequence of simple instructions that is
guaranteed to halt in a finite amount of time.
• This is a very abstract definition, since:
– We didn’t specify the nature of this simple
instructions.
• For example an instruction can be “increment a number
by one” or “Calculate the triple integral”
– We didn’t specify the entity which can execute these
instructions.
Algorithm
• The criteria of an algorithm
• Input: Zero or more inputs are externally supplied to the
algorithm.
• Output: At least one output is produced by an algorithm.
• Definiteness: Each instruction is clear and unambiguous.
• Finiteness: In an algorithm, it will be terminated after a
finite number of steps for all different cases.
• Effectiveness: Each instruction must be very basic, so the
purpose of those instructions must be very clear to us.
Algorithm
• Analysis of algorithms
Algorithm analysis is an important part of
computational complexities. The complexity theory
provides the theoretical estimates for the resources
needed by an algorithm to solve any computational
task. Analysis of the algorithm is the process of
analyzing the problem-solving capability of the
algorithm in terms of the time and size required.
However, the main concern of the analysis of the
algorithm is the required time or performance.
Algorithm
• Complexities of an Algorithm
• The complexity of an algorithm computes the
amount of time and spaces required by an
algorithm for an input of size (n). The
complexity of an algorithm can be divided into
two types. The time complexity and the space
complexity.
Algorithm
• Time Complexity of an Algorithm
• The time complexity is defined as the process
of determining a formula for total time
required towards the execution of that
algorithm. This calculation is totally
independent of implementation and
programming language.
Algorithm
• Space Complexity of an Algorithm
• Space complexity is defining as the process of
defining a formula for prediction of how much
memory space is required for the successful
execution of the algorithm. The memory space
is generally considered as the primary
memory.
Computability Theory
• Classify Problem as being solvable or
Unsolvable.
• Solvable- Those have algorithm to solve
• Unsolvable- Those don’t have a algorithm
• It is a temporary state and any other state of
time that problem can be solved by other .
Computability Theory
• Computability is the ability to solve a problem
in an effective manner.
• It is a key topic of the field of computability
theory within mathematical logic and
the theory of computation within computer
science.
• The computability of a problem is closely
linked to the existence of an algorithm to
solve the problem.
Computability Theory
• Computable Problems –
You are familiar with many problems (or
functions) that are computable (or decidable),
meaning there exists some algorithm that
computes an answer (or output) to any instance
of the problem (or for any input to the function)
in a finite number of simple steps. A simple
example is the integer increment operation:
• f(x) = x + 1
Computability Theory
• Non-Computable Problems –
A non-computable is a problem for which
there is no algorithm that can be used to solve
it. Most famous example of a non-
computablity (or undecidability) is the Halting
Problem. Given a description of a Turing
machine and its initial input, determine
whether the program, when executed on this
input, ever halts (completes).
Automata Theory
• The automata theory gives an idea about what
procedure to be followed to find that problem
can be computable/ Solvable or not with the
help of some graphical machine format called
automata machines.
• These machine are of different types
depending upon the nature of problem.
Automata Theory
• Before learning Automata, you should have a
basic understanding of string, language,
alphabets, symbols.
Automata Theory
• Theory of automata is a theoretical branch of
computer science and mathematical. It is the
study of abstract machines and the
computation problems that can be solved
using these machines. The abstract machine is
called the automata.
Automata Theory
• The main motivation behind developing the
automata theory was to develop methods to
describe and analyse the dynamic behaviour
of discrete systems.
Automata Theory
• This automaton consists of states and
transitions. The State is represented by circles,
and the Transitions is represented by arrows.
• Automata is the kind of machine which takes
some string as input and this input goes
through a finite number of states and may
enter in the final state.
Automata Theory
• There are the basic terminologies that are important
and frequently used in automata:
• Symbols:
• Symbols are an entity or individual objects, which can
be any letter, alphabet or any picture.
• Example:
• 1, a, b, #
• Alphabets:
• Alphabets are a finite set of symbols. It is denoted by
∑.
Automata Theory
• ∑ = {a, b}

• ∑ = {A, B, C, D}

• ∑ = {0, 1, 2}

• ∑ = {0, 1, ....., 5]

• ∑ = {#, β, Δ}
Automata Theory
• String:
• It is a finite collection of symbols from the alphabet.
The string is denoted by w.
• Example 1:
• If ∑ = {a, b}, various string that can be generated from ∑
are {ab, aa, aaa, bb, bbb, ba, aba.....}.
• A string with zero occurrences of symbols is known as
an empty string. It is represented by ε.
• The number of symbols in a string w is called the length
of a string. It is denoted by |w|.
THANK YOU

You might also like