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

Post on 16-Jan-2016

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Fall 2006 Costas Busch - RPI 1

Deterministic Finite Automaton (DFA)

Input Tape

“Accept” or“Reject”

String

FiniteAutomaton

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

Fall 2006 Costas Busch - RPI 3

Language Accepted: abbaL

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

5q

a a bb

ba,

ba,

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,

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

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

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

Fall 2006 Costas Busch - RPI 8

Initial State

0q

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Example

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

Fall 2006 Costas Busch - RPI 10

Transition Function

QQ :

q qx

qxq ),(

Describes the result of a transitionfrom state with symbolq x

Fall 2006 Costas Busch - RPI 11

2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q

10 , qaq Example:

Fall 2006 Costas Busch - RPI 12

50 , qbq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

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

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

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

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,

Fall 2006 Costas Busch - RPI 17

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

5q

a a bb

ba,

a b b a

ba,

Fall 2006 Costas Busch - RPI 18

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

5q

a a bb

ba,

a b b a

ba,

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

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

Fall 2006 Costas Busch - RPI 21

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

5q

a a bb

ba,

a b a

ba,

Fall 2006 Costas Busch - RPI 22

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

5q

a a bb

ba,

a b a

ba,

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

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

Fall 2006 Costas Busch - RPI 25

Extended Transition Function QQ ** :

qwq ),(*

Describes the resulting state after scanning string from statew q

Fall 2006 Costas Busch - RPI 26

20* , qabq

3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q 2q

Example:

Fall 2006 Costas Busch - RPI 27

50* , qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Fall 2006 Costas Busch - RPI 28

41* , qbbaq

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

5q

a a bb

ba,

ba,

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

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

Fall 2006 Costas Busch - RPI 31

Another Example

a

b ba,

ba,

0q 1q 2q

Accept state

trap state

Fall 2006 Costas Busch - RPI 32

a

b ba,

ba,

0q 1q 2q

a ba

Input String

Fall 2006 Costas Busch - RPI 33

a

b ba,

ba,

0q 1q 2q

a ba

Fall 2006 Costas Busch - RPI 34

a

b ba,

ba,

0q 1q 2q

a ba

Fall 2006 Costas Busch - RPI 35

a

b ba,

ba,

0q 1q 2q

a ba

accept

Input finished

Fall 2006 Costas Busch - RPI 36

a

b ba,

ba,

0q 1q 2q

ab b

A rejection case

Input String

Fall 2006 Costas Busch - RPI 37

a

b ba,

ba,

0q 1q 2q

ab b

Fall 2006 Costas Busch - RPI 38

a

b ba,

ba,

0q 1q 2q

ab b

Fall 2006 Costas Busch - RPI 39

a

b ba,

ba,

0q 1q 2q

ab b

reject

Input finished

Fall 2006 Costas Busch - RPI 40

Language Accepted: }0:{ nbaL n

a

b ba,

ba,

0q 1q 2q

Fall 2006 Costas Busch - RPI 41

Another Example

0q 1q

1

1

}1{Alphabet:

Language Accepted:

even} is and :{ * xxxEVEN

},111111,1111,11,{

Fall 2006 Costas Busch - RPI 42

More DFA Examples

0q

ba,

},{ ba

*)( ML

0q

ba,

}{)( MLEmpty language All strings

Fall 2006 Costas Busch - RPI 43

},{ ba

0q

ba,

0qba,

}{)( MLLanguage of the empty string

Fall 2006 Costas Busch - RPI 44

ML = { all strings with prefix }ab

a b

ba,

0q 1q 2q

ba,3q

ab

},{ ba

Fall 2006 Costas Busch - RPI 45

ML = { all binary strings containing substring }001

0 00 001

1

0

1

10

0 1,0

Fall 2006 Costas Busch - RPI 46

ML = { all binary strings without substring }001

0 00 001

1

0

1

10

0 1,0

Fall 2006 47

*,:)( bawawaML

a

b

ba,

a

b

ba

0q 2q 3q

4q

top related