Download presentation
Presentation is loading. Please wait.
1
CSCI 2670 Introduction to Theory of Computing
September 6, 2005
2
Announcements Homework due next Tuesday (9/13)
1.7(d,h), 1.16b, 1.21b (show the GNFA steps),1.19a, 1.46c, 1.55(c,f,j) Old text numbers 1.5(d,g), 1.12b, 1.16b, 1.14a, 1.23d, 1.38(same instructions on (0010*1*, , and Σ*) If you ask me a question on a homework problem by , please me the problem in question Quiz tomorrow Section 1.2 & Formal definition of RE
3
Agenda Last week Today This week Section 1.2 NFA’s
Regular expression intro (Section 1.3) Today Continue regular expressions This week Sections 1.3 and 1.4
4
RE inductive definition
R is a regular expression if R is a for some a ε R1 R2 where R1 and R2 are both regular expressions R1 R2 where R1 and R2 are both regular expressions (R1*) where R1 is a regular expression Abuse of notation. These should be sets!
5
RE’s and regular languages
Theorem: A language is regular if and only if some regular expression describes it. i.e., every regular expression has a corresponding DFA and vice versa
6
RE’s and regular languages
Lemma: If a language is described by a regular expression, then it is regular. find an NFA corresponding to any regular expression use inductive definition of RE’s
7
1. R=a for some a a q1 q2 N = {{q1,q2},,,q1,{q2}} where (q1,a)={q2} and (r,x)= whenever r=q2 or x≠a
8
2. R=ε q1 N = {{q1},,,q1,{q1}} where (q1,x)= for all x
9
3. R= q1 N = {{q1},,,q1,} where (q1,x)= for all x
10
Remaining constructions
R = R1R2 R = R1R2 R = R1* These were all shown to be regular operators We know we can construct NFA’s for R provided they exist for R1 and R2
11
Example R = 1 R = (01)1 R3 = 01 1 ε R1 = 0 1 R2 = 1 1 R = Σ1 ε
12
Example2 R = 1(0ε)* ε ε R = 1(0ε)* 1 R1 = 1 0,1 R3 = * ε R2 = 0ε
ε R = 1(0ε)* 1 ε 0,1
13
Equivalence of RE’s and DFA’s
We have seen that every RE has a corresponding NFA Therefore, every RE has a corresponding DFA I.e, every RE describes a regular language We need to show that every regular language can be described by a RE Begin by converting all DFA’s into GNFA’s Generalized Non-deterministic Finite Automata
14
GNFA’s A GNFA is an NFA with the following properties:
The start state has transition arrows going to every other state, but no arrows coming in from any other state There is exactly one accept state and there is an arrow from every other state to this state, but no arrows to any other state from the accept state The start state is not the accept state
15
GNFA’s (continued) Except for the start and accept states, one arrow goes from every state to every other state and also from each state to itself Instead of being labeled with symbols from the alphabet, transitions are labeled with regular expressions
16
Example GNFA 01 1 10
17
Equivalence of DFA’s and RE’s
First show every DFA can be converted into a GNFA that accepts the same language Then show that any GNFA has a corresponding RE that accepts the same language
18
Converting a DFA into a GNFA
Add two new states New start state with an ε jump to the original DFA’s start state New accept state with an ε jump from each of the original DFA’s accept states This new state will be the only accept state All transition labels with multiple labels are relabeled with the union of the previous labels All pairs of states without transitions get a transition labeled
19
Converting a DFA to a GNFA
1 q1 q2 q3 q4 0,1 qs qt ε ε Add two new states
20
Converting a DFA to a GNFA
q2 1 qs qt q1 1 ε ε q3 q4 0,1 01 0,1 01 All transition labels with multiple labels are relabeled with the union of the previous labels
21
Converting a DFA to a GNFA
q2 1 qs qt q1 1 ε ε q3 q4 01 01 All pairs of states without transitions get a transition labeled
22
Converting a DFA to a GNFA
q2 1 qs qt q1 1 ε ε q3 q4 01 01 The resulting state diagram is a GNFA All GNFA properties are satisfied
23
Converting a DFA to a GNFA
q2 1 qs qt q1 1 ε ε q3 q4 01 01 No step changed the strings accepted by the machine
24
Converting a GNFA to a RE
If the GNFA has two states, then the label connecting the states is the RE Otherwise, remove one state at a time without changing the language accepted by the machine until the GNFA has two states
25
Removing one state from a GNFA
q2 q1 q3 a12a13a33*a32 q1’ q2’
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.