Automata Theory and Computability (17CS54) : 5 Semester

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 34

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
geethacse@skit.org.in

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

You might also like