Lec 3 ---- dfa

57
Fall 2006 Costas Busch - RPI 1 Deterministic Finite Automata And Regular Languages

Transcript of Lec 3 ---- dfa

Page 1: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 1

Deterministic Finite Automata

And Regular Languages

Page 2: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 2

Deterministic Finite Automaton (DFA)

Input Tape

“Accept” or“Reject”

String

FiniteAutomaton

Output

Page 3: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 3

Transition Graph

initialstate

accepting state

statetransition

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

5q

a a bb

ba,

ba,

Page 4: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 4

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

5q

a a bb

ba,

ba,

},{ ba

For every state, there is a transitionfor every symbol in the alphabet

Alphabet

Page 5: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 5

Initial Configuration

1q 2q 3q 4qa b b a

5q

a a bb

ba,Input Stringa b b a

ba,0q

Initial state

Input Tapehead

Page 6: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 6

Scanning the Input

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

5q

a a bb

ba,

a b b a

ba,

Page 7: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 7

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

5q

a a bb

ba,

a b b a

ba,

Page 8: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 8

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

5q

a a bb

ba,

a b b a

ba,

Page 9: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 9

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

accept

5q

a a bb

ba,

a b b a

ba,

Input finished

Page 10: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 10

1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,0q

A Rejection Case

Input String

Page 11: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 11

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

5q

a a bb

ba,

a b a

ba,

Page 12: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 12

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

5q

a a bb

ba,

a b a

ba,

Page 13: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 13

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

5q

a a bb

ba,

reject

a b a

ba,

Input finished

Page 14: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 14

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,0q

)(

Another Rejection CaseTape is empty

reject

Input Finished

Page 15: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 15

Language Accepted: abbaL

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

5q

a a bb

ba,

ba,

Page 16: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 16

To accept a string:all the input string is scanned and the last state is accepting

To reject a string:all the input string is scanned and the last state is non-accepting

Page 17: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 17

Another Example

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

5q

a a bb

ba,

ba,

abbaabL ,,

Acceptstate

Acceptstate

Acceptstate

Page 18: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 18

)(Empty Tape

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

5q

a a bb

ba,

ba,

accept

Input Finished

Page 19: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 19

Another Example

a

b ba,

ba,

0q 1q 2q

Accept state

trap state

Page 20: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 20

a

b ba,

ba,

0q 1q 2q

a ba

Input String

Page 21: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 21

a

b ba,

ba,

0q 1q 2q

a ba

Page 22: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 22

a

b ba,

ba,

0q 1q 2q

a ba

Page 23: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 23

a

b ba,

ba,

0q 1q 2q

a ba

accept

Input finished

Page 24: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 24

a

b ba,

ba,

0q 1q 2q

ab b

A rejection case

Input String

Page 25: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 25

a

b ba,

ba,

0q 1q 2q

ab b

Page 26: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 26

a

b ba,

ba,

0q 1q 2q

ab b

Page 27: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 27

a

b ba,

ba,

0q 1q 2q

ab b

reject

Input finished

Page 28: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 28

Language Accepted: }0:{ nbaL n

a

b ba,

ba,

0q 1q 2q

Page 29: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 29

Another Example

0q 1q

1

1

}1{Alphabet:

Language Accepted:even} is and :{ * xxxEVEN

},111111,1111,11,{

Page 30: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 30

Formal Definition Deterministic Finite Automaton (DFA)

FqQM ,,,, 0

Q

0q

F

: set of states: input alphabet: transition function: initial state: set of accepting states

Page 31: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 31

Set of States

Q

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

5q

a a bb

ba, 543210 ,,,,, qqqqqqQ

ba,

Example

Page 32: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 32

Input Alphabet

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

5q

a a bb

ba, ba,

ba,

:the input alphabet never contains

Example

Page 33: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 33

Initial State

0q

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,0q

Example

Page 34: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 34

Set of Accepting States

QF

0q 1q 2q 3qa b b a

5q

a a bb

ba, 4qF

ba,

4q

Example

Page 35: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 35

Transition Function

QQ :

q qx

qxq ),(

Describes the result of a transitionfrom state with symbolq x

Page 36: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 36

2q 3q 4qa b b a

5q

a a bb

ba,

ba,0q 1q

10 , qaq Example:

Page 37: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 37

50 , qbq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,0q

Page 38: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 38

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

5q

a a bb

ba,

ba,

32 , qbq

Page 39: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 39

a b

0q

1q

2q

3q

4q

5q

1q 5q

5q 2q5q 3q

4q 5q

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

5q

a a bb

ba,

ba,5q5q5q5q

Transition Table for st

ates

symbols

Page 40: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 40

Extended Transition Function QQ ** :

qwq ),(*

Describes the resulting state after scanning string from statew q

Page 41: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 41

20

* , qabq

3q 4qa b b a

5q

a a bb

ba,

ba,0q 1q 2q

Example:

Page 42: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 42

50* , qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,0q

Page 43: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 43

41* , qbbaq

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

5q

a a bb

ba,

ba,

Page 44: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 44

Special case:

qq ,*

for any state q

Page 45: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 45

qwq ,*

q qw

q qkw 21

1 2 k

states may be repeated

In general:

implies that there is a walk of transitions

Page 46: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 46

Language Accepted by DFA

it is denoted as and containsall the strings accepted by

MLM

MLanguage of DFA :

We say that a language is accepted (or recognized) by DFA if M

L

LML

Page 47: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 47

For a DFA

Language accepted by :

FqQM ,,,, 0

M FwqwML ,: 0

**

0q qw Fq

Page 48: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 48

Language rejected by :

FwqwML ,: 0**

M

0q qw Fq

Page 49: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 49

0q

More DFA Examples

ba,},{ ba

*)( ML

0q

ba,

}{)( MLEmpty language All strings

Page 50: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 50

0q

ba,

},{ ba

0q ba,

}{)( MLLanguage of the empty string

Page 51: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 51

ML = { all strings with prefix }ab

a b

ba,

0q 1q 2q

accept

ba,3q

ab

},{ ba

Page 52: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 52

ML = { all binary strings containing substring }001

0 00 001

1

0

110

0 1,0

Page 53: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 53

ML = { all binary strings without substring }001

0 00 001

1

0

110

0 1,0

Page 54: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 54

*,:)( bawawaML

a

b

ba,

a

b

ba

0q 2q 3q

4q

Page 55: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 55

Regular LanguagesDefinition:A language is regular if there is a DFA that accepts it ( )

The languages accepted by all DFAs form the family of regular languages

LM LML )(

Page 56: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 56

abba abbaab,,

}0:{ nban { all strings in {a,b}* with prefix }ab{ all binary strings without substring }001

Example regular languages:

There exist automata that accept theselanguages (see previous slides).

*,: bawawa

even} is and }1{:{ * xxx

}{ }{ *},{ ba

Page 57: Lec 3  ---- dfa

Fall 2006 Costas Busch - RPI 57

There exist languages which are not Regular:

}0:{ nbaL nn

There is no DFA that accepts these languages

(we will prove this in a later class)

}n ,1z,1y,1x :{ mn

kmzyxADDITION k