SRI KRISHNA INSTITUTE OF TECHNOLOGY
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
LECTURE 1.2
INTRODUCTION
Automata Theory and
Computability (17CS54)
5th Semester
Geetha Megharaj
Department of Computer Science and
Engineering
[email protected] Dept Name Subject name / code
Computer Science and Engineering 18CS54
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Recap of Previous Lecture
INTRODUCTION
Dept Name Subject name / code
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
LEARNING OBJECTIVES OF
THIS LECTURE
FUNDAMENTALS OF AUTOMATA THEORY
Dept Name Subject name / code
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
LEARNING OBJECTIVES FROM
THIS LECTURE
• In this lecture, students shall be able to understand
Applications Terminologies String
Languages
Dept Name Subject name / code
SRI KRISHNA INSTITUTE OF TECHNOLOGY
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Content to be covered in this lecture:
Applications of automata theory
Languages and Strings
Functions on Strings
Computer Science and Engineering 18CS54
SRI KRISHNA INSTITUTE OF TECHNOLOGY
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
APPLICATIONS OF AUTOMATA THEORY
Computer Science and Engineering 18CS54 Subject name / code
SRI KRISHNA INSTITUTE OF TECHNOLOGY
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Languages and Strings
Alphabet
An alphabet is a non-empty, finite set of characters or
symbols, Σ denotes an alphabet set
Examples
Σ = { a, b } , Σ = { 0, 1, 2 } , Σ = { a, b, c,…z, A, B, …
Z}
Σ = { #, $, *, @, & }
Computer Science and Engineering
18CS54
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
String : A string is a finite sequence of characters
drawn from some alphabet Σ.
ε is the empty string
Σ * is the set of all possible strings over an alphabet Σ.
Examples
Σ = {a, b}
Strings derived from Σ are…..
….. ε , a, b, aa, ab, ba, bb, aaa, aab, aba, ..
Σ = {0, 1}
Strings derived from Σ are…..
….. ε , 0, 1, 00, 01, 10, 11, 000, 001, 010, ..
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Functions on Strings
Length – to find the length of a string Operator used | |
Concatenation – to join two or more strings. Operator - s||t, or
nothing i.e. st
Replication – strings raised to some power. Operator - a3
Reversal – reverse a string
Operator - (w)R
Examples of Length of a string
•|ε|=0
• |101| = 3
• |VTU_Edusat| = 10
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Examples of Concatenation of a string
x = good, y = student
Concatenation operation x||y or xy
xy = goodstudent
Replication of a string
• a3 = aaa
• (good)3 = goodgoodgood
• a0 b3 = ε bbb = bbb
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Reversal of a string
• (abc)R = cba
• x= ab, y=cd, (xy)R = dcba
• xR yR =badc
Relation on Strings
• Substring:
• aaa is substring of aaa and also aaabbccc
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Proper substring:
A string s is a proper substring of a string t iff s is a
substring of t and s ≠t
Examples:
S = good then proper substrings are ..
..... ε, g, go, goo only
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Languages:
A language is (finite or infinite) set of strings over a
finite alphabet Σ
Example if Σ = { a } following languages can be
derived
• Language L1= {a, aaa, aaaaa, aaaaaaa,.......}
• Language L2= { ε, aa, aaaa, aaaaaa,.......}
• Language L3= {a, aaaaa, aaaaaaaaa,.......}
• Language L4= {a, aaa, a7, a9 , a13 , ....}
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Examples: (by enumeration)
Let L = {w ϵ {a, b}* : all string begin with a}
• L={a, ab, aab, abbbb, ...}
• Strings not in L are:
• {b, ba, ε, bbbbb, baaaaaa, …..}
Examples: ( defining property)
• Let L = {w ϵ {a, b}* : all string ending in a}
• L={a, aba, aaba, bbbba, ...}
• Strings not in L are:
• {b, bb, ε, bbbbb, aaaaaab, …..}
Let L = {w ϵ {a}* : |w| mod 3 =1}
• L={a, a4, a7, a+, ....}
• Strings not in L are:
• { ε , a2,a3, a5, a6, a8, a9, ....}, …..} • Example if
Σ={a}
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
L1 = { ε, a2,a4, a6, a8, a10, a12, ....} //even no of a’s
• L2 = {a1,a3, a5, a7, a9, a11, .........} //odd no of a’s
Functions on Languages.
Operations on Languages
Union, Intersection, Difference, and Complement can be applied.
Set Operations on Languages
• L2 – L1 = L2 // difference operation
• ~(L1 - L2) = L2 // complement operation
• ~(L2 – L1) = L1 // complement operation
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Concatenation of Languages
• L1 = {aa, ab}
• L2 = {xx, yy}
• L1L2={aaxx, aayy, abxx, abyy}
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Some important results
• L1 = { } =Ф
• L2 = {xx, yy}
• L1L2={}
• L Ф = ФL = Ф
• L1 = { ε }
• L2 = {xx, yy}
• L1L2=L2
•L{ε}=L{ε}=L
What is L+ ?
• L+ = LL* //assuming L does not have Ꜫ
• L+ = L* - { ε }
Example
a* = { ε , a, aa, aaa, aaaa, aaaaa, ....infinite}
a+ = a* - { ε }
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
L1 = { ε, a2,a4, a6, a8, a10, a12, ....} //even no of a’s
• L2 = {a1,a3, a5, a7, a9, a11, .........} //add no of a’s
• L1 U L2 = Σ* or { a }* // union operation
• L1 ∩ L2 = Ф or {} // intersection operation
• L1 - L2 = L1 // difference operation
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Properties
P1 : concatenation of languages is associative
• (L1L2)L3= L1(L2L3) // associative
L1={a, b} L2={c, d} L3={e, f}
L1L2={ac, ad, bc, bd}
L2L3={ce, cf, de, df}
L1(L2L3)={ace, acf, ade, adf, bce, bcf, bde, bdf}
(L1L2)L3={ace, acf, ade, adf, bce, bcf, bde, bdf}
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
P2: Concatenation of strings is not commutative
L1={a, b} L2={c, d}
L1L2={ac, ad, bc, bd}
L2L1={ca, cb, da,db}
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
P5 : Distributive Property
L1={a, b} L2={c, d} L3={e, f}
L1UL2 = {a,b,c,d,}
(L1UL2)L3 = {ae, af, be, bf, ce, cf, de, df}
L1L3 = { ac,ad,bc,bd}
L2L3 = {ce,cf,de,df}
L1L3 U L2L3 = {ac,ad,bc,bd, ce,cf,de,df}
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Finite State Machines (FSM):
Two types – both describe what are called regular
languages
Deterministic (DFA) – There is a fixed number of
states and we can only be in one state at a time
Nondeterministic (NFA) –There is a fixed number of
states but we can be in multiple states at one time
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Formal Definition of a Finite Automaton
Finite set of states, typically Q.
Alphabet of input symbols, typically ∑
One state is the start/initial state, typically q 0 // q0 ∈ Q
Zero or more final/accepting states; the set is typically F.
// F ⊆Q
A transition function, typically δ. This function
Takes a state and input symbol as arguments.
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Deterministic Finite Automata (DFA)
A DFA is a five-tuple: M = (Q, Σ, δ, q0, F)
Q A finite set of states
Σ A finite input alphabet
q0 The initial/starting state, q0 is in Q
F A set of final/accepting states, which is a subset of Q
δ A transition function, which is a total function from Q
x Σ to Q
δ: (Q x Σ) –> Q , δ is defined for any q in Q and s in Σ, and
δ(q, s) = q’ is equal to another state q’ in Q.
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Problem_1: Write a FSM to accept L, where
• L = {w ϵ {a,b}* | w contains a}
• L = {a, aa, aaa, baa, baaabbb,……}
• ~L = {ɛ, b, bb, bbb, bbbb,………….}
• All strings in L should reach any final state Transition Table
State Transition Diagram
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Transition Function
δ (1,a)=2
δ (1,b)=1
δ (2,a)=2
δ (2,b)=2
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Problem – 2:
Write a DFSM to accept the language
L = { w ϵ {a, b}* | |w| is even length}
Step 1: Write strings accepted by L i.e.
L = { ɛ, aa, bb, ab, ba, aaaa, bbbb, bbaa, baba,..}
~L= { a, b, aaa, bbb, aba, bab, bba, aab, aabbb,..}
Step 2: since min string are {ɛ, aa}, 2 states are required.
Step 3: Write Transition Diagram.
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
State Transition Diagram
δ (1,a)=2
δ (1,b)=2
δ (2,a)=1
Transition table δ (2,b)=1
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
To show some strings are not accepted
Ex: to show string bba not accepted
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Learning outcome from this lecture
On successful completion of this lecture, the student shall be able to
DEFINE
DFA
DESIGN
DFA
Dept Name Subject name / code
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
DISCUSSION
5 Minutes
Dept Name Subject name / code
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
Content to be covered in next lecture
1. Deterministic Finite Automata
2. Design of DFA
3. Examples of DFA
Dept Name Subject name / code
SRI KRISHNA INSTITUTE OF TECHNOLOGY
Computer Science and Engineering 18CS54
#29, Hesaraghatta Main Road, Chimney Hills, Chikkabanavara Post, Bangalore- 560090
THANK YOU
Dept Name Subject name / code