文章目录

  • 一、NFA 转 DFA 示例 1
  • 二、NFA 转 DFA 示例 2
  • 三、NFA 转 DFA 示例 3

一、NFA 转 DFA 示例 1


将下图的 非确定性有限自动机 NFA 转为确定性有限自动机 DFA ;

NFA 的状态集 {1,2,3}\rm \{ 1,2,3 \}{1,2,3} , 字符集 {a,b}\rm \{ a,b \}{a,b} ;

从 起始状态 111 开始分析 , 读取 ε\rm \varepsilonε 无条件跳转到 333 , 这里形成了新的状态 {1,3}\rm \{1, 3\}{1,3} , 写到下面表格中 ;

{1,3}\rm \{1, 3\}{1,3} 状态 下读取 a\rm aa 字符结果是 {1,3}\rm \{1, 3\}{1,3} , 读取 b\rm bb 字符结果是 {2}\{2\}{2} , 上述分别是 NFA 下两个状态读取字符的后继状态取并集 ; 将新状态写到表格中 , 然后分析新状态 ;

{2}\{2\}{2} 状态下读取读取 a\rm aa 字符结果是 {2,3}\{2,3\}{2,3} , 读取 b\rm bb 字符结果是 {3}\{3\}{3} , 上述分别是 NFA 下两个状态读取字符的后继状态取并集 ; 将新状态写到表格中 , 然后分析新状态 ;

{2,3}\{2,3\}{2,3} 状态下读取读取 a\rm aa 字符结果是 {1,2,3}\{1, 2,3\}{1,2,3} , 读取 b\rm bb 字符结果是 {3}\{3\}{3} , 上述分别是 NFA 下两个状态读取字符的后继状态取并集 ; 将新状态写到表格中 , 然后分析新状态 ;

{3}\{3\}{3} 状态下读取读取 a\rm aa 字符结果是 {1,3}\{1,3\}{1,3} , 读取 b\rm bb 字符结果是 {∅}\{ \varnothing \}{∅} , 上述分别是 NFA 下两个状态读取字符的后继状态取并集 ; 将新状态写到表格中 , 然后分析新状态 ;

{1,2,3}\{1, 2,3\}{1,2,3} 状态下读取读取 a\rm aa 字符结果是 {1,2,3}\{1, 2,3\}{1,2,3} , 读取 b\rm bb 字符结果是 {2,3}\{2, 3\}{2,3} , 上述分别是 NFA 下两个状态读取字符的后继状态取并集 ; 将新状态写到表格中 , 然后分析新状态 ;

{∅}\{ \varnothing \}{∅} 状态下读取读取 a\rm aa 字符结果是 {∅}\{ \varnothing \}{∅} , 读取 b\rm bb 字符结果是 {∅}\{ \varnothing \}{∅} , 上述分别是 NFA 下两个状态读取字符的后继状态取并集 ;

aaa bbb
{1,3}\{1, 3 \}{1,3} {1,3}\{1 , 3\}{1,3} {2}\{2\}{2}
{2}\{2\}{2} {2,3}\{2,3\}{2,3} {3}\{3\}{3}
{2,3}\{2,3\}{2,3} {1,2,3}\{1,2,3\}{1,2,3} {3}\{3\}{3}
{3}\{3\}{3} {1,3}\{1,3\}{1,3} {∅}\{\varnothing \}{∅}
{1,2,3}\{1,2,3\}{1,2,3} {1,2,3}\{1,2,3\}{1,2,3} {2,3}\{2,3\}{2,3}
{∅}\{\varnothing \}{∅} {∅}\{\varnothing \}{∅} {∅}\{\varnothing \}{∅}

凡是 包含 NFA 中接受状态 111 的新状态 都是 接受状态 ;

{1,3}\{1, 3 \}{1,3} 和 {1,2,3}\{1, 2, 3 \}{1,2,3} 都是接受状态 , 画图时都是 双圈 ;

空集 {∅}\{\varnothing \}{∅} 状态 , 接受任何字符都是空集 {∅}\{\varnothing \}{∅} ;

最终的 DFA 如下 :

详细推理过程 : 【计算理论】非确定性有限自动机 ( NFA ) 转换成 确定性有限自动机 ( DFA )

二、NFA 转 DFA 示例 2


将下图的 非确定性有限自动机 NFA 转为确定性有限自动机 DFA ;

NFA 的状态集 {1,2,3}\rm \{ 1,2,3 \}{1,2,3} , 字符集 {a,b}\rm \{ a,b \}{a,b} ;

从 起始状态 111 开始分析 , 读取 ε\rm \varepsilonε 无条件跳转到 222 , 这里形成了新的状态 {1,2}\rm \{1, 2\}{1,2} , 写到下面表格中 ;

{1,2}\rm \{1, 2\}{1,2} 状态 下读取 a\rm aa 字符结果是 {1,2,3}\rm \{1, 2,3\}{1,2,3} , 读取 b\rm bb 字符结果是 {∅}\{\varnothing \}{∅} ;

{1,2,3}\rm \{1, 2, 3\}{1,2,3} 状态 下读取 a\rm aa 字符结果是 {1,2,3}\rm \{1, 2,3\}{1,2,3} , 读取 b\rm bb 字符结果是 {2,3}\{2, 3\}{2,3};

{2,3}\rm \{ 2, 3\}{2,3} 状态 下读取 a\rm aa 字符结果是 {1,2}\rm \{1, 2\}{1,2} , 读取 b\rm bb 字符结果是 {2,3}\{2, 3\}{2,3};

aaa bbb
{1,2}\{1, 2 \}{1,2} {1,2,3}\{1 , 2, 3\}{1,2,3} {∅}\{ \varnothing \}{∅}
{1,2,3}\{1 , 2, 3\}{1,2,3} {2,3}\{2,3\}{2,3} {2,3}\{2,3\}{2,3}
{2,3}\{2,3\}{2,3} {1,2}\{1,2\}{1,2} {2,3}\{2,3\}{2,3}
{∅}\{\varnothing \}{∅} {∅}\{\varnothing \}{∅} {∅}\{\varnothing \}{∅}

凡是 包含 NFA 中接受状态 222 的新状态 都是 接受状态 ;

{1,2}\{1, 2 \}{1,2} , {2,3}\{2, 3 \}{2,3} 和 {1,2,3}\{1, 2, 3 \}{1,2,3} 都是接受状态 , 画图时都是 双圈 ;

空集 {∅}\{\varnothing \}{∅} 状态 , 接受任何字符都是空集 {∅}\{\varnothing \}{∅} ;

最终的 DFA 如下 :

三、NFA 转 DFA 示例 3


将下图的 非确定性有限自动机 NFA 转为确定性有限自动机 DFA ;

NFA 的状态集 {1,2}\rm \{ 1,2 \}{1,2} , 字符集 {a,b}\rm \{ a,b \}{a,b} ;

从 起始状态 111 开始分析 ,

{1}\rm \{1\}{1} 状态 下读取 a\rm aa 字符结果是 {1,2}\rm \{1, 2\}{1,2} , 读取 b\rm bb 字符结果是 {2}\{ 2 \}{2} ;

{1,2}\rm \{1, 2\}{1,2} 状态 下读取 a\rm aa 字符结果是 {1,2}\rm \{1, 2\}{1,2} , 读取 b\rm bb 字符结果是 {1,2}\{1, 2 \}{1,2} ;

{2}\rm \{2\}{2} 状态 下读取 a\rm aa 字符结果是 {∅}\{ \varnothing \}{∅} , 读取 b\rm bb 字符结果是 {1}\{1\}{1};

aaa bbb
{1}\{1 \}{1} {1,2}\{1 , 2\}{1,2} {2}\{ 2 \}{2}
{1,2}\{1 , 2\}{1,2} {1,2}\{1, 2\}{1,2} {1,2}\{1,2\}{1,2}
{2}\{2\}{2} {∅}\{ \varnothing \}{∅} {1}\{1\}{1}
{∅}\{\varnothing \}{∅} {∅}\{\varnothing \}{∅} {∅}\{\varnothing \}{∅}

凡是 包含 NFA 中接受状态 111 的新状态 都是 接受状态 ;

{1}\{1\}{1} 和 {1,2}\{1, 2 \}{1,2} 都是接受状态 , 画图时都是 双圈 ;

空集 {∅}\{\varnothing \}{∅} 状态 , 接受任何字符都是空集 {∅}\{\varnothing \}{∅} ;

最终的 DFA 如下 :

【计算理论】计算理论总结 ( 非确定性有限自动机 NFA 转为确定性有限自动机 DFA | 示例 ) ★★相关推荐

  1. 【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA ) ★★

    文章目录 一.正则表达式 二.正则语言运算示例 ★ 三.根据正则表达式构造自动机 一.正则表达式 1 . 正则表达式原子定义 : 如果 RRR 是 字符集 Σ\SigmaΣ 中的 111 个字符 , ...

  2. 【计算理论】非确定性有限自动机 ( 计算过程 | 计算树 | 确定可接受字符串 | 设计非确定性有限自动机 | 空字符 )

    文章目录 一.非确定性自动机 计算过程 ( 计算树 ) 二.判定 非确定性自动机 接受的字符串 三.自动机 设计要求 四.非确定性有限自动机设计 五.非确定性有限自动机 与 确定性 有限自动机 比较 ...

  3. 【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA | 示例 ) ★★

    文章目录 一.正则表达式转为非确定性有限自动机 NFA 要点 二.正则表达式转为非确定性有限自动机 NFA 示例 1 三.正则表达式转为非确定性有限自动机 NFA 示例 2 四.正则表达式转为非确定性 ...

  4. 【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )

    文章目录 一.非确定性图灵机 与 计算树 二.非确定性 三.非确定性图灵机 与 确定性图灵机 相互模仿 四.非确定性图灵机 -> 确定性图灵机 一.非确定性图灵机 与 计算树 非确定性图灵机体现 ...

  5. 【计算理论】图灵机 ( 非确定性图灵机 | 非确定性图灵机指令分析 | 计算过程 | 非确定性指令出现多个分支 | 非确定性图灵机转为计算树 | 计算树 )

    文章目录 一.非确定性图灵机 二.非确定性图灵机 指令 三.非确定性图灵机 计算示例 初始状态 四.计算步骤 1 五.计算步骤 2 六.计算步骤 3 ( 出现非确定性分支 ) 七.计算步骤 3-1 ( ...

  6. 计算机制造理论,计算制造

    [编辑] 什么是计算制造 计算制造是指利用计算机对制造过程和制造系统的表示.计算.推理和形式处理,包括制造中的几何表示.计算.优化和推理,以及制造过程建模.控制.规划.调度和管理有关的计算问题及其复杂 ...

  7. 斯蒂芬.沃尔夫勒姆:计算万物的理论

    今天看了微博推荐的一个TED视频<计算万物的理论>,被其中演讲者天才的想法深深地震撼到了. 演讲者是斯蒂芬.沃尔夫勒姆,是一位物理学家.他在研究宇宙模型时,不像传统科学家那样先提出模型假设 ...

  8. 通俗易懂理解几何光学(五)光线的光路计算及像差理论

    这里写自定义目录标题 概述 像差分类 光线的光路计算 光路计算 三类主要光线 单色像差 球差 正弦差和彗差 子午彗差 弧矢彗差 像散 场曲 畸变 色差 位置色差 倍率色差 波像差 概述 在几何光学中, ...

  9. 利用最小二乘法,用直线拟合点时,为什么计算竖直距离而非垂直距离?为什么在线性回归分析中,求的是距离平方和最小,而不是距离之和最小?

    我的理解是,直接求距离之和可能导致多个解存在的情况,而求距离平方和可以保证唯一解,参考: 当且仅当a=b时,不等式等号成立 参考文章:利用最小二乘法,用直线拟合5点时,为什么计算竖直距离而非垂直距离?

最新文章

  1. KUDU--秒级查询的数据仓库
  2. Pico Pro Maker Kit NXP i.MX7D刷入Android Things
  3. 一层循环时间复杂度_数据结构:二叉排序树的前/中/后序遍历(递归与循环两种版本)...
  4. Python资料分享来袭,收下不谢!
  5. WeLive开源PHP在线客服系统源码
  6. linux 进程间通信-信号量(semagpore)
  7. iis php5.3套件,IIS下安装php5.3
  8. 前端一些注意点 2021-05-26
  9. 【干货】数字经济时代的新思考:企业如何进行数字化转型及如何称为数据驱动型企业?...
  10. golang websocket 聊天室demo
  11. 深入浅出事件流处理NEsper(三)
  12. leetcode——给定一个整数数组和一个目标值返回两个数字对应的索引,使得这两个数字之和等于目标值
  13. 自动超频_超频的几种方式
  14. c语言早期标准没有数据转换,标准C语言2
  15. react navigation传值给上一页面
  16. 很漂亮动态个人主页自带音乐源码
  17. Glide的图像centerCrop处理-长短边适配
  18. java毕业设计_景区旅游信息管理系统
  19. Network(无向图割点,tarjan)
  20. Bootstrap(一)

热门文章

  1. Windows 2003 server 服务器集群实例
  2. 小心!目录删除及重命名操作 ,一定丢失Session~~!
  3. LWIP再探----内存池管理
  4. sed编辑器: 非交互
  5. CentOS进不了mysql
  6. Delphi调用REST
  7. 【调查】您对计算机培训感兴趣吗?
  8. (6)timedatetime(时间模块)
  9. javaScript——廖雪峰老师学习笔记(一)
  10. 从一个数组中提取出第start位到第end位