Examples of NFA

Example 1:

Design a NFA for the transition table as given below:

Present State01
→q0q0, q1q0, q2
q1q3ε
q2q2, q3q3
→q3q3q3

Solution:

The transition diagram can be drawn by using the mapping function as given in the table.

Examples of NFA

Here,

Example 2:

Design an NFA with ∑ = {0, 1} accepts all string ending with 01.

Solution:

Examples of NFA

Hence, NFA would be:

Examples of NFA

Example 3:

Design an NFA with ∑ = {0, 1} in which double '1' is followed by double '0'.

Solution:

The FA with double 1 is as follows:

Examples of NFA

It should be immediately followed by double 0.

Then,

Examples of NFA

Now before double 1, there can be any string of 0 and 1. Similarly, after double 0, there can be any string of 0 and 1.

Hence the NFA becomes:

Examples of NFA

Now considering the string 01100011

Example 4:

Design an NFA in which all the string contain a substring 1110.

Solution:

The language consists of all the string containing substring 1010. The partial transition diagram can be:

Examples of NFA

Now as 1010 could be the substring. Hence we will add the inputs 0's and 1's so that the substring 1010 of the language can be maintained. Hence the NFA becomes:

Examples of NFA

Transition table for the above transition diagram can be given below:

Present State01
→q1q1q1, q2
q2q3
q3q4
q4q5
*q5q5q5

Consider a string 111010,

Got stuck! As there is no path from q2 for input symbol 0. We can process string 111010 in another way.

As state q5 is the accept state. We get the complete scanned, and we reached to the final state.

Example 5:

Design an NFA with ∑ = {0, 1} accepts all string in which the third symbol from the right end is always 0.

Solution:

Examples of NFA

Thus we get the third symbol from the right end as '0' always. The NFA can be:

Examples of NFA

The above image is an NFA because in state q0 with input 0, we can either go to state q0 or q1.