Unit-4: Regular properties B. Srivathsan Chennai Mathematical - - PowerPoint PPT Presentation

unit 4 regular properties
SMART_READER_LITE
LIVE PREVIEW

Unit-4: Regular properties B. Srivathsan Chennai Mathematical - - PowerPoint PPT Presentation

Unit-4: Regular properties B. Srivathsan Chennai Mathematical Institute NPTEL-course July - November 2015 1 / 26 Module 2: A gentle introduction to automata 2 / 26 { p 1 } { p 1 , p 2 } request=1 request=1 ready busy request=0 request=0


slide-1
SLIDE 1

Unit-4: Regular properties

  • B. Srivathsan

Chennai Mathematical Institute

NPTEL-course July - November 2015

1/26

slide-2
SLIDE 2

Module 2: A gentle introduction to automata

2/26

slide-3
SLIDE 3

{ p1 } { p1,p2 } { p2 } {}

request=1 ready request=1 busy request=0 ready request=0 busy

AP = set of atomic propositions AP-INF = set of infinite words over PowerSet(AP) A property over AP is a subset of AP-INF

3/26

slide-4
SLIDE 4

Goal: Need finite descriptions of properties

4/26

slide-5
SLIDE 5

Goal: Need finite descriptions of properties Here: Finite state automata to describe sets of words

4/26

slide-6
SLIDE 6

Goal: Need finite descriptions of properties Here: Finite state automata to describe sets of finite words

4/26

slide-7
SLIDE 7

Alphabet: { a,b }

5/26

slide-8
SLIDE 8

Alphabet: { a,b } L1 = { ab, abab, ababab, ...}

5/26

slide-9
SLIDE 9

Alphabet: { a,b } L1 = { ab, abab, ababab, ...} Design a TS with actions { a,b } and mark some states as accepting so that the set of all paths from an initial state to an accepting state equals L1

5/26

slide-10
SLIDE 10

Alphabet: { a,b } L1 = { ab, abab, ababab, ...} Design a TS with actions { a,b } and mark some states as accepting so that the set of all paths from an initial state to an accepting state equals L1 q0 q1 q2 q3 q4

5/26

slide-11
SLIDE 11

Alphabet: { a,b } L1 = { ab, abab, ababab, ...} Design a TS with actions { a,b } and mark some states as accepting so that the set of all paths from an initial state to an accepting state equals L1 q0 q1 q2 q3 q4 a b

5/26

slide-12
SLIDE 12

Alphabet: { a,b } L1 = { ab, abab, ababab, ...} Design a TS with actions { a,b } and mark some states as accepting so that the set of all paths from an initial state to an accepting state equals L1 q0 q1 q2 q3 q4 a b b a

5/26

slide-13
SLIDE 13

Alphabet: { a,b } L1 = { ab, abab, ababab, ...} Design a TS with actions { a,b } and mark some states as accepting so that the set of all paths from an initial state to an accepting state equals L1 q0 q1 q2 q3 q4 a b b a a b

5/26

slide-14
SLIDE 14

Alphabet: { a,b } L1 = { ab, abab, ababab, ...} Design a TS with actions { a,b } and mark some states as accepting so that the set of all paths from an initial state to an accepting state equals L1 q0 q1 q2 q3 q4 a b b a a b b a

5/26

slide-15
SLIDE 15

Alphabet: { a,b } L1 = { ab, abab, ababab, ...} Design a TS with actions { a,b } and mark some states as accepting so that the set of all paths from an initial state to an accepting state equals L1 q0 q1 q2 q3 q4 a b b a a b b a a,b

5/26

slide-16
SLIDE 16

Alphabet: { a,b } L2 = { a, aa, ab, aaa, aab, aba, abb , ...}

L2 is the set of all words starting with a

6/26

slide-17
SLIDE 17

Alphabet: { a,b } L2 = { a, aa, ab, aaa, aab, aba, abb , ...}

L2 is the set of all words starting with a

Design a TS with actions { a,b } and mark some states as accepting so that the set of all paths from an initial state to an accepting state equals L2

6/26

slide-18
SLIDE 18

Alphabet: { a,b } L2 = { a, aa, ab, aaa, aab, aba, abb , ...}

L2 is the set of all words starting with a

Design a TS with actions { a,b } and mark some states as accepting so that the set of all paths from an initial state to an accepting state equals L2 q0 q1 q2 a b a,b a,b

6/26

slide-19
SLIDE 19

Alphabet: { a,b } L2 = { a, aa, ab, aaa, aab, aba, abb , ...}

L2 is the set of all words starting with a

Design a TS with actions { a,b } and mark some states as accepting so that the set of all paths from an initial state to an accepting state equals L2 q0 q1 q2 a b a,b a,b

Finite Automaton

6/26

slide-20
SLIDE 20

Coming next: Some terminology

7/26

slide-21
SLIDE 21

Alphabet

Σ = { a, b }

8/26

slide-22
SLIDE 22

Alphabet

Σ = { a, b } Σ · Σ = { a, b } · { a, b }

8/26

slide-23
SLIDE 23

Alphabet

Σ = { a, b } Σ · Σ = { a, b } · { a, b } = { aa, ab, ba, bb }

8/26

slide-24
SLIDE 24

Alphabet

Σ = { a, b } Σ · Σ = { a, b } · { a, b } = { aa, ab, ba, bb } Σ1 = words of length 1 Σ2 = words of length 2

8/26

slide-25
SLIDE 25

Alphabet

Σ = { a, b } Σ · Σ = { a, b } · { a, b } = { aa, ab, ba, bb } Σ1 = words of length 1 Σ2 = words of length 2 Σ3 = words of length 3

8/26

slide-26
SLIDE 26

Alphabet

Σ = { a, b } Σ · Σ = { a, b } · { a, b } = { aa, ab, ba, bb } Σ1 = words of length 1 Σ2 = words of length 2 Σ3 = words of length 3 Σk = words of length k

. . . . . .

8/26

slide-27
SLIDE 27

Alphabet

Σ = { a, b } Σ · Σ = { a, b } · { a, b } = { aa, ab, ba, bb } Σ0 = { ε } (empty word, with length 0) Σ1 = words of length 1 Σ2 = words of length 2 Σ3 = words of length 3 Σk = words of length k

. . . . . .

aba · ε

= aba

ε · bbb

= bbb

w · ε

= w

ε · w

= w

8/26

slide-28
SLIDE 28

Alphabet

Σ = { a, b } Σ · Σ = { a, b } · { a, b } = { aa, ab, ba, bb } Σ0 = { ε } (empty word, with length 0) Σ1 = words of length 1 Σ2 = words of length 2 Σ3 = words of length 3 Σk = words of length k

. . . . . .

Σ∗ =

  • i ≥ 0 Σi

= set of all finite length words

aba · ε

= aba

ε · bbb

= bbb

w · ε

= w

ε · w

= w

8/26

slide-29
SLIDE 29

Σ∗ = set of all words over Σ

9/26

slide-30
SLIDE 30

Σ∗ = set of all words over Σ

Any set of words is called a language

9/26

slide-31
SLIDE 31

Σ∗ = set of all words over Σ

Any set of words is called a language { ab, abab, ababab, ...} words starting with an a words starting with a b { ε, b, bb, bbb, ...} { ε, ab, abab, ababab, ...} { ε, bbb, bbbbbb, (bbb)3, ...} words starting and ending with an a { ε, ab, aabb, aaabbb,a4b4 ...}

9/26

slide-32
SLIDE 32

Σ∗ = set of all words over Σ

Any set of words is called a language { ab, abab, ababab, ...} words starting with an a aΣ∗ words starting with a b { ε, b, bb, bbb, ...} { ε, ab, abab, ababab, ...} { ε, bbb, bbbbbb, (bbb)3, ...} words starting and ending with an a { ε, ab, aabb, aaabbb,a4b4 ...}

9/26

slide-33
SLIDE 33

Σ∗ = set of all words over Σ

Any set of words is called a language { ab, abab, ababab, ...} words starting with an a aΣ∗ words starting with a b bΣ∗ { ε, b, bb, bbb, ...} { ε, ab, abab, ababab, ...} { ε, bbb, bbbbbb, (bbb)3, ...} words starting and ending with an a { ε, ab, aabb, aaabbb,a4b4 ...}

9/26

slide-34
SLIDE 34

Σ∗ = set of all words over Σ

Any set of words is called a language { ab, abab, ababab, ...} words starting with an a aΣ∗ words starting with a b bΣ∗ { ε, b, bb, bbb, ...} b∗ { ε, ab, abab, ababab, ...} { ε, bbb, bbbbbb, (bbb)3, ...} words starting and ending with an a { ε, ab, aabb, aaabbb,a4b4 ...}

9/26

slide-35
SLIDE 35

Σ∗ = set of all words over Σ

Any set of words is called a language { ab, abab, ababab, ...} words starting with an a aΣ∗ words starting with a b bΣ∗ { ε, b, bb, bbb, ...} b∗ { ε, ab, abab, ababab, ...}

(ab)∗

{ ε, bbb, bbbbbb, (bbb)3, ...} words starting and ending with an a { ε, ab, aabb, aaabbb,a4b4 ...}

9/26

slide-36
SLIDE 36

Σ∗ = set of all words over Σ

Any set of words is called a language { ab, abab, ababab, ...} words starting with an a aΣ∗ words starting with a b bΣ∗ { ε, b, bb, bbb, ...} b∗ { ε, ab, abab, ababab, ...}

(ab)∗

{ ε, bbb, bbbbbb, (bbb)3, ...}

(bbb)∗

words starting and ending with an a { ε, ab, aabb, aaabbb,a4b4 ...}

9/26

slide-37
SLIDE 37

Σ∗ = set of all words over Σ

Any set of words is called a language { ab, abab, ababab, ...} words starting with an a aΣ∗ words starting with a b bΣ∗ { ε, b, bb, bbb, ...} b∗ { ε, ab, abab, ababab, ...}

(ab)∗

{ ε, bbb, bbbbbb, (bbb)3, ...}

(bbb)∗

words starting and ending with an a aΣ∗a { ε, ab, aabb, aaabbb,a4b4 ...}

9/26

slide-38
SLIDE 38

In this module...

Task: Design Finite Automata for some languages

10/26

slide-39
SLIDE 39

Words Languages Finite Automata

11/26

slide-40
SLIDE 40

Alphabet: { a,b } L1 = { ab, abab, ababab, ...} Design a Finite automaton for L1 q0 q1 q2 q3 q4 a b b a a b b a a,b

12/26

slide-41
SLIDE 41

Alphabet: { a,b } L3 = { ε, ab, abab, ababab, ...} Design a Finite automaton for L3 q0 q1 q2 a b b a a,b

13/26

slide-42
SLIDE 42

Alphabet: { a,b }

Σ∗ = { ε, a, b, aa, ab, ba, bb ...}

Design a Finite automaton for Σ∗ q0 a,b

14/26

slide-43
SLIDE 43

Alphabet: { a,b } a∗ = { ε, a, aa, aaa, aaaa, a5, ...}

a∗ is the set of all words having only a

Design a Finite automaton for a∗

15/26

slide-44
SLIDE 44

Alphabet: { a,b } a∗ = { ε, a, aa, aaa, aaaa, a5, ...}

a∗ is the set of all words having only a

Design a Finite automaton for a∗ q0 a

15/26

slide-45
SLIDE 45

Alphabet: { a,b } a∗ = { ε, a, aa, aaa, aaaa, a5, ...}

a∗ is the set of all words having only a

Design a Finite automaton for a∗ q0 a Non-deterministic automaton

15/26

slide-46
SLIDE 46

Transition Systems

Deterministic

Single initial state and

Non-deterministic

Multiple initial states

  • r

s r s r1 r2 rm

a a a a

. . .

16/26

slide-47
SLIDE 47

Transition Systems

Deterministic

Single initial state and

Non-deterministic

Multiple initial states

  • r

s r s r1 r2 rm

a a a a

. . .

Same applies in the case of Finite Automata

16/26

slide-48
SLIDE 48

Alphabet: { a,b } ab∗ = { a, ab, ab2, ab3, ab4, ...} Design a Finite automaton for ab∗

17/26

slide-49
SLIDE 49

Alphabet: { a,b } ab∗ = { a, ab, ab2, ab3, ab4, ...} Design a Finite automaton for ab∗ q0 q1 a b

17/26

slide-50
SLIDE 50

Alphabet: { a,b } ab∗ = { a, ab, ab2, ab3, ab4, ...} Design a Finite automaton for ab∗ q0 q1 a b Non-deterministic automaton

17/26

slide-51
SLIDE 51

Alphabet: { a,b } ab∗ = { a, ab, ab2, ab3, ab4, ...} ba∗ = { b, ba, ba2, ba3, ba4, ...} Design a Finite automaton for ab∗ ∪ ba∗

18/26

slide-52
SLIDE 52

Alphabet: { a,b } ab∗ = { a, ab, ab2, ab3, ab4, ...} ba∗ = { b, ba, ba2, ba3, ba4, ...} Design a Finite automaton for ab∗ ∪ ba∗ q0 q1 q2 a b a b

18/26

slide-53
SLIDE 53

Alphabet: { a,b } ab∗ = { a, ab, ab2, ab3, ab4, ...} ba∗ = { b, ba, ba2, ba3, ba4, ...} Design a Finite automaton for ab∗ ∪ ba∗ q0 q1 q2 a b a b Non-deterministic automaton

18/26

slide-54
SLIDE 54

Alphabet: { a,b } ab∗ = { a, ab, ab2, ab3, ab4, ...} ba∗ = { b, ba, ba2, ba3, ba4, ...} Design a Finite automaton for ab∗ ∪ ba∗

19/26

slide-55
SLIDE 55

Alphabet: { a,b } ab∗ = { a, ab, ab2, ab3, ab4, ...} ba∗ = { b, ba, ba2, ba3, ba4, ...} Design a Finite automaton for ab∗ ∪ ba∗ q0 q1 q3 q2 a b b a

19/26

slide-56
SLIDE 56

Alphabet: { a,b } ab∗ = { a, ab, ab2, ab3, ab4, ...} ba∗ = { b, ba, ba2, ba3, ba4, ...} Design a Finite automaton for ab∗ ∪ ba∗ q0 q1 q3 q2 a b b a Multiple initial states: non-deterministic automaton

19/26

slide-57
SLIDE 57

What is the language of the following automaton? q0 q1 q2 a a,b a

20/26

slide-58
SLIDE 58

What is the language of the following automaton? q0 q1 q2 a a,b a Answer: a Σ∗a words starting and ending with a

20/26

slide-59
SLIDE 59

What is the language of the following automaton? q0 q1 q2 a,b a b a,b

21/26

slide-60
SLIDE 60

What is the language of the following automaton? q0 q1 q2 a,b a b a,b Answer: Σ∗ab Σ∗ words containing ab

21/26

slide-61
SLIDE 61

What is the language of the following automaton? q0 q1 q2 a,b a b a,b a,b

22/26

slide-62
SLIDE 62

What is the language of the following automaton? q0 q1 q2 a,b a b a,b a,b Answer: Σ∗a Σ∗ b Σ∗ words where there exists an a followed by a b after sometime

22/26

slide-63
SLIDE 63

What is the language of the following automaton? q0 q1 q2 a,b,c a c a,b,c b

23/26

slide-64
SLIDE 64

What is the language of the following automaton? q0 q1 q2 a,b,c a c a,b,c b Answer: Σ∗a b∗ c Σ∗ (Σ = { a, b, c })

words where there exists an a followed by only b’s and after sometime a c occurs

23/26

slide-65
SLIDE 65

Alphabet: { a,b } L = { ε, ab, aabb, aaabbb, ..., aibi, ...} Can we design a Finite automaton for L?

24/26

slide-66
SLIDE 66

Alphabet: { a,b } L = { ε, ab, aabb, aaabbb, ..., aibi, ...} Can we design a Finite automaton for L? Need infinitely many states to remember the number of a’s

24/26

slide-67
SLIDE 67

Alphabet: { a,b } L = { ε, ab, aabb, aaabbb, ..., aibi, ...} Can we design a Finite automaton for L? Need infinitely many states to remember the number of a’s Cannot construct finite automaton for this language

24/26

slide-68
SLIDE 68

Regular languages

Languages { anbn | n ≥ 0} Regular languages

Σ∗, a∗, ab∗, etc.

L′ L

Definition

A language is called regular if it can be accepted by a finite automaton

25/26

slide-69
SLIDE 69

Words Languages Finite Automata

Deterministic (DFA) Non-deterministic (NFA) Regular languages

26/26

slide-70
SLIDE 70

Words Languages Finite Automata

Deterministic (DFA) Non-deterministic (NFA) Regular languages Next module: Are DFA and NFA equivalent?

26/26