Bài giảng Theory Of Automata - Lecture 15

Tài liệu Bài giảng Theory Of Automata - Lecture 15: 1Recap Lecture 14 • Kleene’s theorem part III (method 2: Concatenation of FAs) continued, Kleene’s theorem part III (method 3:closure of an FA), Examples 2Task Build FA corresponding to the concatenation of these two FAs i.e. FA1FA2 where FA1 FA2 a,b x1- x2 x3 + x4 b a,b a,b a a y1- y2+ a bb 3Task solution • RE corresponding to FA1 may be (a+b)b(a+b)* with b as second letter • RE corresponding to FA2 may be (a+b)b(a+b)* b*a(b+ab*a)* with odd number of a’s 4Solution continued Old States New States after reading a b z1-x1 x2z2 x2 z2 a,b x1- x2 x3 + x4 b a,b a,b a a y1- y2+ a bb 5Solution continued Old States New States after reading a b z2x2 x4z3 (x3,y1)z4 z3 x4 x4z3 x4z3 z4(x3,y1) (x3 ,y1,y2) z5 (x3,y1) z4 z5+(x3,y1 ,y2) (x3 ,y1 ,y2) z5 (x3,y1 ,y2) z5 6Solution continued b a a,b b z2 z3 z4 z5a a,b z1 a,b •- •+ 7Note • It is to be noted that as observed in the previous examples, if at the initia...

pdf21 trang | Chia sẻ: honghanh66 | Lượt xem: 911 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Theory Of Automata - Lecture 15, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
1Recap Lecture 14 • Kleene’s theorem part III (method 2: Concatenation of FAs) continued, Kleene’s theorem part III (method 3:closure of an FA), Examples 2Task Build FA corresponding to the concatenation of these two FAs i.e. FA1FA2 where FA1 FA2 a,b x1- x2 x3 + x4 b a,b a,b a a y1- y2+ a bb 3Task solution • RE corresponding to FA1 may be (a+b)b(a+b)* with b as second letter • RE corresponding to FA2 may be (a+b)b(a+b)* b*a(b+ab*a)* with odd number of a’s 4Solution continued Old States New States after reading a b z1-x1 x2z2 x2 z2 a,b x1- x2 x3 + x4 b a,b a,b a a y1- y2+ a bb 5Solution continued Old States New States after reading a b z2x2 x4z3 (x3,y1)z4 z3 x4 x4z3 x4z3 z4(x3,y1) (x3 ,y1,y2) z5 (x3,y1) z4 z5+(x3,y1 ,y2) (x3 ,y1 ,y2) z5 (x3,y1 ,y2) z5 6Solution continued b a a,b b z2 z3 z4 z5a a,b z1 a,b •- •+ 7Note • It is to be noted that as observed in the previous examples, if at the initial state of the given FA, there is either a loop or an incoming transition edge, the initial state corresponds to the final state and a non-final state as well, of the required FA, otherwise the initial state of given FA will only correspond to a single state of the required FA (i.e. the initial state which is final as well). 8Task • Build an FA corresponding to the closure of the following FA a y1± y2a b b 9Nondeterministic Finite Automaton (NFA) Definition: An NFA is a TG with a unique start state and a property of having single letter as label of transitions. An NFA is a collection of three things 1) Finite many states with one initial and some final states 2) Finite set of input letters, say, ={a, b, c} 3) Finite set of transitions, showing where to move if a letter is input at certain state ( is not a valid transition), there may be more than one transition for certain letters and there may not be any transition for certain letters. 10 Observations It may be observed, from the definition of NFA, that the string is supposed to be accepted, if there exists at least one successful path, otherwise rejected. It is to be noted that an NFA can be considered to be an intermediate structure between FA and TG. The examples of NFAs can be found in the following 11 Example b a 1- a a 5+ 2+ 3 4 It is to be noted that the above NFA accepts the language consisting of a and ab. 12 Example a,b a a, b a1- 3+2 It is to be noted that the above NFA accepts the language of strings, defined over Σ = {a, b}, containing aa. 13 Note • It is to be noted that NFA helps to eliminate a loop at certain state of an FA. This process is done converting the loop into a circuit. But during this process the FA remains no longer FA and is converted to a corresponding NFA, which is shown in the following example. 14 Example • Consider a part of the following FA with an alphabet Σ={a,b,c,d} To eliminate the loop at state 7, the corresponding NFA may be as follows 7 a 10 9 8 6 5 4 b c d a b c 15 Example continued ... 11 10 9 8 6 5 4 7 aa a b c b c d c d b 16 Converting an FA to an equivalent NFA • It is to be noted that according to the Kleene’s theorem, if a language can be accepted by an FA, then there exists a TG accepting that language. Since, an NFA is a TG as well, therefore there exists an NFA accepting the language accepted by the given FA. In this case these FA and NFA are said to be equivalent to each others. Following are the examples of FAs to be converted to the equivalent NFAs 17 Example • Consider the following FA corresponding to (a+b)*b • The above FA may be equivalent to the following NFA Can the structure of above NFA be compared with the corresponding RE ? b a ba - + - b + a, b 18 Example • Consider the following FA • The above FA may be equivalent to the following NFA • Can the structure of above NFA be compared with the corresponding RE ? a a, b a- + a,b ab a b - +1 1 a,b 19 Task Build an NFA equivalent to the following FA 2 a 1– 3 6+ 4 5 a a a,b b b b a b b a 20 Application of an NFA • There is an important application of an NFA in artificial intelligence, which is discussed in the following example of a maze - 1 2 3 4 L 5 O 6 M 7 P 8 N 9 + 21 Summing Up • Examples of Kleene’s theorem part III (method 3), NFA, examples, avoiding loop using NFA, example, converting FA to NFA, examples, applying an NFA on an example of maze

Các file đính kèm theo tài liệu này:

  • pdftheory_of_automata_cs402_power_point_slides_lecture_15_6181.pdf