lect3-4

26
Lecture 3 Graph Representation for Regular Expressions

Upload: jenishcj

Post on 03-Jun-2018

221 views

Category:

Documents


0 download

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 5/26

8/12/2019 lect3-4

http://slidepdf.com/reader/full/lect3-4 6/26

Φ*

ε  ε 

8/12/2019 lect3-4

http://slidepdf.com/reader/full/lect3-4 7/26

 

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 11/26

8/12/2019 lect3-4

http://slidepdf.com/reader/full/lect3-4 12/26

8/12/2019 lect3-4

http://slidepdf.com/reader/full/lect3-4 13/26

 

8/12/2019 lect3-4

http://slidepdf.com/reader/full/lect3-4 14/26

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 16/26

8/12/2019 lect3-4

http://slidepdf.com/reader/full/lect3-4 17/26

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.