These notes are slightly different from what was covered in your tutorial (due to some mistakes in the original version). Example 1: Construct a NFSA that accepts the language of (010+01)^*010(1)^*+1^*. Answer: Following the rules described in the notes (and lectures), we get the following NFSA, with 13 states {s,a,b,c,d,e,f,g,h,i,j,k,m}, initial state is s and the accepting states are k and m: s -e-> a -e-> b -0-> c -1-> d -0-> e -e-> a a -e-> f -0-> g -1-> h -e-> a a -0-> i -1-> j -0-> k -1-> k s -e-> m -1-> m We can simplify this NFSA by doing the followings: . combine states b and f, c and g, and d and h. . combine bf with a (removing the e-transition). . combine e with a (removing the e-transition). . combine dh with a (removing the e-transition). . combine i with abf, j with cg. . combine m with k. After doing all these, we get the following NFSA with only 5 states: - set of states: Q={s,a,b,c,d} - accepting state: d - initial state: s s -e-> a,d a -0-> b -1-> a,c c -0-> a,d d -1-> d Example 2: Now consider we have the following NFSA which accepts the language denoted by (010+01)^*1^*. (not that this is different from the one we obtained at the end of last example). - set of states: Q={a,b,c,d} - accepting state: d - initial state: a a -0-> b -1-> a,c c -0-> a,d a -e-> d d -1-> d Convert this NFSA to a DFSA Answer: the set of states will be all 2^4 subsets of Q. Initial state will be ad and the accepting states are those that contain d. E(a)={a,d} , E(b)={b}, E(c)={c}, E(d)={d}, a -0-> b, b -1-> acd c -0-> ad d -1-> d ab -0-> b ab -1-> acd ac -0-> abcd ad -0-> b ad -1-> d bc -0-> ad bc -1-> acd bd -1-> acd cd -0-> ad cd -1-> d abc -0-> abcd abc -1-> acd abd -0-> b abd -1-> acd bcd -0-> ad bcd -1-> acd abcd -0-> abd abcd -1-> acd