自动机理论:摩尔机与米利机的相互转换
1. 米利机设计示例
首先来看一个米利机设计的问题,要求设计一个米利机来统计给定输入字符串中子串 “aab” 的出现次数。米利机的输出取决于当前状态和当前输入。
以下是对应的米利机状态和转换信息:
| 状态 | 输入 ‘a’ | 输入 ‘b’ |
| ---- | ---- | ---- |
| q0 | q1/0 | q0/0 |
| q1 | q2/0 | q0/0 |
| q2 | q3/1 | q0/0 |
| q3 | q1/0 | q0/0 |
这个米利机通过状态的转换来识别子串 “aab”,当成功识别到该子串时,状态会转换到 q3 并输出 1。
2. 摩尔机转换为米利机(表格格式)
将摩尔机转换为米利机可以按照以下步骤进行:
1. 绘制米利机的表格格式。
2. 将摩尔机的当前状态放入构建中的米利机的当前状态列。
3. 把摩尔机对应当前状态和输入组合的下一状态,放入构建中的米利机相同当前状态和输入组合的下一状态列。
4. 对于输出,查看摩尔机的当前状态列和输出列。构建中的米利机对于当前状态 QPresent 和输入 I/P 的下一状态 QNext 的输出,将是该状态 QNext 在给定摩尔机中作为当前状态时的输出。
下面通过几个具体例子来演示这个转换过程。
示例 1
已知摩尔机如下:
超级会员免费看
订阅专栏 解锁全文
22

被折叠的 条评论
为什么被折叠?



