1 IntroToAutomataTheory
1 IntroToAutomataTheory
Subject Code:
Module-1,Lecture-1
Topic: Introduction to Formal Language & Automata Theory
1
Introduction to Automata
Theory
Reading: Chapter 1
2
What is Automata Theory?
Study of abstract computing devices, or
“machines”
Automaton = an abstract computing device
Note: A “device” need not even be a physical
hardware!
A fundamental question in computer science:
Find out what different models of machines can do
and cannot do
The theory of computation
Computability vs. Complexity
3
(A pioneer of automata theory)
4
Theory of Computation: A
Historical Perspective
1930s • Alan Turing studies Turing machines
• Decidability
• Halting problem
1940-1950s • “Finite automata” machines studied
• Noam Chomsky proposes the
“Chomsky Hierarchy” for formal
languages
1969 Cook introduces “intractable” problems
or “NP-Hard” problems
1970- Modern computer science: compilers,
computational & complexity theory evolve
5
Languages & Grammars
Languages: “A language is a
Or “words”
collection of sentences of finite
length all constructed from a
finite alphabet of symbols”
Grammars: “A grammar can
be regarded as a device that
enumerates the sentences of a
language” - nothing more,
nothing less
Regular Context-
(DFA) Context-
free Recursively-
sensitive
(PDA) enumerable
(LBA)
(TM)
7
The Central Concepts of
Automata Theory
8
Alphabet
An alphabet is a finite, non-empty set of
symbols
Notation: We use the symbol ∑ (sigma) to denote an alphabet
Examples:
Binary: Binary alphabet {0,1}, ∑ = {0,1}
…
11
Binary relations on strings
1) Prefix - u is a prefix of v if there is a w such that
v = uw.
Examples:
ε is a prefix of 0 since 0 = ε 0
apple is a prefix of appleton since appleton = apple.ton
2) Suffix - u is a suffix of v if there is a w such that
v = wu.
Examples:
0 is a suffix of 0 since 0 ε = ?
ton is a suffix of appleton since ?
12
Binary relations (contd.)
Substring - u is a substring of v if there are x and y
such that v = xuy.
Examples:
let is a substring of appleton since appleton =
app.let.on
0 is a substring of 0 since 0 = epsilon.0.epsilon
13
Powers of an alphabet
Language over alphabet - a set of strings over .
Notation: L.
Examples:
{0, 00, 000, ...} is an "infinite" language over the
binary alphabet.
{a, b, c} is a "finite" language over the English
alphabet.
Let ∑ be an alphabet.
∑k = the set of all strings of length k
∑* = ∑0 U ∑1 U ∑2 U …
∑+ = ∑1 U ∑2 U ∑3 U …
14
Languages
L is a said to be a language over alphabet ∑, only if L ∑*
this is because ∑* is the set of all strings (of all possible
length including 0) over the given alphabet ∑
Examples:
1. Let L be the language of all strings consisting of n 0’s
followed by n 1’s:
L = {, 01, 0011, 000111,…}
2. Let L be the language of all strings of with equal number of
0’s and 1’s:
L = {, 01, 10, 0011, 1100, 0101, 1010, 1001,…}
Canonical ordering of strings in the language
Example:
Let w = 100011
Q) Is w the language of strings with
equal number of 0s and 1s?
16
Finite Automata
Some Applications
Software for designing and checking the behavior
of digital circuits
Lexical analyzer of a typical compiler
Software for scanning large bodies of text (e.g.,
web pages) for pattern finding
Software for verifying systems of all types that
have a finite number of states (e.g., stock market
transaction, communication/network protocol)
17
Finite Automata : Examples
action
On/Off switch state
20
Deductive Proofs
From the given statement(s) to a conclusion
statement (what we want to prove)
Logical progression by direct implications
“lemma”
A result that follows from an already proven result as a
“corollary”
An example:
Theorem: The height of an n-node binary
tree is at least floor(lg n)
Lemma: Level i of a perfect binary tree has
2i nodes.
Corollary: A perfect binary tree of height h
has 2h+1-1 nodes.
23
Quantifiers
“For all” or “For every”
Universal proofs
Notation=
“There exists”
Used in existential proofs
Notation=
Implication is denoted by =>
E.g., “IF A THEN B” can also be written as “A=>B”
24
Proving techniques
By contradiction
Start with the statement contradictory to the given
statement
E.g., To prove (A => B), we start with:
(A and ~B)
… and then show that could never happen
By induction
(3 steps) Basis, inductive hypothesis, inductive step
By contrapositive statement
If A then B ≡ If ~B then ~A
25
Proving techniques…
By counter-example
Show an example that disproves the claim
26
Different ways of saying the same
thing
“If H then C”:
i. H implies C
ii. H => C
iii. C if H
iv. H only if C
v. Whenever H holds, C follows
27
“If-and-Only-If” statements
“A if and only if B” (A <==> B)
(if part) if B then A ( <= )
(only if part) A only if B ( => )
(same as “if A then B”)
“If and only if” is abbreviated as “iff”
i.e., “A iff B”
Example:
Theorem: Let x be a real number. Then floor of x =
ceiling of x if and only if x is an integer.
Proofs for iff have two parts
One for the “if part” & another for the “only if part”
28
Application of FLAT / TC
29
Summary
Automata theory & a historical perspective
Chomsky hierarchy
Finite automata
Alphabets, strings/words/sentences, languages
Membership problem
Proofs:
Deductive, induction, contrapositive, contradiction,
counterexample
If and only if
30