Download Presentation
Lecture 5 Examples of DFA

Loading in 2 Seconds...

1 / 17

# Lecture 5 Examples of DFA - PowerPoint PPT Presentation

Lecture 5 Examples of DFA. Construct DFA to accept (0+1)*. 0. 1. Construct DFA to accept 00(0+1)*. 0. 0. 0. 1. 1. 1. 1. 0. (0+1)*00(0+1)*. Idea : Suppose the string x 1 x 2 ··· x n is on the tape. Then we check x 1 x 2 , x 2 x 3 , ..., x n-1 x n in turn.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

## PowerPoint Slideshow about 'Lecture 5 Examples of DFA' - Anita

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Lecture 5 Examples of DFA

(0+1)*00(0+1)*
• Idea: Suppose the string x1x2···xn is on

the tape. Then we check x1x2, x2x3, ...,

xn-1xn in turn.

• Step 1. Build a checker

0

0

Step 2. Find all edges by the following consideration:

Consider x1x2.

• If x1=1, then we give up x1x2 and continue to check x2x3. So, we have δ(q0, 1) = q0.
• If x1x2 = 01, then we also give up x1x2 and continue to check x2x3. So,

δ(q1, 1) = δ(q0, 1) =q0.

• If x1x2 = 00, then x1x2··· xn is accepted for any x3···xn. So, δ(q2,0)=δ(q2,1)=q2.
(0+1)*00

0

1

0

0

1

1

And we want check x1 …xk, x2 …xk+1, …, in turn. If x1…xk

Is not the substring that we want and we need to check

x2…xk+1, then we set that for and i < k,

δ( δ(s, x1 …xi), xi+1) = δ(s, x1…xi xi+1).

2nd Solution-Parallel Machine

L(M) = (0+1)*00 M=(Q, Σ, δ, s, F)

L(M’)= (0+1)*01 M’=(Q’, Σ, δ’, s’, F’)

L(M’’) = (0+1)(00+01) = L(M) U L(M’)

Q’’ = {(q, q’) | q in Q, q’ in Q’}

δ’’((q, q’), a) = (δ(q, a), δ’(q’, a))

s’’ = (s, s’)

F’’ = { (q, q’) | q in F or q’ in F’ }.

1

0

0

1

1

0

0

0

c

a

c

b

a

0

b

1

1

1

0

1

a

0

b

0

c

a

b

b

1

1

0

1

a

c

Union, Intersection, subtraction

Union: F’’ = {(q,q’) | q in F or q’ in F’}

Intersection: F’’= {(q,q’) | q in F and q’ in F’}

Subtraction: L(M) \ L(M’)

F’’ = {(q,q’) | q in F and q’ not in F’}

1

0

0

1

1

0

0

0

c

a

c

b

a

0

b

1

1

1

0

1

a

0

b

0

c

a

b

b

1

1

(0+1)*00 ∩ (0+1)*01

0

1

a

c

c

c

1

0

0

1

1

0

0

0

c

a

c

b

a

0

b

1

1

1

0

1

a

0

b

0

c

a

b

b

1

1

(0+1)*00 \ (0+1)*01

0

1

a

c

Complement
• L(M’)= Σ*-L(M)

F’ = Q - F

1

0

0

0

1

(0+1)*00

The set of all binary strings beginning with 1 which interpreted as a binary representation of an integer, is congruent to zero modulo 5.
• Idea: To construct a DFA, we need to figure out what should be states and where each edge should go. Usually, states can be found through studying the condition for accepting. The condition for accepting a string x1x2···xn is x1x2···xn≡ 0 mod(5). So, we first choose residues 0, 1, 2, 3, 4 as states.

2i + 0 ≡ ? (mod 5)

2i + 1 ≡ ? (mod 5)

1

0

1

2

1

0

0

1

1

1

1

3

4

0

0

0

0

0,1