Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI 2670 Introduction to Theory of Computing

Similar presentations


Presentation on theme: "CSCI 2670 Introduction to Theory of Computing"— Presentation transcript:

1 CSCI 2670 Introduction to Theory of Computing
September 8, 2005

2 Announcement Remove problems 1.46c and 1.55(c,f,j) from your homework assignments New assignment 1.7(d,h), 1.16b, 1.21b (show the GNFA steps),1.19a Old text numbers 1.5(d,g), 1.12b, 1.16b, 1.14a

3 Agenda This week Today Proved every RE has a corresponding DFA
I.e., every RE describes a regular language Showed how to convert GNFA to RE Today Prove every DFA has a corresponding RE Example of conversion from GNFA to RE Proving a language is not regular?

4 Accounting for loops a22a23a33*a32 a11a13a33*a31 a12a13a33*a32 q1’

5 Every DFA has a corresponding RE
Proof: Let M be any DFA and let w be any string in Σ*. Convert M to G, a GNFA, then convert G to R, a regular expression, using methods shown in class. Want to show wL(M) iff wL(R). First show wL(M) iff wL(G). Then show wL(G) iff wL(R).

6 wL(M) iff wL(G) Assume wL(M) and w = w1w2…wn, where each wi  Σ. Then there is a sequence of states q1, q2, …, qn+1 such that q1 = q0 qn+1F qi+1 = (qi,wi) for each i = 1, 2, …, n When w is read by G, the sequence of states qs, q1, q2, …, qn+1, qt would accept w i.e., wL(G)

7 wL(M) iff wL(G) Assume wL(G) and w = w1w2…wn, where each wiΣ. Then there is a sequence of states qs, q1, q2, …, qn+1, qt such that q1 = q0 qn+1F qi+1 = (qi,wi) for each i = 1, 2, …, n When w is read by M, the sequence of states q1, q2, …, qn+1 would accept w i.e., wL(M)

8 wL(G) iff wL(R) Prove by induction on number of states in G
Base case: If G has 2 states then clearly wL(G) iff wL(R). Induction step: Assume wL(G) iff wL(R) for every G with k-1 states. Prove w  L(G) iff wL(R) for every G with k states.

9 wL(R) if wL(G) Assume wL(G) and an accepting branch of the computation G enters on w is qs, q1, q2, …, qt. Let G’ be the GNFA that results from removing one of G’s states, qrip. There are two possibilities: Case 1: qrip is never entered in the computation of w. Then the same branch of computation exists in G’.

10 wL(R) if wL(G) Assume wL(G) and an accepting branch of the computation G enters on w is qs, q1, q2, …, qt. Let G’ be the GNFA that results from removing one of G’s states, qrip. There are two possibilities: Case 2: qrip is entered in the computation of w (bracketed byqi and qj). Then the new transition between qi and qj in G’ describes the computation that could be done on the computation of w through the branch qi, qrip, qj. So G’ accepts w. By induction wL(R).

11 wL(G) if wL(R) Assume wL(R). By induction hypothesis, wL(G’), the k-1 state GNFA resulting from removing one state from G. By construction, any computation in G’ can also be done in G – possibly going through an extra state qrip. Therefore, wL(G).

12 Example 1 q1 q2

13 Example 1 1 q1 q2 ε ε qs qt Step 1: Add two new states

14 Example 101*0 1 1 q1 q2 ε ε qs qt 1*0 Step 2: Remove q1

15 Example 101*0 q2 ε qs qt 1*0 1*0(101*0)* Step 3: Remove q2

16 Example So this DFA 1 q1 q2 Is equivalent to the regular expression 1*0(101*0)*

17 Have an excellent weekend


Download ppt "CSCI 2670 Introduction to Theory of Computing"

Similar presentations


Ads by Google