【计算理论】计算理论总结 ( 非确定性有限自动机 NFA 转为确定性有限自动机 DFA | 示例 ) ★★
文章目录
- 一、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 | 示例 ) ★★相关推荐
- 【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA ) ★★
文章目录 一.正则表达式 二.正则语言运算示例 ★ 三.根据正则表达式构造自动机 一.正则表达式 1 . 正则表达式原子定义 : 如果 RRR 是 字符集 Σ\SigmaΣ 中的 111 个字符 , ...
- 【计算理论】非确定性有限自动机 ( 计算过程 | 计算树 | 确定可接受字符串 | 设计非确定性有限自动机 | 空字符 )
文章目录 一.非确定性自动机 计算过程 ( 计算树 ) 二.判定 非确定性自动机 接受的字符串 三.自动机 设计要求 四.非确定性有限自动机设计 五.非确定性有限自动机 与 确定性 有限自动机 比较 ...
- 【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA | 示例 ) ★★
文章目录 一.正则表达式转为非确定性有限自动机 NFA 要点 二.正则表达式转为非确定性有限自动机 NFA 示例 1 三.正则表达式转为非确定性有限自动机 NFA 示例 2 四.正则表达式转为非确定性 ...
- 【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )
文章目录 一.非确定性图灵机 与 计算树 二.非确定性 三.非确定性图灵机 与 确定性图灵机 相互模仿 四.非确定性图灵机 -> 确定性图灵机 一.非确定性图灵机 与 计算树 非确定性图灵机体现 ...
- 【计算理论】图灵机 ( 非确定性图灵机 | 非确定性图灵机指令分析 | 计算过程 | 非确定性指令出现多个分支 | 非确定性图灵机转为计算树 | 计算树 )
文章目录 一.非确定性图灵机 二.非确定性图灵机 指令 三.非确定性图灵机 计算示例 初始状态 四.计算步骤 1 五.计算步骤 2 六.计算步骤 3 ( 出现非确定性分支 ) 七.计算步骤 3-1 ( ...
- 计算机制造理论,计算制造
[编辑] 什么是计算制造 计算制造是指利用计算机对制造过程和制造系统的表示.计算.推理和形式处理,包括制造中的几何表示.计算.优化和推理,以及制造过程建模.控制.规划.调度和管理有关的计算问题及其复杂 ...
- 斯蒂芬.沃尔夫勒姆:计算万物的理论
今天看了微博推荐的一个TED视频<计算万物的理论>,被其中演讲者天才的想法深深地震撼到了. 演讲者是斯蒂芬.沃尔夫勒姆,是一位物理学家.他在研究宇宙模型时,不像传统科学家那样先提出模型假设 ...
- 通俗易懂理解几何光学(五)光线的光路计算及像差理论
这里写自定义目录标题 概述 像差分类 光线的光路计算 光路计算 三类主要光线 单色像差 球差 正弦差和彗差 子午彗差 弧矢彗差 像散 场曲 畸变 色差 位置色差 倍率色差 波像差 概述 在几何光学中, ...
- 利用最小二乘法,用直线拟合点时,为什么计算竖直距离而非垂直距离?为什么在线性回归分析中,求的是距离平方和最小,而不是距离之和最小?
我的理解是,直接求距离之和可能导致多个解存在的情况,而求距离平方和可以保证唯一解,参考: 当且仅当a=b时,不等式等号成立 参考文章:利用最小二乘法,用直线拟合5点时,为什么计算竖直距离而非垂直距离?
最新文章
- KUDU--秒级查询的数据仓库
- Pico Pro Maker Kit NXP i.MX7D刷入Android Things
- 一层循环时间复杂度_数据结构:二叉排序树的前/中/后序遍历(递归与循环两种版本)...
- Python资料分享来袭,收下不谢!
- WeLive开源PHP在线客服系统源码
- linux 进程间通信-信号量(semagpore)
- iis php5.3套件,IIS下安装php5.3
- 前端一些注意点 2021-05-26
- 【干货】数字经济时代的新思考:企业如何进行数字化转型及如何称为数据驱动型企业?...
- golang websocket 聊天室demo
- 深入浅出事件流处理NEsper(三)
- leetcode——给定一个整数数组和一个目标值返回两个数字对应的索引,使得这两个数字之和等于目标值
- 自动超频_超频的几种方式
- c语言早期标准没有数据转换,标准C语言2
- react navigation传值给上一页面
- 很漂亮动态个人主页自带音乐源码
- Glide的图像centerCrop处理-长短边适配
- java毕业设计_景区旅游信息管理系统
- Network(无向图割点,tarjan)
- Bootstrap(一)