0% found this document useful (0 votes)
111 views34 pages

Automata Theory and Computability (17CS54) : 5 Semester

The document discusses a lecture on automata theory and computability. It covers topics like languages and strings, functions on strings, applications of automata theory. It also discusses concepts like alphabets, strings, languages and properties of languages.

Uploaded by

geetha megharaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
111 views34 pages

Automata Theory and Computability (17CS54) : 5 Semester

The document discusses a lecture on automata theory and computability. It covers topics like languages and strings, functions on strings, applications of automata theory. It also discusses concepts like alphabets, strings, languages and properties of languages.

Uploaded by

geetha megharaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

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

You might also like