Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch...

98
Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch , and Longin Jan Latecki, Temple University

Transcript of Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch...

Page 1: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Finite-State Machines with No OutputYing Lu

Based on Slides by Elsa L Gunter, NJIT,

Costas Busch, and Longin Jan Latecki, Temple University

Page 2: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Kleene closure

• A and B are two sets of strings. The concatenation of A and B isAB={xy: x string in A and y string in B}

• Example: A={0, 11} and B={1, 10, 110}AB={01,010,0110,111,1110,11110}

• A0={λ}, where λ represents the empty stringAn+1=AnA for n=0,1,2,…

Page 3: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Let A be any set of strings formed of characters in V.Kleene closure of A, denoted by A*, is

0

*

k

kAA

Examples:If C={11}, then C*={12n: n=0,1,2,…}

If B={0,1}, then B*={all binary strings}.

Page 4: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Finite State Automata

• A FSA is similar to a compiler in that: – A compiler recognizes legal programs in some (source) language.

– A finite-state machine recognizes legal strings in some language.

• Example: Pascal Identifiers– sequences of one or more letters or digits,

starting with a letter:

letterletter | digit

S A

Page 5: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Finite Automaton

• Input

“Accept” or“Reject”

String

FiniteAutomaton

Output

Page 6: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Finite State Automata

• A finite state automaton over an alphabet is illustrated by a state diagram:

– a directed graph– edges are labeled with elements of alphabet,– some nodes (or states), marked as final– one node marked as start state

Page 7: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Transition Graph

initialstate

accepting state

statetransition

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

5q

a a bb

ba,

ba,

Page 8: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Initial Configuration

1q 2q 3q 4qa b b a

5q

a a bb

ba,

Input Stringa b b a

ba,

0q

Page 9: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Reading the Input

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

5q

a a bb

ba,

a b b a

ba,

Page 10: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

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

5q

a a bb

ba,

a b b a

ba,

Page 11: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

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

5q

a a bb

ba,

a b b a

ba,

Page 12: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

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

5q

a a bb

ba,

a b b a

ba,

Page 13: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

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

accept

5q

a a bb

ba,

a b b a

ba,

Input finished

Page 14: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Rejection

1q 2q 3q 4qa b b a

5q

a a bb

ba,

a b a

ba,

0q

Page 15: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

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

5q

a a bb

ba,

a b a

ba,

Page 16: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

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

5q

a a bb

ba,

a b a

ba,

Page 17: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

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

5q

a a bb

ba,

a b a

ba,

Page 18: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

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

5q

a a bb

ba,

reject

a b a

ba,

Input finished

Page 19: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Another Rejection

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 20: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

reject

Page 21: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Another Example

a

b ba,

ba,

0q 1q 2q

a ba

Page 22: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

a

b ba,

ba,

0q 1q 2q

a ba

Page 23: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

a

b ba,

ba,

0q 1q 2q

a ba

Page 24: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

a

b ba,

ba,

0q 1q 2q

a ba

Page 25: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

a

b ba,

ba,

0q 1q 2q

a ba

accept

Input finished

Page 26: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Rejection Example

a

b ba,

ba,

0q 1q 2q

ab b

Page 27: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

a

b ba,

ba,

0q 1q 2q

ab b

Page 28: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

a

b ba,

ba,

0q 1q 2q

ab b

Page 29: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

a

b ba,

ba,

0q 1q 2q

ab b

Page 30: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

a

b ba,

ba,

0q 1q 2q

ab b

reject

Input finished

Page 31: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Finite State Automata

• A finite state automaton M=(S,Σ,δ,s0,F) consists of

• a finite set S of states,

• a finite input alphabet Σ,

• a state transition function δ: S x Σ S,

• an initial state s0,

• F subset of S that represent the final states.

Page 32: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Finite Automata

• Transition

• Is read ‘In state s1 on input “a” go to state s2’

• At the end of input– If in accepting state => accept

– Otherwise => reject

• If no transition possible (got stuck) => reject

• FSA = Finite State Automata

21 ss a

Page 33: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Input Alphabet

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

5q

a a bb

ba,

ba,

ba,

Page 34: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Set of States

Q

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

5q

a a bb

ba,

543210 ,,,,, qqqqqqQ

ba,

Page 35: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Initial State

0q

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 36: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Set of Accepting States

F

0q 1q 2q 3qa b b a

5q

a a bb

ba,

4qF

ba,

4q

Page 37: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Transition Function

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

5q

a a bb

ba,

SS :

ba,

Page 38: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

10 , qaq

2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q

Page 39: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

50 , qbq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 40: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

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

5q

a a bb

ba,

ba,

32 , qbq

Page 41: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Transition Function

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

5q

a a bb

ba,

a b

0q

1q

2q

3q

4q

5q

1q 5q

5q 2q

5q 3q

4q 5q

ba,5q5q5q5q

Page 42: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Language accepted by FSA

• The language accepted by a FSA is the set of strings accepted by the FSA.

• in the language of the FSM shown below: x, tmp2, XyZzy, position27.

• not in the language of the FSM shown below: • 123, a?, 13apples.

letterletter | digit

S A

Page 43: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example

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

5q

a a bb

ba,

ba,

abbaML M

accept

Page 44: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example

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

5q

a a bb

ba,

ba,

abbaabML ,, M

acceptacceptaccept

Page 45: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example•

a

b ba,

ba,

0q 1q 2q

}0:{ nbaML n

accept trap state

Page 46: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Extended Transition Function

*

QQ *:*

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

5q

a a bb

ba,

ba,

Page 47: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

20 ,* qabq

3q 4qa b b a

5q

a a bb

ba,

ba,

0q 1q 2q

Page 48: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

40 ,* qabbaq

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

5q

a a bb

ba,

ba,

Page 49: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

50 ,* qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Page 50: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

qwq ,*

Observation: if there is a walk from to with label then

q qw

q qw

q qkw 21

1 2 k

Page 51: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

50 ,* qabbbaaq

1q 2q 3q 4qa b b a

5q

a a bb

ba,

ba,

0q

Example: There is a walk from to with label

0qabbbaa

5q

Page 52: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Recursive Definition )),,(*(,*

,*

wqwq

qq

q qw1q

qq

qwq

),(

,*

1

1

1

,*

),(,*

qwq

qwq

)),,(*(,* wqwq

Page 53: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Language Accepted by FSAs

• For a FSA

• Language accepted by :

FqQM ,,,, 0

M

FwqwML ,*:* 0

0q qw Fq

Page 54: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Observation

• Language rejected by :

FwqwML ,*:* 0

M

0q qw Fq

Page 55: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example

• ML = { all strings with prefix }ab

a b

ba,

0q 1q 2q

accept

ba,3q

ab

Page 56: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example

• ML = { all strings without substring }001

0 00 001

1

0

1

10

0 1,0

Page 57: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example

• *,:)( bawawaML

a

b

ba,

a

b

ba

0q 2q 3q

4q

Page 58: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Deterministic FSAs

• If a FSA has for every state exactly one edge for each letter in alphabet then FSA is deterministic

• In general a FSA is non-deterministic.

• Deterministic FSA special kind of non-deterministic FSA

Page 59: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example FSA

• Deterministic FSA

• Regular expression: (0 1)* 1

0 1

1

0

Page 60: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example DFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0 1

1

0

Page 61: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example DFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0 1

1

0

Page 62: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example DFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0 1

1

0

Page 63: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example DFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0 1

1

0

Page 64: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example DFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0 1

1

0

Page 65: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example DFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0 1

1

0

Page 66: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example DFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0 1

1

0

Page 67: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Non-deterministic FSA

0

1

1

Page 68: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 69: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 70: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 71: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

• Guess

0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 72: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

• Backtrack

0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 73: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

• Guess again

0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 74: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

• Guess0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 75: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

• Backtrack

0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 76: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

• Guess again

0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 77: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 78: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example NFSA

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

• Guess (Hurray!!)

0

1

1

• Regular expression: (0 1)* 1

• Accepts string 0 1 1 0 1

Page 79: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

If a language L is recognized by a nondeterministic FSA, then L is recognized by a deterministic FSA

NFSA FSA

Page 80: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

How to Implement an FSA

A table-driven approach:• table:

– one row for each state in the machine, and

– one column for each possible character.

• Table[j][k] – which state to go to from state j on character k,

– an empty entry corresponds to the machine getting stuck.

Page 81: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

The table-driven program for a Deterministic FSA

state = S // S is the start state

repeat {k = next character from the input

if (k == EOF) // the end of inputif state is a final state then acceptelse reject

state = T[state,k]

if state = empty then reject // got stuck

}

Page 82: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

In-Class Exercise

• Construct a finite-state automaton that recognizes the set of bit strings consisting of a 0 followed by a string with an odd number of 1s.

Page 83: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Appendix

Page 84: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Regular Expressions

Regular expressions

describe regular languages

Example:

describes the language

*)( cba

,...,,,,,*, bcaabcaabcabca

Page 85: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Recursive Definition,,

1

1

21

21

*

r

r

rr

rr

Are regular expressions

Primitive regular expressions:

2r1rGiven regular expressions and

Page 86: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Examples

)(* ccbaA regular expression:

baNot a regular expression:

Page 87: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Languages of Regular Expressions

: language of regular expression

Example

rL r

,...,,,,,*)( bcaabcaabcacbaL

Page 88: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Definition

For primitive regular expressions:

aaL

L

L

Page 89: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Definition (continued)

For regular expressions and

1r 2r

2121 rLrLrrL

2121 rLrLrrL

** 11 rLrL

11 rLrL

Page 90: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

ExampleRegular expression: *aba

*abaL *aLbaL *aLbaL *aLbLaL

*aba ,...,,,, aaaaaaba

,...,,,...,,, baababaaaaaa

Page 91: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example

Regular expression bbabar *

,...,,,,, bbbbaabbaabbarL

Page 92: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example

Regular expression bbbaar **

}0,:{ 22 mnbbarL mn

Page 93: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example

Regular expression *)10(00*)10( r

)(rL = { all strings with at least two consecutive 0 }

Page 94: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example

Regular expression )0(*)011( r

)(rL = { all strings without two consecutive 0 }

Page 95: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Equivalent Regular Expressions

• Definition:

• Regular expressions and

• are equivalent if

1r 2r

)()( 21 rLrL

Page 96: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example

L= { all strings without two consecutive 0 }

)0(*)011(1 r

)0(*1)0(**)011*1(2 r

LrLrL )()( 211r 2rand

are equivalentregular expr.

Page 97: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Example: Lexing

• Regular expressions good for describing lexemes (words) in a programming language– Identifier = (a b … z A B … Z) (a

b … z A B … Z 0 1 … 9 _ ‘ )*

– Digit = (0 1 … 9)

Page 98: Finite-State Machines with No Output Ying Lu Based on Slides by Elsa L Gunter, NJIT, Costas Busch Costas Busch, and Longin Jan Latecki, Temple University.

Implementing Regular Expressions

• Regular expressions, regular grammars reasonable way to generates strings in language

• Not so good for recognizing when a string is in language

• Regular expressions: which option to choose, how many repetitions to make

• Answer: finite state automata