9、自动机理论:摩尔机与米利机的相互转换

自动机理论:摩尔机与米利机的相互转换

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
已知摩尔机如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值