lect3-4
TRANSCRIPT
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 1/26
Lecture 3 Graph Representation
for Regular Expressions
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 2/26
digraph (directed graph)
• A digraph is a pair of sets (V, E) such that
each element of E is an ordered pair of
elements in V.
• A path is an alternative sequence of
vertices and edges such that all edges are
in the same direction.
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 3/26
string-labeled digraph
• A string-labeled digraph is a digraph in
which each edge is labeled by a string.
• In a string-labeled digraph, every path is
associated with a string which is obtained
by concatenating all strings on the path.
• This string is called the label of the path.
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 4/26
G(r)
• For each regular expression r , we can
construct a digraph G(r) with edges
labeled by symbols and ε as follows.
• If r=Φ, then
• If r≠Φ, then
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 8/26
Theorem 1
• G(r) has a property that a string x belongs
to r if and only if x is the label of a path
from the initial vertex to the final vertex.
• Proof is done by induction on r .
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 9/26
Graph Representation
• A graph representation of a regular
expression r is a string-labeled graph with
an initial vertex s and a final vertex f such
that a string x belongs to r if and only if x isassociated with a path from s to f .
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 10/26
Corollary 2
• For any regular expression r , there exists
a string-labeled digraph with two special
vertices, a initial vertex s and a final vertex
f , such that a string x belongs to r if andonly if x is associated with a path from s to
f .
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 15/26
Lecture 4 Deterministic Finite
Automata (DFA)
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 18/26
• The head scans at a cell on the tape and
can read a symbol on the cell. In each
move, the head can move to the right cell.
a
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 19/26
• The finite control has finitely many states
which form a set Q. For each move, thestate is changed according to the
evaluation of a transition function
δ : Q x Σ → Q .
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 20/26
• δ (q, a) = p means that if the head reads
symbol a and the finite control is in the
state q, then the next state should be p,and the head moves one cell to the right.
pq
a a
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 21/26
• There are some special states: an initial
state s and a set F of final states.
• Initially, the DFA is in the initial state s and
the head scans the leftmost cell. The tapeholds an input string.
s
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 22/26
• When the head gets off the tape, the DFA
stops. An input string x is accepted by the
DFA if the DFA stops at a final state.
• Otherwise, the input string is rejected.
h
x
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 23/26
• The DFA can be represented by
M = (Q, Σ , δ , s, F)
where Σ is the alphabet of input symbols.
• The set of all strings accepted by a DFA M
is denoted by L(M). We also say that the
language L(M) is accepted by M .
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 24/26
• The transition diagram of a DFA is analternative way to represent the DFA.
• For M = (Q, Σ , δ , s, F), the transition diagram of
M is a symbol-labeled digraph G=(V, E) satisfying the following:
V = Q (s = , f = for f \in F )
E = { q p | δ (q, a) = p}.a
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 25/26
L(M) = (0+1)*00(0+1)*.
δ 0 1
s p s
p q s
q q q
s p q
1
0
1
0
0, 1
8/12/2019 lect3-4
http://slidepdf.com/reader/full/lect3-4 26/26
The transition diagram of the DFA M has the
following properties:
• For every vertex q and every symbol a,
there exists an edge with label a from q.
• For each string x, there exists exactly one
path starting from the initial state s
associated with x.
• A string x is accepted by M if and only if
this path ends at a final state.