Top Banner
Fall 2006 Costas Busch - RPI 1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output
47

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

Jan 16, 2016

Download

Documents

Berenice Carter
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: 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