WELLCOME
TO MY
PRESENTATION
Sanjib Halder
February 19 2025
Department of computer science
BIBLIOGRAPHY Hopcroft, J. E., Motwani, R., & Ullman, J. D.
(2006). Introduction to Automata Theory,
Languages, and Computation. Pearson.
Sipser, M. (2012). Introduction to the Theory of
Computation. Cengage Learning.
Sudkamp, T. A. (2006). Languages and Machines:
An Introduction to the Theory of Computer Science.
Pearson.
Lewis, H. R., & Papadimitriou, C. H. (1998).
Elements of the Theory of Computation. Prentice
Hall.
03/22/2025 2
01 INTRODUCTION
The Theory of Computing
explores the fundamental principles
of computation, including automata,
formal languages, computability,
and complexity. It studies what
problems can be solved by
computers, how efficiently they can
be solved, and the mathematical
models that define computation.
03/22/2025 3
02 TOPICS
Formal
Finite Grammar Regular
Automata. and Language.
Languages.
Context-
Pushdown Turing
Free
Automata. Machine.
Language.
03 FINITE AUTOMATA
Definition – A Finite Automaton (FA) is a
mathematical model of computation that processes
input strings using a finite number of states.
Types – It includes Deterministic Finite Automata
(DFA) and Nondeterministic Finite Automata (NFA).
Function – FA accepts or rejects input based on state
transitions.
Applications – Used in text search, lexical analysis, and
pattern recognition.
5
04 TYPES OF FINITE AUTOMATA
Deterministic Finite Automaton (DFA)
EACH INPUT LEADS TO A SINGLE, UNIQUE
STATE TRANSITION. NO AMBIGUITY IN STATE
TRANSITION
Nondeterministic Finite Automaton
(NFA)
An input can lead to multiple possible state
transitions, including epsilon moves
03/22/2025 6
05 FORMAL GRAMMAR AND LANGUAGES.
Definition – A formal grammar defines rules for
generating strings in a language.
Components – Consists of terminals, non-terminals,
production rules, and a start symbol.
Types – Includes Regular, Context-Free, Context-
Sensitive, and Unrestricted grammars.
Applications – Used in programming languages,
compilers, and natural language processing.
03/22/2025 7
06 COMPONENTS OF FORMAL GRAMMAR AND
LANGUAGES
Terminals (Σ)
The basic symbols of the language (e.g., letters, digits).
Non-terminals
(V)
Symbols representing groups of strings, used in production rules.
Production Rules
(P)
Rules that define how symbols can be replaced or derived.
Start Symbol (S)
The initial non-terminal from which derivations begin.
03/22/2025 8
07
REGULAR LANGUAGE.
Definition – A regular language is a type of formal
language that can be recognized by a finite automaton.
Representation – It can be expressed using regular
expressions and finite automata.
Closure Properties – Closed under union,
concatenation, and Kleene star.
Applications – Used in compilers, pattern matching,
and text processing.
08
CLOSURE PROPERTIES
Definition Regular Languages Usefulness
Application
Closure properties Regular languages Helps in proving
Used in compiler
describe are closed under whether a language
design, pattern
operations under union, is regular without
matching, and
which a class of intersection, constructing
formal language
languages remains complement, automata.
analysis.
within the same concatenation,
class. and Kleene star.
03/22/2025 10
CONTEXT-FREE LANGUAGE.
09
Definition – A Context-Free Language (CFL) is a
language generated by a Context-Free Grammar
(CFG), consisting of recursive production rules.
Recognition – CFLs are recognized by Pushdown
Automata (PDA).
Structure – Supports nested and recursive structures.
Applications – Used in programming languages,
parsers, and XML processing.
11
PUSHDOWN AUTOMATA.
10
Definition – A Pushdown Automaton (PDA) is an
automaton with a stack, allowing it to handle context-
free languages.
Components – Consists of states, input tape, stack, and
transition functions.
Types – Deterministic (DPDA) and Nondeterministic
(NPDA).
Applications – Used in parsing, syntax analysis, and
programming languages.
TYPES OF PUSHDOWN AUTOMATA
11 Deterministic Nondeterministic
Pushdown Pushdown Automaton
Automaton (DPDA) (NPDA)
For each state and Allows multiple possible
input, there is at most moves for the same
one possible move. input, making it more
Used in simple parsing powerful. Used in
tasks like deterministic parsing complex
context-free languages. languages like natural
and programming
languages.
TURING MACHINE.
12
Definition – A Turing Machine (TM) is a theoretical
model of computation that manipulates symbols on an
infinite tape using a set of rules.
Components – It consists of a tape, head, states,
and transition function.
Function – It reads, writes, and moves on the tape to
process input.
Applications – Used to define computability, algorithm
design, and complexity theory.
13 THANK YOU
Thank you for your time and attention! I hope this
presentation provided valuable insights into the Theory of
Computing and its significance.