Transcript
Page 1: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 1

Deterministic Finite Automaton (DFA)

Input Tape

“Accept” or“Reject”

String

FiniteAutomaton

Output

Page 2: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 2

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 3: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 3

Language Accepted: abbaL

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

5q

a a bb

ba,

ba,

Page 4: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 4

Transition Graph

initialstate

accepting state

statetransition

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

5q

a a bb

ba,

ba,

Page 5: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 5

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

5q

a a bb

ba,

ba,

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

Page 6: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 6

Set of States

Q

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

5q

a a bb

ba, 543210 ,,,,, qqqqqqQ

ba,

Example

Page 7: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 7

Input Alphabet

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

5q

a a bb

ba, ba,

ba,

:the input alphabet never contains

Example

Page 8: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 8

Initial State

0q

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Example

Page 9: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 9

Set of Accepting States

QF

0q 1q 2q 3qa b b a

5q

a a bb

ba, 4qF

ba,

4q

Example

Page 10: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 10

Transition Function

QQ :

q qx

qxq ),(

Describes the result of a transitionfrom state with symbolq x

Page 11: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 11

2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q

10 , qaq Example:

Page 12: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 12

50 , qbq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 13: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 13

a b

0q

1q

2q

3q

4q

5q

1q 5q

5q 2q

5q 3q

4q 5q

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

5q

a a bb

ba,

ba,5q5q5q5q

Transition Table for st

ate

ssymbols

Page 14: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 14

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 15: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 15

Initial Configuration

1q 2q 3q 4qa b b a

5q

a a bb

ba,Input String

a b b a

ba,

0q

Initial state

Input Tape

head

Page 16: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 16

Scanning the Input

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

5q

a a bb

ba,

a b b a

ba,

Page 17: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 17

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

5q

a a bb

ba,

a b b a

ba,

Page 18: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 18

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

5q

a a bb

ba,

a b b a

ba,

Page 19: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 19

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

accept

5q

a a bb

ba,

a b b a

ba,

Input finished

Page 20: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 20

1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

0q

A Rejection Case

Input String

Page 21: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 21

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

5q

a a bb

ba,

a b a

ba,

Page 22: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 22

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

5q

a a bb

ba,

a b a

ba,

Page 23: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 23

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

5q

a a bb

ba,

reject

a b a

ba,

Input finished

Page 24: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 24

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

)(

Another Rejection Case

Tape is empty

reject

Input Finished

Page 25: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 25

Extended Transition Function QQ ** :

qwq ),(*

Describes the resulting state after scanning string from statew q

Page 26: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 26

20* , qabq

3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q 2q

Example:

Page 27: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 27

50* , qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 28: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 28

41* , qbbaq

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

5q

a a bb

ba,

ba,

Page 29: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 29

Another Example

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

5q

a a bb

ba,

ba,

abbaabL ,,

Acceptstate

Acceptstate

Acceptstate

Page 30: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 30

)(

Empty Tape

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

5q

a a bb

ba,

ba,

accept

Input Finished

Page 31: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 31

Another Example

a

b ba,

ba,

0q 1q 2q

Accept state

trap state

Page 32: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 32

a

b ba,

ba,

0q 1q 2q

a ba

Input String

Page 33: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 33

a

b ba,

ba,

0q 1q 2q

a ba

Page 34: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 34

a

b ba,

ba,

0q 1q 2q

a ba

Page 35: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 35

a

b ba,

ba,

0q 1q 2q

a ba

accept

Input finished

Page 36: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 36

a

b ba,

ba,

0q 1q 2q

ab b

A rejection case

Input String

Page 37: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 37

a

b ba,

ba,

0q 1q 2q

ab b

Page 38: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 38

a

b ba,

ba,

0q 1q 2q

ab b

Page 39: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 39

a

b ba,

ba,

0q 1q 2q

ab b

reject

Input finished

Page 40: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 40

Language Accepted: }0:{ nbaL n

a

b ba,

ba,

0q 1q 2q

Page 41: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 41

Another Example

0q 1q

1

1

}1{Alphabet:

Language Accepted:

even} is and :{ * xxxEVEN

},111111,1111,11,{

Page 42: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 42

More DFA Examples

0q

ba,

},{ ba

*)( ML

0q

ba,

}{)( MLEmpty language All strings

Page 43: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 43

},{ ba

0q

ba,

0qba,

}{)( MLLanguage of the empty string

Page 44: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 44

ML = { all strings with prefix }ab

a b

ba,

0q 1q 2q

ba,3q

ab

},{ ba

Page 45: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 45

ML = { all binary strings containing substring }001

0 00 001

1

0

1

10

0 1,0

Page 46: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 Costas Busch - RPI 46

ML = { all binary strings without substring }001

0 00 001

1

0

1

10

0 1,0

Page 47: Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output

Fall 2006 47

*,:)( bawawaML

a

b

ba,

a

b

ba

0q 2q 3q

4q


Top Related