Lect-1
Lect-1
Formal Languages
1
What is Automata Theory?
! Study of abstract (existing in thoughts or as an
idea) 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
2
(A pioneer of automata theory)
3
Theory of Computation: A
Historical Perspective
1930s • Alan Turing studied 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
4
Languages & Grammars
! Languages: “A language is a
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)
6
The Central Concepts of
Automata Theory
7
Alphabet
An alphabet is a finite, non-empty set of symbols
! We use the symbol ∑ (sigma) to denote an
alphabet
! Examples:
! Binary: ∑ = {0,1}
! All lower case letters: ∑ = {a,b,c,..z}
! Alphanumeric: ∑ = {a-z, A-Z, 0-9}
! DNA molecule letters: ∑ = {a,c,g,t}
! …
8
Strings
A string or word is a finite sequence of symbols
chosen from ∑
! Empty string is ε (or “epsilon”)
9
Powers of an alphabet
Let ∑ be an alphabet.
! ∑* = ∑0 U ∑1 U ∑2 U …
! ∑+ = ∑1 U ∑2 U ∑3 U …
10
Languages
L is 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?
12
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)
13
Finite Automata : Examples
action
! On/Off switch state
16
Deductive Proofs
• A deductive proof consists of a sequence of statement whose truth leads us from some
initial statement (hypothesis or given statements) to a conclusion statement.
• Each step of a deductive proof MUST follow from a given fact or previous statements
(or their combinations) by an accepted logical principle.
• Theorem to be proved:
If x is the sum of the squares of four positive integers, then 2x ≥ x2
Hypothesis Conclusion
Statement Justification
1. If x ≥ 4, then 2x ≥ x2 Given theorem
2. x = a2 + b2 + c2 + d2 Given
3. a ≥ 1 b≥1 c≥1 d≥1 Given
4. a2 ≥ 1 b2 ≥ 1 c2 ≥ 1 d2 ≥ 1 From (3) and principle of arithmetic
5. x ≥ 4 From (2), (4) and principle of arithmetic
6. 2x ≥ x2 From (1) and (5)
28
On Theorems, Lemmas and Corollaries
We typically refer to:
! A major result as a “theorem”
! An intermediate result that we show to prove a larger result as a
“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.
19
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”
20
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
21
Proving techniques…
! By counter-example
! Show an example that disproves the claim
22
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
23
Proof of an iff Theorem
Let x be a real number. Then x = x if and only if x is an integer.
If-Part:
• Given that x is an integer.
• By definitions of ceiling and floor operations. x = x and x = x
• Thus, x = x .
Only-If-Part:
• Given that x = x
• By definitions of ceiling and floor operations. x ≤ x and x ≥ x
• Since given that x = x , x ≤ x and x ≥ x
• By the properties of arithmetic inequalities, x = x
• Since x is always an integer, x MUST be integer too.
counterexample
! If and only if
25