0% found this document useful (0 votes)
2 views19 pages

Unit 1

Automata theory is a branch of theoretical computer science that studies abstract mathematical machines and the computational problems they can solve. It is divided into three main areas: automata theory, computability theory, and computational complexity theory, each focusing on different aspects of computation. The theory is essential for designing and analyzing algorithms, programming languages, and compilers, with applications in areas such as compiler design and pattern matching.

Uploaded by

sujitagrahari555
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views19 pages

Unit 1

Automata theory is a branch of theoretical computer science that studies abstract mathematical machines and the computational problems they can solve. It is divided into three main areas: automata theory, computability theory, and computational complexity theory, each focusing on different aspects of computation. The theory is essential for designing and analyzing algorithms, programming languages, and compilers, with applications in areas such as compiler design and pattern matching.

Uploaded by

sujitagrahari555
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 19

Introduction of

Automata
Theory
What is TOC???
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 an algorithm.

In theoretical computer science, automata


theory is the study of abstract machines
(or more appropriately, abstract
'mathematical' machines or systems) and
the computational problems that
can be solved using these machines.
These abstract machines are called
Automata Theory
 In theory of Computation, Computation means
processing.
 Processing input towards the ouput.
 In every machine there will be a low level
calculations which we call it as Abstract
machine or a Model
 Abstract machine takeinput process it and
gives s output which cannot be seen.
 Eg. Electric Switch Model
 This abstract machine or model is called
Automata
 If this machine implements the model in a
finite number of states then it is called Finite
Automata.
The field is divided into
three major branches:
 1. Automata theory,
2. Computability theory and
3. Computational complexity
theory.
Automata theory
 It deals with the definition and
properties of various mathematical
model of computation.
 It deals with developing a model
which takes input, process it to give
an ouput.
Eg.
 Finite Automata
 Context free Language
 Turing machines
Computability theory
 It deals with what can and what cannot be
computed by the model
 It deals or checks the ability of a
computing
Computational Complexity
Theory
 Itgroups the computability
problem based on their hardness.
 Every problem will have no. of
solutions and selecting the optimal
solution among the solutions.
 Eg. NP model
Main purpose of Theory of
computation?
 To develop formal mathematical model
of computation that reflect real world
computer.
 This theory is essential in the field of
computer science as it forms the basis
for designing and analyzing algorithms,
programming languages, and compilers.
Automata theory

 This automaton consists of


 •states (represented in the figure by circles),
 •and transitions (represented by arrows).
 As the automaton sees a symbol of input, it makes a
transition (or jump) to another state,
 according to its transition function (which takes the
current state and the recent symbol as its
 inputs).
Applications

 Design of a compiler
 Pattern Matching
 Spell Check
The Central Concepts of
Automata Theory
 Symbols
 Alphabets
 Strings
 Language
Symbols

 A symbol (often also called a character) is the


smallest building block, which can be any
alphabet, letter, or picture.
Alphabets (Σ(sigma)):

 Alphabets are a set of symbols, which are


always finite.
 It is also called binary alphabet.
Strings
 A string is a finite sequence of symbols from some
alphabet. A string is generally denoted as w and the length
of a string is denoted as |w| (Mod W).
 Empty string is the string with zero occurrence of symbols,
 represented as ε(epsilon).
 Number of Strings (of length 2) that can be generated
over the alphabet {a, b}:
 a a, a b, b a, b b
 Length of String |w| = 2
 Number of Strings = 4
String:
String:
 Closure Representation in TOC:

 L+: It is a Positive Closure that represents a set of all strings


except Null or ε-strings.
 L*: It is “Kleene Closure“, that represents the occurrence of
certain alphabets for given language alphabets from zero to the
infinite number of times. In which ε-string is also included.
 From the above two statements, it can be concluded that:
 L* = εL+
String:
Language
 A language is a set of strings, chosen from some Σ* or
we can say- ‘A language is a subset of Σ* ‘. A language
that can be formed over ‘ Σ ‘ can be Finite or Infinite.
 Example of Finite Language:
 L1 = { set of string of 2 }
 L1 = { xy, yx, xx, yy }
 Example of Infinite Language:
 L1 = { set of all strings starts with 'b' }
 L1 = { babb, baa, ba, bbb, baab, ....... }

You might also like