- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 有限状态自动机2014
2017-4-11
1
第3章 有限状态自动机
主要内容
确定的有限状态自动机(DFA)
不确定的有限状态自动机(NFA)
带空移动的有限状态自动机(ε-NFA)
带输出的有限状态自动机
2017-4-11
2
有限状态系统实例
指针式钟表共有12*60*60个状态,每过一秒,钟表就从一种状态到另一种状态。
围棋共有3361个状态,每走一步棋就从一个状态到另一个状态。
2017-4-11
3
有限状态系统——淘宝网上购物
顾客、店家和支付宝网三方之间的交互限于以下几种事件:
1、顾客告诉店家购买某种物品,决定预付款购物。 并将钱款转入支付宝。
2、顾客决定取消预付款。 顾客通知支付宝,把购物这笔钱保留在自己的银行帐号上。
3、店家送货给顾客。
4、顾客收到货后
(1)确认付款。 通知支付宝将钱款划拨到店家帐号, 转到(5)
(2)退货。把购物这笔钱保留在自己的银行帐号上,结束。
(3)换货。寄回店家,店家重送货给顾客。
5、支付宝将这笔钱转帐。 把顾客购物这笔钱划拨给店家的帐号。
以上的事件以及事件间在一定条件下转化的情况,可以表示成有限状态系统,每个状态表示某一方所处的局面。
2017-4-11
5
3.1 语言的识别
推导和归约中的回溯问题将对系统的效率产生极大的影响
S?aA|aB
A?aA|c
B?aB|d
系统识别语言{anc|n≥1}∪{and|n≥1}的字符串过程中状态的变化图示如上
2017-4-11
6
识别系统(模型)
⑴ 系统有有限个状态,不同状态代表不同的规定任务。
⑵ 输入字符串中出现的字符构成一个字母表。系统处理的所有字符串都是这个字母表上的字符串。
⑶ 系统在任何一个状态下,从输入字符串中读入字符后,可转到新的状态(或状态不变)。下一次再读时,会读入下一个字符。
2017-4-11
7
⑷ 系统中有一个开始状态,系统在这个状态下开始进行某个给定句子的处理。
⑸ 系统中有一些状态表示它到目前为止所读入的字符构成的字符串是语言的一个句子,把所有将系统从开始状态引导到这种状态的字符串放在一起构成一个语言,该语言就是系统所能识别的语言。
2017-4-11
8
相应的物理模型
一个右端无穷的输入带。
一个有限状态控制器(finite state control,FSC) 。
一个读头。
系统的每一个动作由三个节拍构成:
读入读头正注视的字符;
根据当前状态和读入的字符改变有限控制器的状态;
将读头向右移动一格。
2017-4-11
9
3.2有限状态自动机
有限状态自动机(finite automaton,FA)是一个五元组:
M=(Q,∑, q0,δ,F)
Q——状态的非空有限集合。
?q∈Q,q为M的一个状态。
∑——输入字母表。输入字符串都是∑上的字符串。
q0——q0∈Q,是M的开始状态(初始状态或者启动状态)。
2017-4-11
10
δ——状态转移函数(转换函数或移动函数), δ:Q×∑?Q,对?(q,a)∈Q×∑,δ(q,a)=p表示:M在状态q读入字符a,将状态变成p,并将读头指向输入字符串的下一个字符。
F——F?Q,是M的终止状态集合。
?q∈F,q称M的终止状态(接受状态)。
状态转移图
状态转换图
2017-4-11
11
例 有限状态自动机
M1=({q0,q1,q2},{0},δ1,q0,{q2})
其中 :δ1(q0,0)= q1
δ1(q1,0)= q2,
δ1(q2,0)= q1
0
0
0
识别 {(00)n|n=1}
有限自动机的表示
(1)转移图表示法
(2)矩阵表示法
符号
状态
0
q0(初始)
q1
q1
q2
q2(终止)
q1
2017-4-11
14
确定的有限状态自动机
对于任意的q∈Q, a∈∑,δ(q,a)均有确定的值,这种FA称为确定的有限状态自动机(deterministic finite automaton,DFA)
M接受(识别)的语言
对于?x∈∑*如果δ’(q0,x)∈F,则称x被M接受。
L(M)={x| x∈∑*且δ(q0,x)∈F}
称为由M接受(识别)的语言
δ:Q×∑?Q,对?(q,a)∈Q×∑,
δ’:Q×∑*?Q,对?(q,w)∈Q×∑,
对任意的q∈Q,w∈∑*,a∈∑,定义
(1)δ’(q,?)= q
(2)δ’(q,wa)= δ( δ’ (q,w),a)
δ’(q,a)= δ’(q, ? a)
= δ( δ’ (q, ?),a)
文档评论(0)