Javatpoint标志
Javatpoint标志

NFA的例子

示例1:

为转换表设计一个NFA,如下所示:

现状 0 1
→q0 q0, q1 q0, q2
第一季度 第三季 ε
第二季 q2、q3 第三季
→第三季 第三季 第三季

解决方案:

转换图可以通过使用表中给出的映射函数来绘制。

NFA的例子

在这里,

示例2:

设计一个有∑={0,1}的NFA接受所有以01结尾的字符串。

解决方案:

NFA的例子

因此,NFA将是:

NFA的例子

示例3:

设计一个∑={0,1}的NFA,其中双'1'后面跟着双'0'。

解决方案:

带双1的FA如下:

NFA的例子

它后面应该紧跟两个0。

然后,

NFA的例子

在双1之前,可以有任何0和1的字符串。类似地,在双0之后,可以有任何0和1的字符串。

因此NFA就变成了:

NFA的例子

现在考虑字符串01100011

示例4:

设计一个NFA,其中所有字符串都包含子字符串1110。

解决方案:

该语言由包含子字符串1010的所有字符串组成。部分转换图可以是:

NFA的例子

1010可以是子字符串。因此,我们将添加输入0和1,这样就可以维护语言的子字符串1010。因此NFA就变成了:

NFA的例子

以上转换图的转换表如下:

现状 0 1
→第一季度 第一季度 q1、q2
第二季 第三季
第三季 第四季度
第四季度 q5
* q5 q5 q5

考虑一个字符串111010,

卡住了!因为输入符号0没有来自q2的路径。我们可以用另一种方式处理字符串111010。

因为状态q5是接受状态。我们得到了完整的扫描,我们达到了最终的状态。

例5:

设计一个NFA,∑={0,1}接受所有右端起第三个符号始终为0的字符串。

解决方案:

NFA的例子

因此,我们从右端得到的第三个符号总是“0”。NFA可以是:

NFA的例子

上面的图像是一个NFA,因为在输入0的状态q0下,我们可以进入状态q0或q1。


下一个话题 消除ε跃迁





Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助他人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


B.Tech / MCA






Baidu
map