Top Banner
Languages
74

Languages Automata (Slides)

Dec 05, 2015

Download

Documents

Syakira Azmi

Theory of Automata
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Languages Automata (Slides)

Languages

Page 2: Languages Automata (Slides)

• A language is a set of strings/words

• A string is a finite sequence of symbols

Example: “cat”, “dog”, “house”, …defined over an alphabet:

Example: “aaaab”, “bbbbbb”, “ababababa”, …defined over an alphabet:

Languages

{ }a,b,c, ,zΣ =

{ }a,bΣ =2

Page 3: Languages Automata (Slides)

Alphabets and Strings• We usually use small alphabets:

• Strings

u abv bbbaaaw abba

===

{ } { }a,b , 0,1Σ = Σ =

aababbababaaaabbbaabab

3

Page 4: Languages Automata (Slides)

String Operations

1 2 n

1 2 m

w a a av b b b==

abbabbbaaa

1 2 n 1 2 mwv a a a b b b=

Concatenation

abbabbbaaa

4

Page 5: Languages Automata (Slides)

Rn 2 1w a a a=

1 2 nw a a a= abbaabbb

Reverse

bbbaabba

String Operations

5

Page 6: Languages Automata (Slides)

String Length

• Length:

• Examples:

1 2 nw a a a=

w n=

abba 4aa 2a 1

=

=

=

6

Page 7: Languages Automata (Slides)

Length of Concatenation

• Example:

uv u v= +

u aab, u 3v abaab, v 5

uv aababaab 8uv u v 3 5 8

= =

= =

= =

= + = + =

7

Page 8: Languages Automata (Slides)

Empty String• A string without symbols:

• Observations:

λ

0

w w w

abba abba ab ba abba

λ =

λ = λ =

λ = λ = λ =

8

Page 9: Languages Automata (Slides)

Substring• A substring of a string is

a subsequence of consecutive symbols

String Substringababbabbabbab

ababba

b

babb

ab ababbababbab

9

Page 10: Languages Automata (Slides)

Prefix and Suffix

Prefixes Suffixes

abbab

aababbabbaabbab

λ abbabbbabbababbλ

w vu=

prefix

suffix

10

Page 11: Languages Automata (Slides)

Replication

• Example:

• Definition:

n

n

w ww w=

( )2abba abbaabba=

0w = λ

( )0abba = λ

11

Page 12: Languages Automata (Slides)

* Operation• : the set of all possible strings from

alphabet

• Example:

∗Σ

{ }{ }*

a,b

,a,b,aa,ab,ba,bb,aaa,aab,

Σ =

Σ = λ

12

Page 13: Languages Automata (Slides)

+ Operation• : the set of all possible strings from

alphabet except

• Example:

+ΣΣ

{ }{ }a,b

* ,a,b,aa,ab,ba,bb,aaa,aab,Σ =

Σ = λ

{ }+ ∗Σ = Σ − λ

{ }a,b,aa,ab,ba,bb,aaa,aab,+Σ =

13

Page 14: Languages Automata (Slides)

Language• A language is any subset of

• Example:

• Languages:

∗Σ

{ }{ }*

a,b

,a,b,aa,ab,ba,bb,aaa,

Σ =

Σ = λ

{ }{ }a,aa,aab{ ,abba,baba,aa,ab,aaaaaa}

λ

λ14

Page 15: Languages Automata (Slides)

Language

• An infinite language n nL {a b : n 0}= ≥

abL

aabbaaaaabbbbb

λ

∈ abb L∉

15

Page 16: Languages Automata (Slides)

Operations on Languages• The usual set operations:

• Complement:

{ } { }{ } { }{ } { } { }

a,ab,aaaa bb,ab {a,ab,bb,aaaa}a,ab,aaaa bb,ab {ab}a,ab,aaaa bb,ab a,aaaa

∪ =

∩ =

− =

L L∗= Σ −

{ } { }a,ba ,b,aa,ab,bb,aaa,= λ

, ,∪ ∩ −

16

Page 17: Languages Automata (Slides)

Reverse

• Definition:

• Examples:

R RL {w : w L}= ∈

{ } { }Rab,aab,baba ba,baa,abab=

n n

R n n

L {a b : n 0}

L {b a : n 0}

= ≥

= ≥

17

Page 18: Languages Automata (Slides)

Concatenation

• Definition:

• Example:

{ }1 2 1 2L L xy : x L , y L= ∈ ∈

{ }{ } { }a,ab,ba b,aa ab,aaa,abb,abaa,bab,baaa=

18

Page 19: Languages Automata (Slides)

Replication• Definition:

• Special case:

n

n

L LL L=

{ } { }{ }{ }{ }

3a,b a,b a,b a,baaa,aab,aba,abb,baa,bab,bba,bbb

= =

{ }

{ } { }

0

0

L

a,bba,aaa

= λ

= λ

19

Page 20: Languages Automata (Slides)

Examples

n nL {a b : n 0}= ≥

2 n n m mL {a b a b : n,m 0}= ≥

2aabbaaabbb L∈

20

Page 21: Languages Automata (Slides)

Star-Closure (Kleene *)

• Definition:

• Example:

0 1 2L L L L∗ = ∪ ∪

{ }

,a,bb,

a,bbaa,abb,bba,bbbb,aaa,aabb,abba,abbbb,

λ =

21

Page 22: Languages Automata (Slides)

Positive Closure (Kleene +)

• Definition: { }1 2L L L L+ ∗= ∪ ∪ = − λ

{ }a, bb,

a, bb aa, abb, bba, bbbb,aaa, aabb, abba, abbbb,

+ =

22

Page 23: Languages Automata (Slides)

Exercises

1. Let 𝐿𝐿 = 𝑎𝑎𝑎𝑎, 𝑎𝑎𝑎𝑎, 𝑎𝑎𝑎𝑎𝑎𝑎 . Which strings are in 𝐿𝐿2, 𝐿𝐿3, and

𝐿𝐿4?

2. Let Σ = 𝑎𝑎, 𝑎𝑎 and 𝐿𝐿 = 𝑎𝑎𝑎𝑎, 𝑎𝑎𝑎𝑎 . Use set notation to

describe �𝐿𝐿.

3. Prove that 𝑤𝑤𝑅𝑅 𝑅𝑅 = 𝑤𝑤 for all 𝑤𝑤 ∈ Σ∗.

4. Prove that 𝐿𝐿1𝐿𝐿2 𝑅𝑅 = 𝐿𝐿2𝑅𝑅𝐿𝐿1𝑅𝑅 for all languages 𝐿𝐿1 and 𝐿𝐿2.

23

Page 24: Languages Automata (Slides)

Finite Automata

Page 25: Languages Automata (Slides)

• An automaton is an abstract model of a digital computer.

Finite Automaton

Input

String

Output

String

FiniteAutomaton

25

Page 26: Languages Automata (Slides)

• An automaton is an abstract model of a digital computer.

Finite Accepter

Input

“Accept”or

“Reject”

String

FiniteAutomaton

Output

26

Page 27: Languages Automata (Slides)

Transition Graph

initialstate

finalstate

“accept”statetransition

Abba -Finite Accepter

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

27

Page 28: Languages Automata (Slides)

Initial Configuration

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b b a

28

Page 29: Languages Automata (Slides)

Reading the Input

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b b a

29

Page 30: Languages Automata (Slides)

Reading the Input

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b b a

30

Page 31: Languages Automata (Slides)

Reading the Input

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b b a

31

Page 32: Languages Automata (Slides)

Reading the Input

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b b a

32

Page 33: Languages Automata (Slides)

Reading the Input

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b b a

Output: “accept”33

Page 34: Languages Automata (Slides)

Rejection

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b a

34

Page 35: Languages Automata (Slides)

Rejection

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b a

35

Page 36: Languages Automata (Slides)

Rejection

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b a

36

Page 37: Languages Automata (Slides)

Rejection

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b a

37

Page 38: Languages Automata (Slides)

Rejection

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

Input Stringa b a

Output: “reject”38

Page 39: Languages Automata (Slides)

Another Example

0q 2q1qb

a,ba

a,b

Input Stringa a b

39

Page 40: Languages Automata (Slides)

Another Example

0q 2q1qb

a,ba

a,b

Input Stringa a b

40

Page 41: Languages Automata (Slides)

Another Example

0q 2q1qb

a,ba

a,b

Input Stringa a b

41

Page 42: Languages Automata (Slides)

Another Example

0q 2q1qb

a,ba

a,b

Input Stringa a b

42

Page 43: Languages Automata (Slides)

Another Example

0q 2q1qb

a,ba

a,b

Input Stringa a b

Output: “accept”43

Page 44: Languages Automata (Slides)

Rejection

0q 2q1qb

a,ba

a,b

Input Stringb a b

44

Page 45: Languages Automata (Slides)

Rejection

0q 2q1qb

a,ba

a,b

Input Stringb a b

45

Page 46: Languages Automata (Slides)

Rejection

0q 2q1qb

a,ba

a,b

Input Stringb a b

46

Page 47: Languages Automata (Slides)

Rejection

0q 2q1qb

a,ba

a,b

Input Stringb a b

47

Page 48: Languages Automata (Slides)

Rejection

0q 2q1qb

a,ba

a,b

Input Stringb a b

Output: “reject”48

Page 49: Languages Automata (Slides)

Formalities• Deterministic Finite Accepter (DFA)

( )0M Q, , ,q ,F= Σ δ

Q

Σ

δ

0q

F

: set of states

: input alphabet

: transition function

: initial state

: set of final states49

Page 50: Languages Automata (Slides)

Input Alphabet Σ

{ }a,bΣ =

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

50

Page 51: Languages Automata (Slides)

Set of States Q

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

{ }0 1 2 3 4 5Q q ,q ,q ,q ,q ,q=

51

Page 52: Languages Automata (Slides)

Initial State 0q

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

52

Page 53: Languages Automata (Slides)

Set of Final States F

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

{ }4F q=

53

Page 54: Languages Automata (Slides)

Transition Function δ

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

: Q Qδ ×Σ→

54

Page 55: Languages Automata (Slides)

Transition Function δ

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

( )0 1q ,a qδ =

55

Page 56: Languages Automata (Slides)

Transition Function

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

( )0 5q ,b qδ =

δ

56

Page 57: Languages Automata (Slides)

Transition Function

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

( )2 3q ,b qδ =

δ

57

Page 58: Languages Automata (Slides)

Transition Function

δ a b0q1q2q3q4q

5q

1q 5q5q 2q2q 3q4q 5q

5q5q5q5q

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

δ

58

Page 59: Languages Automata (Slides)

Extended Transition Function ∗δ

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

: Q Q∗ ∗δ ×Σ →

59

Page 60: Languages Automata (Slides)

Extended Transition Function ∗δ

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

0 2(q ,ab) q∗δ =

60

Page 61: Languages Automata (Slides)

Extended Transition Function ∗δ

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

0 4(q ,abba) q∗δ =

61

Page 62: Languages Automata (Slides)

Extended Transition Function ∗δ

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

0 5(q ,abbbaa) q∗δ =

62

Page 63: Languages Automata (Slides)

Extended Transition Function ∗δ

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

0 5(q ,abbbaa) q∗δ =

• Observation: there is a walk from to with label

0q 5qabbbaa.

63

Page 64: Languages Automata (Slides)

Languages Accepted by DFAs• Take DFA

• Definition:

The language contains

all input strings accepted by

= { strings that drive to a final state}

M

( )L M

MM( )L M

64

Page 65: Languages Automata (Slides)

Example

( ) { }L M abba=M

accept

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

65

Page 66: Languages Automata (Slides)

Example

( ) { }L M ,ab,abba= λM

accept

0q 1q 2q 3q 4qa b b a

5qa a bb

a,b

a,b

acceptaccept66

Page 67: Languages Automata (Slides)

Formally

• For a DFA

• Language accepted by :

( )0M Q, , ,q ,F= Σ δ

M

( ) ( ){ }0L M w : q ,w F∗ ∗= ∈Σ δ ∈

alphabet

transition function

initial state

final states

67

Page 68: Languages Automata (Slides)

Observation• Language accepted by :

• Language rejected by :

( ) ( ){ }0L M w : q ,w F∗ ∗= ∈Σ δ ∈

M

( ) ( ){ }0L M w : q ,w F∗ ∗= ∈Σ δ ∉

M

68

Page 69: Languages Automata (Slides)

More Examples

( ) nL M {a b : n 0}= ≥

accept trap state

0q 2q1qb

a,ba

a,b

69

Page 70: Languages Automata (Slides)

( )L M = {all substrings with prefix }

More Examples

0q 2q1qa

a,b

a

a,b

3q

b

ab

b

70

Page 71: Languages Automata (Slides)

( )L M = {all strings without substring }

More Examples

λ 0010

0

0,1

0

1

001

1

00

0

1

71

Page 72: Languages Automata (Slides)

Regular Languages

• A language is regular if there is a DFA such that

• All regular languages form the family of regular languages.

L M

( )L L M .=

72

Page 73: Languages Automata (Slides)

L {awa : w {a,b} }∗= ∈• The language

Example

0q 2q1qa

a

3q

bb

is regular.

a,b

ab

73

Page 74: Languages Automata (Slides)

Exercises• For , construct DFAs that accept the

languages consisting of

a) all strings with exactly one 𝑎𝑎.

b) all strings with at least one 𝑎𝑎.

c) all strings with no more than three 𝑎𝑎’s.

d) all strings with at least one 𝑎𝑎 and exactly 2 𝑎𝑎’s.

e) all strings in which 𝑎𝑎𝑎𝑎 occurs at least twice.

{a,b}∑ =

74