文章目录

  • 一、非确定性有限自动机 ( NFA ) 转为 确定性有限自动机 ( DFA )
  • 二、转换方法与要点

一、非确定性有限自动机 ( NFA ) 转为 确定性有限自动机 ( DFA )


确定性有限自动机 ( DFA ) 与 非确定性有限自动机 ( NFA ) 之间是相互等价的 ;

确定性的有限自动机 ( DFA ) 可以 看作是非确定性有限自动机 ( NFA ) ;

确定性有限自动机 给定一个输入 , 其输出时唯一的 ;

非确定性有限自动机的定义 包含 确定性有限自动机的 定义中 ;

NFA 的后继状态 可以是 000 个 , 111 个 或 多个 , DFA 每个状态只能有 111 个后继状态 ;

确定性有限自动机 ( DFA ) 就是 特殊的 非确定性有限自动机 ( NFA ) ;

可以证明非确定性有限自动机 ( NFA ) , 必定有一个 确定性有限自动机 ( DFA ) 与其等价 ;

参考博客 :

  • 【计算理论】非确定性有限自动机 ( 计算过程 | 计算树 | 确定可接受字符串 | 设计非确定性有限自动机 | 空字符 )
  • 【计算理论】非确定性有限自动机 ( NFA ) 转换成 确定性有限自动机 ( DFA )

二、转换方法与要点


1. 转换方法 :

从 起始状态 开始推演运行 ,

列出所有的 分支步骤 ,

注意 计算分叉节点 , 会产生多个后续状态 ,

此时就生成了 新的状态 ,

这些新的状态就是非确定性有限自动机 转换成的 确定性有限自动机的 新状态 ;

2. 转换要点 :

① 新状态生成时机 : 有两种情况会出现计算分支 ,

情况一 : 状态有 ε\rm \varepsilonε 无条件跳转 , 如下图的 111 状态 , 会无条件跳转到 333 状态 , 此时就会出现两个后续状态 {1,3}\rm \{ 1, 3 \}{1,3} ,

情况二 : 读取同样的字符 , 有两个后继状态 , 如 222 状态下读取 a\rm aa 字符 , 会跳转到 222 状态和 333 状态 , 因此其后继状态是 {2,3}\rm \{ 2, 3 \}{2,3} ,

情况三 : 计算出现新状态后 , 新状态的后继状态 , 一般也是一个集合 , 当计算 {1,3}\rm \{ 1, 3 \}{1,3} 的后续状态时 , 会分别计算集合中的两个状态分别读取 a\rm aa 字符的后继状态 , 取并集 ;

② 新状态的计算机制 : 如果生成了一个新的状态 , {1,3}\rm \{ 1, 3 \}{1,3} , 如果要计算其后继状态时 , 就需要分别计算 111 和 333 的后继状态, 然后取并集 ;

③ 空集 : 在推演计算时 , 有可能会出现空集 , 如 {3}\rm \{ 3 \}{3} 状态读取 b\rm bb 字符的后继状态没有 , 就是空集 ;

3. 接受状态 : 如果最终的 DFA 的新状态集合中 , 包含 NFA 的接受状态 , 那么该新状态就是接受状态 ;

4. 空集 : 如果其中有空集 , 那么将空集也当做一个状态 , 空集状态下读取任何字符都是空集 ;

5 . 后继状态有 ε\rm \varepsilonε 无条件跳转 : 如果读取字符后跳转的 后继状态有 ε\rm \varepsilonε 无条件跳转 , 则该后继状态会是两个状态的集合 , 如 : {3}\rm \{ 3 \}{3} 状态读取 a\rm aa 字符跳转到 111 状态 , 而 111 状态无条件跳转到 333 状态 , 则后继状态是 {1,3}\rm \{1, 3\}{1,3} ;

参考博客 :

  • 【计算理论】非确定性有限自动机 ( 计算过程 | 计算树 | 确定可接受字符串 | 设计非确定性有限自动机 | 空字符 )
  • 【计算理论】非确定性有限自动机 ( NFA ) 转换成 确定性有限自动机 ( DFA )

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

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

    文章目录 一.NFA 转 DFA 示例 1 二.NFA 转 DFA 示例 2 三.NFA 转 DFA 示例 3 一.NFA 转 DFA 示例 1 将下图的 非确定性有限自动机 NFA 转为确定性有限自 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. python列表题目_day5.python列表练习题
  2. Winform中实现FTP客户端并定时扫描指定路径下文件上传到FTP服务端然后删除文件
  3. python数据分析常用类库(1.1)
  4. Maven使用assembly对多模块进行打包
  5. [Unity菜鸟] Character控制移动
  6. 关键路径转化率分析——漏斗模型
  7. 数据库习题(填空题五)
  8. Java高并发编程实战5,异步注解@Async自定义线程池
  9. vax关于js方面的一些设置
  10. 千兆以太网_接收模块设计_udp_rgmii_rx
  11. 2021年中国商业银行发展现状及龙头企业对比分析[图]
  12. 42V转5V,42V转3.3V,42V转3V的降压芯片和LDO芯片的集合
  13. c++系统骨干研发进阶的道和术
  14. 浙江省高校计算机等级考试二级Python 程序设计题0|2023备考
  15. LightMap烘焙技巧
  16. 奔跑吧!Android虚拟机!Genymotion的安装和配置
  17. hacs增加源_GDP-32多功能电法工作站,可控源音频大地电磁
  18. Pytorch CrossEntropyLoss和NLLLoss
  19. 吐血推荐—计算机专业不可不看。
  20. 音视频转码器产品规格

热门文章

  1. JAVA 生成随机数两种方式
  2. 蓝牙音频中Classic Audio和LEAudio对比和区别
  3. HTML文件如何静态引入scss文件
  4. 【解决】简单有效的使用lodop打印小票功能
  5. win 10 下cmd命令无法使用ssh命令
  6. 【Java面试题】线程的生命周期包括哪几个阶段?
  7. nanomsg笔记--通信协议与传输协议
  8. Android获取地理坐标,Android 通过经纬度获取地理位置信息
  9. presscad图层LIsp_PRESSCAD常见问题处理方法
  10. 【FinE】期权定价理论(1)