Finite-State Machines with No Output Longin Jan Latecki Temple University - PowerPoint PPT Presentation

About This Presentation
Title:

Finite-State Machines with No Output Longin Jan Latecki Temple University

Description:

Title: Programming Language Concepts (CIS 280) Author: me Last modified by: Longin Jan Latecki Created Date: 9/7/2000 6:00:31 PM Document presentation format – PowerPoint PPT presentation

Number of Views:110
Avg rating:3.0/5.0
Slides: 100
Provided by: me771
Learn more at: https://cis.temple.edu
Category:

less

Transcript and Presenter's Notes

Title: Finite-State Machines with No Output Longin Jan Latecki Temple University


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

2
Kleene closure
  • A and B are subsets of V, where V is a
    vocabularyThe concatenation of A and B
    isABxy x string in A and y string in B
  • Example A0, 11 and B1, 10,
    110AB01,010,0110,111,1110,11110
  • What is BA?
  • A0?An1AnA for n0,1,2,

3
Let A be any subset of V. Kleene closure of A,
denoted by A, is
Examples If C11, C12n n0,1,2, If
B0,1, BV.
4
Regular Expressions
  • Regular expressions
  • describe regular languages
  • Example
  • describes the language

5
Recursive Definition
Primitive regular expressions
6
Examples
A regular expression
7
Languages of Regular Expressions
  • language of regular expression
  • Example

8
Definition
  • For primitive regular expressions

9
Definition (continued)
  • For regular expressions and

10
Example
  • Regular expression

11
Example
  • Regular expression

12
Example
  • Regular expression

13
Example
  • Regular expression

14
Example
  • Regular expression

15
Equivalent Regular Expressions
  • Definition
  • Regular expressions and
  • are equivalent if

16
Example
all strings without two consecutive 0

17
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)

18
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

19
Finite (State) Automata
  • A FA 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

letter digit
letter
S
A
20
Finite Automaton
Input

String
Output
Accept or Reject
Finite Automaton
21
Finite State Automata
  • A finite state automation 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

22
Transition Graph

initial state
accepting state
transition
state
23
Initial Configuration
Input String

24
Reading the Input

25

26

27

28
Input finished
accept
29
Rejection

30

31

32

33
Input finished
reject
34
Another Rejection

35

reject
36
Another Example
37
(No Transcript)
38
(No Transcript)
39
(No Transcript)
40
Input finished
accept
41
Rejection Example
42
(No Transcript)
43
(No Transcript)
44
(No Transcript)
45
Input finished
reject
46
Finite State Automata
  • A finite state automation M(S,S,d,s0,F) consists
    of
  • a finite set S of states,
  • a finite input alphabet S,
  • a state transition function d S x S ? S,
  • an initial state s0,
  • F subset of S that represent the final states.

47
Finite Automata
  • Transition
  • s1 ?a s2
  • Is read In state s1 on input a go to state
    s2
  • If end of input
  • If in accepting state gt accept
  • Otherwise gt reject
  • If no transition possible (got stuck) gt reject
  • FSA Finite State Automata

48
Input Alphabet

49
Set of States

50
Initial State

51
Set of Accepting States

52
Transition Function

53

54

55
(No Transcript)
56
Transition Function

57
Exercise
Construct the state diagram for M(S,S,d,s0,F),
where Ss0, s1, s2, s3, S0,1, Fs0, s3and
the transition function d
state Input 0 Input 1
s0 s0 s1
s1 s0 s2
s2 s0 s0
s3 s2 s1
58
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.

letter digit
letter
S
A
59
Example
  • FSA that accepts three letter English words that
    begin with p and end with d or t.
  • Here we use the convenient notation of making the
    state name match the input that has to be on the
    edge leading to that state.

a
t
p
i
o
d
u
60
Example

accept
61
Example

accept
accept
accept
62
Example

trap state
accept
63
Extended Transition Function

64
(No Transcript)
65
(No Transcript)
66
(No Transcript)
67
Observation if there is a walk from to
with label then
68
Example There is a walk from to
with label
69
Recursive Definition
70

71
Language Accepted by FAs
  • For a FA
  • Language accepted by

72
Observation
  • Language rejected by

73
Example
all strings with prefix

accept
74
Example
all strings without substring

75
Example

76
Deterministic FSAs
  • If FSA has for every state exactly one edge for
    each letter in alphabet then FSA is deterministic
  • In general FSA in non-deterministic.
  • Deterministic FSA special kind of
    non-deterministic FSA

77
Example FSA
  • Regular expression (0 ? 1) 1
  • Deterministic FSA

78
Example DFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1

79
Example DFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1

1
0
1
0
80
Example DFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1

1
0
1
0
81
Example DFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1

1
0
1
0
82
Example DFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1

1
0
1
0
83
Example DFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1

1
0
1
0
84
Example DFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1

1
0
1
0
85
Example NFSA
  • Regular expression (0 ? 1) 1
  • Non-deterministic FSA

0
1
1
86
Example NFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
87
Example NFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
88
Example NFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
89
Example NFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1
  • Guess
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
90
Example NFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1
  • Backtrack
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
91
Example NFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1
  • Guess again
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
92
Example NFSA
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1
  • Guess
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
93
Example NFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1
  • Backtrack
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
94
Example NFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1
  • Guess again
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
95
Example NFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
96
Example NFSA
  • Regular expression (0 ? 1) 1
  • Accepts string 0 1 1 0 1
  • Guess (Hurray!!)
  • Regular expression (0 1) 1
  • Accepts string 0 1 1 0 1

0
1
1
97
If a language L is recognized by a
nondeterministic FSA, then L is recognized by a
deterministic FSA Example 9, p. 763
98
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.
  • Tablejk
  • which state to go to from state j on character k,
  • an empty entry corresponds to the machine getting
    stuck.

99
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 input
  • if state is a final state then accept
  • else reject
  • state Tstate,k
  • if state empty then reject // got stuck
Write a Comment
User Comments (0)
About PowerShow.com