CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University

135
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010

description

CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010. Content Finite Automata, FA Deterministic Finite Automata, DFA Nondeterministic Automata NFA NFA  DFA Equivalence. Finite Automata FA (Finite State Machines). - PowerPoint PPT Presentation

Transcript of CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University

Page 1: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

1

CD5560

FABER

Formal Languages, Automata and Models of Computation

Lecture 3

Mälardalen University2010

Page 2: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

2

Content

Finite Automata, FADeterministic Finite Automata, DFANondeterministic Automata NFANFA DFA Equivalence

Page 3: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

3

Finite Automata FA

(Finite State Machines)

Page 4: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

4

There is no formal general definition for "automaton". Instead, there are various kinds of automata, each with it's own formal definition.

• has some form of input

• has some form of output

• has internal states,

• may or may not have some form of storage

• is hard-wired rather than programmable

Generally, an automaton

Page 5: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

5

Finite Automaton

Input

String

Output

String

Finite

Automaton

Page 6: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

6

Finite Accepter

Input

“Accept”

or

“Reject”

String

Finite

Automaton

Output

Page 7: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

7

Nodes = States Edges = Transitions

An edge with several symbols is a short-hand for several edges:

FA as Directed Graph

1qa

0q

1qba,0q1q

a

0qb

Page 8: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

8

Deterministic Finite Automata DFA

Page 9: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

9

• Deterministic there is no element of choice• Finite only a finite number of states and arcs • Acceptors produce only a yes/no answer

DFA

Page 10: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

10

Transition Graph

initial

state

final

state

“accept”statetransition

abba -Finite Acceptor

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

5q

a a bb

ba,

ba,

},{ baAlphabet =

Page 11: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

11

Formally

For a DFA

Language accepted by :

FqQM ,,,, 0

M

FwqwML ,*:* 0

alphabet transition

function

initial

state

final

states

Page 12: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

12

Observation

Language accepted by

FwqwML ,*:* 0

M

FwqwML ,*:* 0

MLanguage rejected by

Page 13: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

13

Regular Languages

All regular languages form a language family

LM MLL

A language is regular if there is

a DFA such that

Page 14: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

14

Formal definitions

Deterministic Finite Accepter (DFA)

FqQM ,,,, 0

Q

0q

F

: set of states

: input alphabet

: transition function

: initial state

: set of final states

Page 15: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

15

Input Aplhabet

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

5q

a a bb

ba,

ba,

ba,

Page 16: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

16

Set of States

Q

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

5q

a a bb

ba,

543210 ,,,,, qqqqqqQ

ba,

Page 17: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

17

Initial State

0q

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 18: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

18

Set of Final States

F

0q 1q 2q 3qa b b a

5q

a a bb

ba,

4qF

ba,

4q

Page 19: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

19

Transition Function

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

5q

a a bb

ba,

QQ :

ba,

Page 20: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

20

10 , qaq

2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q

Page 21: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

21

50 , qbq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 22: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

22

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

5q

a a bb

ba,

ba,

32 , qbq

Page 23: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

23

Transition Function

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

5q

a a bb

ba,

ba,

a b0q

2q

5q

1q 5q

5q5q

3q

4q

1q 5q 2q

5q 3q

4q5q

5q 5q

Page 24: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

24

Extended Transition Function

*

QQ *:*

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

5q

a a bb

ba,

ba,

Page 25: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

25

20 ,* qabq

3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q 2q

Page 26: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

26

40 ,* qabbaq

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

5q

a a bb

ba,

ba,

Page 27: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

27

50 ,* qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 28: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

28

50 ,* qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Observation: There is a walk from to

with label

0q 5qabbbaa

Page 29: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

29

Recursive Definition

)),,(*(,*

,*

awqwaq

qq

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

5q

a a bb

ba,

ba,

Page 30: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

30

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

5q

a a bb

ba,

ba,

21

0

0

0

0

,

,,

,,,*

),,(*

,*

qbq

baq

baq

baq

abq

Page 31: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

31

Languages Accepted by DFAs

Take DFA

Definition:

The language contains

all input strings accepted by

= { strings that drive to a final state}

M

MLM

ML M

Page 32: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

32

Example

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

5q

a a bb

ba,

ba,

abbaML M

accept

},{ baAlphabet =

Page 33: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

33

Another Example

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

5q

a a bb

ba,

ba,

abbaabML ,, M

acceptacceptaccept

},{ baAlphabet =

Page 34: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

34

Formally

For a DFA

Language accepted by :

FqQM ,,,, 0

M

FwqwML ,*:* 0

alphabet transition

function

initial

state

final

states

Page 35: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

35

Observation

Language accepted by

FwqwML ,*:* 0

M

FwqwML ,*:* 0

MLanguage rejected by

Page 36: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

36

More Examples

a

b ba,

ba,

0q 1q 2q

}0:{ nbaML n

accept trap state},{ baAlphabet =

Page 37: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

37

ML = { all strings with prefix }ab

a b

ba,

0q 1q 2q

accept

ba,3q

ab

},{ baAlphabet =

Page 38: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

38

ML = { all strings without substring }001

0 00 001

1

0

1

10

0 1,0

}1,0{Alphabet =

Page 39: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

39

Regular Languages

All regular languages form a language family

LM MLL

A language is regular if there is

a DFA such that

Page 40: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

40

Example

*,: bawawaL

a

b

ba,

a

b

ba

0q 2q 3q

4q

is regular

The language

},{ baAlphabet =

Page 41: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

41

Nondeterministic Automata NFA

Page 42: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

42

• Nondeterministic there is an element of choice: in a given

state NFA can act on a given string in different ways. Several start/final states are allowed. -transitions are allowed.

• Finite only a finite number of states and arcs • Acceptors produce only a yes/no answer

NFA

Page 43: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

43

1q 2q

3q

a

a

a

0q

Two choices

}{aAlphabet =

Nondeterministic Finite Accepter (NFA)

Page 44: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

44

a a

0q

1q 2q

3q

a

a

First Choice

a

Page 45: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

45

a a

0q

1q 2q

3q

a

a

a

First Choice

Page 46: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

46

a a

0q

1q 2q

3q

a

a

First Choice

a

Page 47: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

47

a a

0q

1q 2q

3q

a

a

a “accept”

First Choice

Page 48: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

48

a a

0q

1q 2q

3q

a

a

Second Choice

a

Page 49: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

49

a a

0q

1q 2qa

a

Second Choice

a

3q

Page 50: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

50

a a

0q

1q 2qa

a

a

3q

Second Choice

No transition:

the automaton hangs

Page 51: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

51

a a

0q

1q 2qa

a

a

3q

Second Choice

“reject”

Page 52: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

52

Observation

An NFA accepts a string if

there is a computation of the NFA

that accepts the string

Page 53: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

53

Example

aa is accepted by the NFA:

0q

1q 2q

3q

a

a

a

Page 54: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

54

Lambda Transitions

1q 3qa0q

2q a

Page 55: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

55

a a

1q 3qa0q

2q a

Page 56: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

56

a a

1q 3qa0q

2q a

Page 57: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

57

a a

1q 3qa0q

2q a

(read head doesn’t move)

Page 58: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

58

a a

1q 3qa0q

2q a

Page 59: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

59

a a

1q 3qa0q

2q a

“accept”

String is acceptedaa

Page 60: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

60

Language accepted: }{aaL

1q 3qa0q

2q a

Page 61: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

61

Another NFA Example

0q 1q 2qa b

3q

},{ baAlphabet =

Page 62: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

62

a b

0q 1q 2qa b

3q

Page 63: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

63

a b

0q 2qa b

3q1q

Page 64: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

64

a b

0q 1qa b

3q2q

Page 65: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

65

a b

0q 1qa b

3q2q

“accept”

Page 66: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

66

a b

Another String

a b

0q a b

1q 2q 3q

},{ baAlphabet =

Page 67: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

67

a b a b

0q a b

1q 2q 3q

Page 68: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

68

a b a b

0q a b

1q 2q 3q

Page 69: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

69

a b a b

0q a b

1q 2q 3q

Page 70: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

70

a b a b

0q a b

1q 2q 3q

Page 71: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

71

a b a b

0q a b

1q 2q 3q

Page 72: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

72

a b a b

0q a b

1q 2q 3q

Page 73: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

73

a b a b

0q a b

1q 2q 3q

“accept”

Page 74: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

74

ab

ababababababL ...,,,

Language accepted

0q 1q 2qa b

3q

},{ baAlphabet =

Page 75: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

75

Another NFA Example

0q 1q 2q0

11,0

}1,0{Alphabet =

Page 76: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

76

*10

...,101010,1010,10,

L

0q 1q 2q0

11,0

Language accepted

Page 77: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

77

Formal Definition of NFA

FqQM ,,,, 0

:Q

::0q

:F

Set of states, i.e. 210 ,, qqq

: Input alphabet, i.e. ba,

Transition function

Initial state

Final states

Page 78: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

78

10 1, qq

Transition Function

0

11,0

0q 1q 2q

Page 79: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

79

},{)0,( 201 qqq

0q

0

11,0

1q 2q

Page 80: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

80

0q

0

11,0

1q 2q

},{),( 200 qqq

Page 81: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

81

0q

0

11,0

1q 2q

)1,( 2q

Page 82: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

82

Extended Transition Function

*

10 ,* qaq

0q

5q4q

3q2q1qaaa

b

(Utvidgad övergångsfunktion)

Page 83: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

83

540 ,,* qqaaq

0q

5q4q

3q2q1qaaa

b

Page 84: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

84

0320 ,,,* qqqabq

0q

5q4q

3q2q1qaaa

b

Page 85: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

85

Formally

wqq ij ,*

if and only if

there is a walk from to

with label iq jq

w

Page 86: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

86

The Language of an NFA

540 ,,* qqaaq

0q

5q4q

3q2q1qaaa

b

M

)(MLaa

50 ,qqF

},{ baAlphabet =

Page 87: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

87

0320 ,,,* qqqabq

0q

5q4q

3q2q1qaaa

b

MLab

50 ,qqF

Page 88: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

88

50 ,qqF

540 ,,* qqabaaq )(MLabaa

0q

5q4q

3q2q1qaaa

b

Page 89: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

89

10 ,* qabaq MLaba

0q

5q4q

3q2q1qaaa

b

50 ,qqF

Page 90: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

90

0q

5q4q

3q2q1qaaa

b

aaababaaML *

Page 91: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

91

Formally

The language accepted by NFA M

,...,, 321 wwwML

,...},{),(* 0 jim qqwq

Fqk (final state)

where

and there is some (at least one)

is:

Page 92: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

92

MLw

0q kq

w

w

w

),(* 0 wq

Fqk

iq

jq

Page 93: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

93

NFA DFA Equivalence

Page 94: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

94

Equivalence of NFAs and DFAs

Accept the same languages?

YES!

NFAs DFAs ?

Same power?

Page 95: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

95

We will prove:

Languages

accepted

by NFAs

Languages

accepted

by DFAsNFAs and DFAs have the same

computation power!

Page 96: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

96

Languages

accepted

by NFAs

Languages

accepted

by DFAs

Step 1

Proof Every DFA is also an NFA

A language accepted by a DFA

is also accepted by an NFA

Page 97: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

97

Languages

accepted

by NFAs

Languages

accepted

by DFAs

Step 2

Proof Any NFA can be converted to an

equivalent DFA

A language accepted by an NFA

is also accepted by a DFA

Page 98: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

98

Procedure NFA to DFA

1. Initial state of NFA:

Initial state of DFA:

0q

0q

Page 99: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

99

Example

a

b

a

0q 1q 2q

NFA

DFA 0q

Step 1

Page 100: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

100

Procedure NFA to DFA 2. For every DFA’s state

Compute in the NFA

},...,,{ mji qqq

...

,,*

,,*

aq

aq

j

i

},...,,{},,...,,{ mjimji qqqaqqq

},...,,{ mji qqq

Add transition

Page 101: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

101

Example

NFA

DFA

a

b

a

0q 1q 2q

},{),(* 210 qqaq

0q 21,qqa

210 ,, qqaq

Step 2

Page 102: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

102

Procedure NFA to DFA

Repeat Step 2 for all letters in alphabet,

until

no more transitions can be added.

Page 103: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

103

Example

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

Step 3

Page 104: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

104

Procedure NFA to DFA

3. For any DFA state

If some is a final state in the NFA

Then

is a final state in the DFA

},...,,{ mji qqq

jq

},...,,{ mji qqq

Page 105: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

105

Example

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

Fq 1

Fqq 21,

Step 4

Page 106: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

106

Theorem

Take NFA M

Apply procedure to obtain DFA M

Then and are equivalent :M M

MLML

Page 107: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

107

Languages

accepted

by NFAs

Languages

accepted

by DFAsWe have proven (proof by construction):

Regular Languages

END OF PROOF

Page 108: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

108

Nondeterministic

vs.

Deterministic Automata

Page 109: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

109

Formal Definition of NFA

FqQM ,,,, 0

:Q Set of states, i.e. 210 ,, qqq: Input alphabet, i.e. ba,: Transition function

:0q Initial state

:F Final (accepting) states

NFA is a mathematical model defined as a quintuple:

Page 110: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

110

Deterministic Finite Automata

A deterministic finite automaton (DFA) is a special case of a nondeterministic finite automaton in which

1. no state has an -transition, i.e. a transition on input , and

2. for each state q and input symbol a, there is at most one edge labeled a leaving q.

Page 111: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

111

STATEINPUT SYMBOL

a b

0

1

2

{0, 1}

--

{0}

{2}

{3}

Transition table for the finite automaton above

A nondeterministic finite automaton

b

0start

1a

2b b

3

a

Example

Page 112: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

112

NFA accepting aa* + bb*

0start

1

a2

a

3

b4

b

Example

Page 113: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

113

NFA accepting (a+b)*abb

0start

1a

2b b

b

a a

a

b

3

a

Example

Page 114: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

114

NFA recognizing three different patterns.

(a) NFA for a, abb, and a*b+.

(b) Combined NFA.

Example

4

1start a

2

3start a

65b b

7start b

8

ba

4

1

start

a2

3a

65b b

7b

8

ba

0

Page 115: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

115

Ways to think of nondeterminism

• always make the correct guess• “backtracking” (systematically try all possibilities)

For a particular string, imagine a tree of possiblestate transitions:

q0

q3

q0

q4

q2

q1a

a

a

a

b

a

Page 116: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

116

Advantages of nondeterminism

• an NFA can be smaller, easier to construct and easier to understand than a DFA that accepts the same language

• useful for proving some theorems• good introduction to nondeterminism in more

powerful computational models, where nondeterminism plays an important role

Page 117: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

117

Space and time taken to recognize regular expressions:- NFA more compact but take time to backtrack all choices- DFA take place, but save time

AUTOMATON SPACE TIME

NFA

DFA

O(|r|)

O(2|r|)

O(|r||x|)

O(|x|)

Determinism vs. nondeterminism

(Where r is regular expression, and x is input string)

Page 118: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

118

Equivalent automata

Two finite automata M1 and M2 are equivalent if

L(M1) = L(M2)

that is, if they both accept the same language.

Page 119: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

119

Equivalence of NFAs and DFAs

To show that NFAs and DFAs accept the same class of languages, we show two things:

– Any language accepted by a DFA can also be accepted by some NFA (As DFA is a special case of NFA)

– Any language accepted by a NFA can also be accepted by some (corresponding, specially constructed) DFA

Page 120: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

120

Proof strategy

To show that any language accepted by a NFA is also accepted by some DFA, we describe an algorithm that takes any NFA and converts it into a DFA that accepts the same language.

The algorithm is called the “subset construction algorithm”.

We can use mathematical induction (on the length of a string accepted by the automaton) to prove the DFA that is constructed accepts the same language as the NFA.

Page 121: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

121

Converting NFA to DFA Subset Construction

http://www.math.uu.se/~salling/Movies/SubsetConstruction.mov

Page 122: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

122

Subset construction

Given a NFA constructs a DFA that accepts the same language

The equivalent DFA simulates the NFA by keeping track of the possible states it could be in. Each state of the DFA is a subset of the set of states of the NFA -hence, the name of the algorithm.

If the NFA has n states, the DFA can have as many as 2n states, although it usually has many less.

Page 123: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

123

Steps of subset construction

The initial state of the DFA is the set of all states the NFA can be in without reading any input.

For any state {qi,qj,…,qk} of the DFA and any input a, the next state of the DFA is the set of all states of the NFA that can result as next states if the NFA is in any of the states qi,qj,…,qk when it reads a. This includes states that can be reached by reading a, followed by any number of -moves. Use this rule to keep adding new states and transitions until it is no longer possible to do so.

The accepting states of the DFA are those states that contain an accepting state of the NFA.

Page 124: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

124

Example

Here is a NFA that we want to convert to an equivalent DFA.

a

b

b

01

2

b

a

a

b

Page 125: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

125

{0,1}

The start state of the DFA is the set of states the NFA can be in before reading any input. This includes the start state of the NFA and any states that can be reached by a -transition.

a

b

b

b

a

a

01

2

b

NFA

DFA

Page 126: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

126

{0,1}

a

b

{2}

For start state {0,1}, make transitions for each possible input, here a and b. Reading b from start {0,1}, we reach state {2}. Means from either {0}, or {1} we reach {2}.

a

b

b

b

a

a

01

2

b

NFADFA

Page 127: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

127

For state {2}, we create a transition for each possible input, a and b. From {2}, with b we are either back to {2} (loop) or we reach {1}- see the little framed original NFA. So from {2}, with b we end in state {1, 2}. Reading a leads us from {2} to {0} in the original NFA, which means state {0, 1} in the new DFA.

ba

a

b{0,1}{1,2}

{2}

a

b

b

b

a

a

01

2

b

NFADFA

Page 128: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

128

For state {1, 2}, we make again transition for eachpossible input, a and b. From {2} a leads us to {0}. From {1} with a we are back to {1}. So, we reach {0, 1} with a from {1,2}. With b we are back to {1,2}.

At this point, a transition is defined for every state-input pair.

ba

a

b{0,1}

{1,2}

{2}

b

a

DFA a

b

b

b

a

a

01

2

b

NFA

Page 129: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

129

The last step is to mark the final states of the DFA.As {1} was the accepting state in NFA, all states containing {1} in DFA will be accepting states: ({0, 1} and {1, 2}).

ba

a

b{0,1}

{1,2}

{2}

b

a

DFA a

b

b

b

a

a

01

2

b

NFA

Page 130: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

130

Subset Construction Algorithm

Page 131: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

131

Subset Construction

States of nondeterministic M´ will correspond to sets of states of deterministic M

Where q0 is start state of M, use {q0} as start state of M´.

Accepting states of M´ will be those state-sets containing at least one accepting state of M.

Page 132: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

132

Subset Construction (cont.)

For each state-set S and for each s in alphabet of M, we draw an arc labeled s from state S to that state-set consisting of all and only the s-successors of members of S.

Eliminate any state-set, as well as all arcs incident upon it, such that there is no path leading to it from {q0}.

Page 133: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

133

The power set of a finite set, Q, consists of 2|Q| elements

The DFA corresponding to a given NFA with Q states have a finite number of states, 2|Q|.

If |Q| = 0 then Q is the empty set, | P(Q)| = 1 = 20.

If |Q| = N and N 1, we construct subset of a given set so that for each element of the initial set there are two alternatives, either is the element member of a subset or not. So we have

2 · 2 · 2 · 2 · 2 · 2 · 2…. ·2 = 2N

N times

Page 134: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

134

From an NFA to a DFA

Subset Construction

Operation Description

- closure(s)

- closure(T)

Move(T,a)

Set of NFA states reachable from an NFA state s on -transitions along

Set of NFA states reachable from some NFA state s in T on -transitions along

Set of NFA states reachable from some NFA state set with a transition on input symbol a

Page 135: CD5560 FABER Formal Languages, Automata  and Models of Computation Lecture 3 Mälardalen University

135

From an NFA to a DFA

Subset Construction

Initially, -closure (s0) is the only states in D and it is unmarked

while there is an unmarked state T in D do mark T; for each input symbol a do U:= e-closure(move(T,a)); if U is not in D then add U as an unmarked state to D Dtran[T,a]:=U; end(for) end(while)