




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
12023/1/11CollegeofComputerScience&Technology,BUPT第三章有限自动机与右线性文法本章主要内容确定有限自动机非确定有限自动机确定与非确定有限自动机的等价性右线性文法和有限自动机的等价性右线性文法的性质(泵浦定理)使用归纳法进行证明的方法22023/1/11CollegeofComputerScience&Technology,BUPT第一节有限自动机一、有限状态系统的概念状态:状态是可以将事物区分开的一种标识。具有离散状态的系统:如数字电路(0,1),十字路口的红绿灯。离散状态系统的状态数是有限的。具有连续状态的系统:比如水库的水位,室内温度等可以连续变化,即有无穷个状态。有限状态系统必然是离散状态系统(而且状态数有限),因为只有有限个状态。32023/1/11CollegeofComputerScience&Technology,BUPT实例
一个人带着一头狼,一头羊,以及一棵青菜,处于河的左岸。有一条小船,每次只能携带人和其余的三者之一。人和他的伴随品都希望渡到河的右岸,而每摆渡一次,人仅能带其中之一。然而如果人留下狼和羊不论在左岸还是在右岸,狼肯定会吃掉羊。类似地,如果单独留下羊和菜,羊也肯定会吃掉菜。如何才能既渡过河而羊和菜又不被吃掉呢?42023/1/11CollegeofComputerScience&Technology,BUPTMG-WC(处于左岸的子集-处于右岸的子集)将过河问题模型化:人(M)狼(W)羊(G)菜(C)52023/1/11CollegeofComputerScience&Technology,BUPT二、有限自动机的概念有限自动机的概念具有离散输入输出系统的一种数学模型 (可以没有输出,比较特殊的也可以没有输入).有限的状态状态+输入状态转移每次转换的后继状态都唯一
DFA每次转换的后继状态不唯一
NFA62023/1/11CollegeofComputerScience&Technology,BUPTFA的模型 FA可以理解成一个控制器,它读一条输入带上的字符。101101有限控制器(1)控制器包括有限状态;(2)从左到右依次读取字符;(3)状态+激励状态迁移 (根据当前所处状态和输入字符进行状态转移)72023/1/11CollegeofComputerScience&Technology,BUPT有限状态集
有限输入符号集
转移函数
一个开始状态
一个终态集合有限自动机的五要素q0q1q2q382023/1/11CollegeofComputerScience&Technology,BUPT三、DFA的形式定义定义:DFA是一个五元组M=(Q,T,δ,q0,F)Q:有限的状态集合T:有限的输入字母表δ:转换函数(状态转移集合):Q×TQq0:初始状态,q0QF:终止状态集,FQ
92023/1/11CollegeofComputerScience&Technology,BUPT转移图表示的DFA
Q={q0,q1,q2,q3}
T={0,1
}
(q0,0)=q2,(q0,1)=q1(q1,0)=q3,(q1,1)=q0(q2,0)=q0,(q2,1)=q3(q3,0)=q1,(q3,1)=q2
q0
F={q0,q3}q0q1q2q3102023/1/11CollegeofComputerScience&Technology,BUPT转移表表示的DFAq0q1q2q301q2q1q3q0q0q3q1q2
Q={q0,q1,q2,q3}
T={0,1
}
(q0,0)=q2,(q0,1)=q1(q1,0)=q3,(q1,1)=q0(q2,0)=q0,(q2,1)=q3(q3,0)=q1,(q3,1)=q2
q0
F={q0,q3}112023/1/11CollegeofComputerScience&Technology,BUPT四、扩展转移函数适合于输入字符串δ’函数:接收一个字符串的状态转移函数。
:QT*Q
对任何qQ,定义:1.(q,)=q2.若ω是一个字符串,a是一个字符 定义:δ’(q,ωa)=δ(δ’(q,ω),a) 对于DFA:δ’(q,a)=δ(δ’(q,),a)=δ(q,a),即对于单个字符时δ和δ'是相等的。为了方便,以后在不引起混淆时用δ代替δ'122023/1/11CollegeofComputerScience&Technology,BUPT扩展转移函数适合于输入字符串q0q1q2q301q2q1q3q0q0q3q1q2举例
(q0,)
=q0(q0,0)
=(q0,0)
=q2(q0,00)
=(q2,0)
=q0(q0,001)
=(q0,1)
=q1(q0,0010)
=(q1,0)
=q3q0q1q2q3132023/1/11CollegeofComputerScience&Technology,BUPTDFA接受的语言被DFA接收的字符串:输入结束后使DFA的状态到达终止状态。否则该字符串不能被DFA接收.DFA接收的语言:被DFA接收的字符串的集合. L(M)=w
(q0,w)F
例:T={0,1}接收含有奇数个0的任意串142023/1/11CollegeofComputerScience&Technology,BUPT五、格局为描述有限自动机的工作过程,对于它在某一时刻的工作状态,可用两个信息表明:当前状态q,待输入字符串w。两者构成一个瞬时描述,用(q,w)表示,称为格局。初始格局:(q0,w)终止格局:(q,ε),qF152023/1/11CollegeofComputerScience&Technology,BUPT如图,接受001010的格局(q0,001010)┝(q2,01010)┝(q0,1010)┝(q1,010)┝(q3,10)┝(q2,0)┝(q0,ε)格局数量是无限的。有限状态自动机是无记忆的。例如接受0010101111和接受01011111时,都可以进入格局(q0,1111)。格局示例q0q1q2q3162023/1/11CollegeofComputerScience&Technology,BUPT如果对某个qF,有(q0,w)
┝(q,),则称输入字符串w是可被确定的有限自动机接受的。172023/1/11CollegeofComputerScience&Technology,BUPT设计有限自动机自动机的设计是一个创造过程,没有简单的算法或过程。技巧:假设自己是机器,思考如何去实现机器的任务。为判断到目前为止所看到的字符串是否满足某个语言,须估算出读一个字符串时需要记住哪些关键的东西。
例:构造自动机,识别所有由奇数个a和奇数个b组成的字符串。关键:不需要记住所看到的整个字符串,只需记住至此所看到的a、b个数是偶数还是奇数。
q偶a偶bq奇a偶bq偶a奇bq奇a奇bStartbaabaabb182023/1/11CollegeofComputerScience&Technology,BUPT第二节 不确定的有限自动机(NFA) 修改DFA的模型,使之在某个状态,对应一个输入,可以有多个转移,到达不同的状态,则称为不确定的有限自动机。
例:(1)(2)192023/1/11CollegeofComputerScience&Technology,BUPT一、不确定有限自动机的形式定义NFA是一个五元组,M=(Q,T,δ,q0,F)。 其中δ是Q×T->2Q的函数,其余与DFA相同。如果接收一个字符串后NFA进入一个状态集,而此集合中包含一个以上F中的状态,则称NFA接收该字符串。202023/1/11CollegeofComputerScience&Technology,BUPT(1)(2)pqr0{q}{q}{q,r}1pqr0{p}{r}{r}1{p,q}转移图和转移表表示的NFA212023/1/11CollegeofComputerScience&Technology,BUPT格局示例如图所示,用格局序列描述自动机的工作过程,当输入字符串是0111011时,则有222023/1/11CollegeofComputerScience&Technology,BUPT二、NFA的状态转移函数与DFA唯一不同之处:Q
2Q同样,
δ可扩展为δ’
(
:QT*2Q)1.δ’(q,ε)
=
{q}
含义:
不允许无输入的状态变化。2.δ'(q,ωa)={p|存在r∈δ'(q,ω)∧p∈δ(r,a)}含义:δ’(q,ωa)对应的状态集合是δ’(q,ω)对应的每个状态下再接收字符a以后可能到达的状态集合的并集.
即若(q
,ω)={r
1,r
2,,r
k},则
(q
,ωa)=(r
i,a)其中ω
T*,a
T,r
i
Q232023/1/11CollegeofComputerScience&Technology,BUPT举例
(p
,)
={p}
(p
,0)
={q}
(p
,01)
={q,r}
(p
,010)
={q}
(p
,0100)
={q}
(p
,01001)={q,r}
pqr0{q}{q}{q,r}1扩展转移函数适合于输入字符串242023/1/11CollegeofComputerScience&Technology,BUPTNFA
接受的语言
设一个NFAA=(Q,
T,,q0,F)
定义A的语言:
L(A)=w
(q0,w)
F
252023/1/11CollegeofComputerScience&Technology,BUPT第三节NFA与DFA的等价性DFA是NFA的特例,所以NFA必然能接收DFA能接收的语言。因此证明等价性只要能够证明一个NFA所能接收的语言必能被另一个DFA所接收。1.定理:设一个NFA接受语言L,那么必然存在一个DFA接受L。2.证明:策略:对于任意一个NFA,构造一个接收它所能接收语言的DFA,这个DFA的状态对应了NFA的状态集合。262023/1/11CollegeofComputerScience&Technology,BUPT从NFA构造等价的DFA(子集构造法)设L是某个NFAMN=(QN,
T,N,q0,FN)的语言,则存在一个DFAMD,满足L(MD)=L(MN)=L.
证明:定义
MD=(QD,
T,D,{q0},FD
),
其中
QD
=S
S
QN
=2Q
对SQD
和aT
,
D(S,a)=
N(q,a),
FD=SS
QNS
FN
需要证明:对任何wT*
,
D({q0}
,w)=N(q0,w).
归纳于|w|可证上述命题.
qS272023/1/11CollegeofComputerScience&Technology,BUPTpqr0{q}{q}{q,r}10{q}1{p}{q}{r}{p,q}{p,r
}{q,r
}{p,q,r
}{q}{q,r}{q}{q,r}{q}{q}{q,r}{q}{q,r}子集构造法举例282023/1/11CollegeofComputerScience&Technology,BUPTpqr0{p}{r}{r}1{p,q}01{p}{p,q,r}{p}{p,q}{p}{p,q}{p,q}{p,r}{p,q,r}{p,r}{p,r}{p,q,r}子集构造法举例292023/1/11CollegeofComputerScience&Technology,BUPT证明:从NFA构造等价的DFA设MN=(QN,
T,N,q0,FN)是一个NFA
,通过子集构造法
得到相应的DFAMD=(QD,
T,D,{q0},FD
),则对任何wT*
,
D({q0}
,w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业名称环境社会与公司治理报告2024上半年绩效报告监护类器械行业
- 企业名称可持续发展报告2024上半年绩效报告康复治疗器械
- 企业名称ESG报告2024下半年综合报告高值医用耗材
- 2025年环保计划实施对海洋污染治理的可行性研究报告
- 2025年农业农业生态环境保护计划实施路径研究报告
- 2025年工业互联网安全多方计算技术在智能交通领域的应用前景报告
- 2025年健康科技行业数字化医疗服务发展与健康科技创新研究报告
- 2025年房地产行业智能建筑技术探索与应用研究报告
- 2025年健康养老行业健康养老服务与养老产业发展研究报告
- 2025年物流科技行业物流科技发展和物流市场研究报告
- 高考生物选择性必修1稳态与调节基础知识填空默写(每天打卡)
- 壳聚糖的生物相容性与安全性评价
- DB32T3916-2020建筑地基基础检测规程
- TB-T 3356-2021铁路隧道锚杆-PDF解密
- 体育与健康(水平一)《非移动性技能(16课时)》大单元教学计划
- 小班区域观察记录表30篇
- 转子泵培训课件
- 司美格鲁肽学习课件
- 07FK02防空地下室通风设备安装图集
- 第四讲 坚持以人民为中心PPT习概论2023优化版教学课件
- 冠心病案例汇总
评论
0/150
提交评论