CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.
-
date post
21-Dec-2015 -
Category
Documents
-
view
216 -
download
0
Transcript of CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.
![Page 1: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/1.jpg)
CS 310 – Fall 2006Pacific University
CS310
Homework 2 & JFLAP
September 22, 2006
![Page 2: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/2.jpg)
CS 310 – Fall 2006Pacific University
Homework 2
1. Sipser 1.6 cdi -- DFA
2. Sipser 1.7 bdg -- NFA
3. Sipser 1.8 a – Construct the NFA for Union
4. Sipser 1.9 a – Construct the NFA for Concat
5. Sipser 1.10 a – Construct the NFA for *
6. Sipser 1.15 – Build a NFA from a “proof”, show counter example
7. Sipser 1.16 b – NFA to DFA
8. Sipser 1.19 a – Reg Expressions to NFA
![Page 3: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/3.jpg)
CS 310 – Fall 2006Pacific University
Example• aa* U aba*b*
![Page 4: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/4.jpg)
CS 310 – Fall 2006Pacific University
Homework #3 • Due Oct 20
• Posted on the web site
• Be sure you have the correct version of the questions!
![Page 5: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/5.jpg)
CS 310 – Fall 2006Pacific University
Quick Review
• Regular Expression:– Use regular operations and languages to create a
regular expression R whose value is a language L(R)– order of operations: *, concat, U – Can build an NFA from a Regular Expression
R= a, a є ∑ R= ε R=Ø
R= R1 U R2 , R1 , R2 are regular
R= R1R2 , R1 , R2 are regular
R= R1* , R1 is regular
Today: How can we build a Regular Expression from a DFA?
![Page 6: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/6.jpg)
CS 310 – Fall 2006Pacific University
Proof• Lemma: If a language is regular, it is
described by a regular expression
• Proof Idea: If a language is regular, there exists a DFA that accepts it. We need to convert a DFA to a regular expression.
Steps:– Convert DFA to GNFA– Convert GNFA to Regular Expression– GNFA?!
![Page 7: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/7.jpg)
CS 310 – Fall 2006Pacific University
Generalized NFA• NFA where the transitions may have regular
expressions as labels rather than just ∑ or ε– Reads blocks of symbols from the input
– Wait, why are we doing this?• to build up the regular expression slowly from the DFA
ab*
a*
(aa)*
aa
ab U ba
bab
εqstart
qacceptb*
![Page 8: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/8.jpg)
CS 310 – Fall 2006Pacific University
GNFA
• Start state transitions to every other state, no transitions to start state
• Single accept state, transition to it from every other state, no way out, Start state != accept state
• Except for the start and accept states, one arrow goes from every state to every other state (except the start state) and also from every state to itself.
ab*
a*
(aa)*
aa
ab U ba
bab
εqstart
qacceptSpecial case of GNFA that we will use!
b*
![Page 9: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/9.jpg)
CS 310 – Fall 2006Pacific University
DFA to GNFA
1
1 , 0
1 , 00
•Add new start state with ε- transitions to old start state and Ø to every other state
Ø means you never take the transition
•Replace multiple transitions in same direction with Union
•If no transition exists between states, add transitions with Ø labels (just as placeholders)
![Page 10: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/10.jpg)
CS 310 – Fall 2006Pacific University
DFA to Regular Expression
3 State DFA
5 State GNFA
4 State GNFA
4 State GNFA
3 State GNFA
2 State GNFA
Regular Expression
We can reducethe GNFA by onestate at a time
2 statesHow manytransitions?What do the labels on the transitions look like?
![Page 11: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/11.jpg)
CS 310 – Fall 2006Pacific University
GNFA to Regular Expression• Each GNFA has at least 2 states (start and
accept)
• To convert GNFA to Regular Expression:– GNFA has k states, k >= 2
if k > 2 thenProduce a GNFA with k-1 states
repeat
qstartqaccept
1 (1*0*)*
![Page 12: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/12.jpg)
CS 310 – Fall 2006Pacific University
GNFA to k-1 States• Pick any state in the machine that is not the
start or accept state and remove it
• Fix up the transitions so the language remains the same
R4
R2
R1 R3
Rip this out!
(R1(R2)*R3) U R4
This change needs to bemade for every pair of states connected throughthe removed state
![Page 13: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/13.jpg)
CS 310 – Fall 2006Pacific University
Example, NFA to Regular Expression
b
a, ba
![Page 14: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/14.jpg)
CS 310 – Fall 2006Pacific University
JFLAP• www.jflap.org• Let’s you experiment with
languages/machines/etc.• Great functionality• UI is horrible
• Main Menu
![Page 15: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/15.jpg)
CS 310 – Fall 2006Pacific University
Build a NFA
![Page 16: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/16.jpg)
CS 310 – Fall 2006Pacific University
The NFA
![Page 17: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/17.jpg)
CS 310 – Fall 2006Pacific University
Test Input
![Page 18: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/18.jpg)
CS 310 – Fall 2006Pacific University
Accepted!
![Page 19: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/19.jpg)
CS 310 – Fall 2006Pacific University
Exercise• {w | every odd position of w is 1 }
NFA?
How do we write this?
![Page 20: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/20.jpg)
CS 310 – Fall 2006Pacific University
Exercise• {w | w does not contain 110 }
NFA?
How do we write this?
![Page 21: CS 310 – Fall 2006 Pacific University CS310 Homework 2 & JFLAP September 22, 2006.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6c5503460f94a4beba/html5/thumbnails/21.jpg)
CS 310 – Fall 2006Pacific University
Exercise• {w| w contains even # 0s or exactly two 1s}
NFA?
How do we write this?