有限自动机幻灯片.ppt
《有限自动机幻灯片.ppt》由会员分享,可在线阅读,更多相关《有限自动机幻灯片.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、有限自动机第1页,共30页,编辑于2022年,星期六确定有限自动机确定有限自动机DFADFAl确定有限自动机确定有限自动机DFADFA为一个五元组为一个五元组(,SS,SSS,S0 0,f f,TS),TS),其中:其中:l 是一个有穷字母表,它的每个元素称为一个是一个有穷字母表,它的每个元素称为一个输入字符;输入字符;lSSSS是一个有穷集,它的每个元素称为一个状态;是一个有穷集,它的每个元素称为一个状态;lS S0 0 SSSS是唯一的一个初始状态;是唯一的一个初始状态;lf f是在是在 SS SS SSSS上的转换函数上的转换函数lTSTS SSSS,是一个终止状态集,又称为接受状态是一
2、个终止状态集,又称为接受状态集集第2页,共30页,编辑于2022年,星期六DFADFA的两种表示方式的两种表示方式l 状态转换图:状态转换图:结点表示状态,转换边表示转换函数,边结点表示状态,转换边表示转换函数,边 的箭头方向指向转换函数中定义的转换方的箭头方向指向转换函数中定义的转换方 向。标识出初始状态和终止状态。向。标识出初始状态和终止状态。l 状态转换表:状态转换表:可用二维数组描述。标识出初始状态和终可用二维数组描述。标识出初始状态和终 止状态。止状态。Trans(S SI I,a)S SJ J第3页,共30页,编辑于2022年,星期六一个DFA的例子lDFA M=(a,b,S,U,
3、V,Q,S,f,Q),l其中其中 f 定义为:定义为:f(S,a)=U f(V,a)=U f(S,b)=V f(V,b)=Q f(U,a)=Q f(Q,a)=Q f(U,b)=V f(Q,b)=Q第4页,共30页,编辑于2022年,星期六SUVQ Qabbabaa,b状态转换图状态转换图第5页,共30页,编辑于2022年,星期六 字符状态abSUVUQVVUQQQQ状态转换表状态转换表第6页,共30页,编辑于2022年,星期六DFADFA接受的字符串接受的字符串l对于对于*中的任何字符串中的任何字符串t,t,若存在一条从初始若存在一条从初始结点到某一终止结点的路径结点到某一终止结点的路径,且这
4、条路上所且这条路上所有弧的标记符连接成的字符串等于有弧的标记符连接成的字符串等于t,t,则称则称t t可可为为DFA MDFA M所所接受(识别)接受(识别)。lDFA M DFA M 所能接受的字符串的全体记为所能接受的字符串的全体记为L(M).L(M).第7页,共30页,编辑于2022年,星期六DFADFA的确定性的确定性l初始状态唯一。初始状态唯一。l转换函数转换函数f:SSf:SSSSSS是一个单值函数,也是一个单值函数,也就是说,对任何状态就是说,对任何状态S S SS,SS,和输入符号和输入符号a a ,f(S,a),f(S,a)唯一地确定了下一个状态。即转唯一地确定了下一个状态。
5、即转换函数至多确定一个状态。换函数至多确定一个状态。l没有空边。即没有输入为没有空边。即没有输入为()第8页,共30页,编辑于2022年,星期六DFADFA的实现的实现1 1l状态转换表的形式:状态转换表的形式:(数组(数组T T存放转换函数)存放转换函数)1.1.当前状态当前状态StateState置为初始状态置为初始状态 2.2.读一个字符读一个字符 CurrentCharCurrentChar 3.3.如果如果CurrentCharCurrentChar EofEof并且并且 T(State,CurrentChar)T(State,CurrentChar)errorerror 则当前状态
6、转为新的状态则当前状态转为新的状态T(State,Current)T(State,Current),读下一字符。重复第读下一字符。重复第3 3步工作。步工作。4.4.如果当前字符为如果当前字符为EofEof并且当前状态属于终止状态,则并且当前状态属于终止状态,则接受当前字符串,程序结束。否则报错接受当前字符串,程序结束。否则报错l 特点:特点:程序短小,但占用存储空间多程序短小,但占用存储空间多第9页,共30页,编辑于2022年,星期六bDFADFA的实现的实现2 2l状态转换图的形式:状态转换图的形式:l 每个状态对应一个带标号的每个状态对应一个带标号的casecase语句语句l 转向边对应
7、转向边对应gotogoto语句语句l特点:特点:程序长,但占用存储空间少程序长,但占用存储空间少 ijkaLi:case CurrentChar of a :goto Lj b :goto Lk other :Error()第10页,共30页,编辑于2022年,星期六非确定有限自动机非确定有限自动机NFANFAl定义定义1 1:一个非确定有限自动机一个非确定有限自动机(NFA)ANFA)A是是一个五元组一个五元组A=(A=(,SS,S,SS,S0 0,f,TS).,f,TS).其中其中l 是字母表是字母表l SS SS是状态集是状态集l S S0 0是初始状态集是初始状态集l f f是转换函数
8、,但不要求是单值的是转换函数,但不要求是单值的l f:SS f:SS ()2 2SSSSl TS TS是终止状态集是终止状态集第11页,共30页,编辑于2022年,星期六非确定有限自动机非确定有限自动机NFANFAl定义定义2 2:设设A A是一个是一个NFANFA,A=(A=(,SS,S,SS,S0 0,f,TS),f,TS)l则定义则定义L(A)L(A)为从任意初始状态到任意终止状为从任意初始状态到任意终止状态所接受的字符串。态所接受的字符串。L(A)=L(A)=|s s0 0 s s,s,s0 0 S S0 0 s s TS l定义定义3 3:设设A A1 1和和A A2 2是同一个字母
9、表上的自动机,是同一个字母表上的自动机,如果有如果有L(AL(A1 1)=L(A)=L(A2 2),),则称则称A A1 1和和A A2 2等价。等价。第12页,共30页,编辑于2022年,星期六NFANFA到到DFADFA的转换的转换l定理定理 对于每一个非确定自动机对于每一个非确定自动机A,A,存在一个存在一个确定自动机确定自动机A A,使得使得L(A)=L(AL(A)=L(A).).l转换转换:符号合并符号合并 同一状态的不同输出边标有相同的字符。同一状态的不同输出边标有相同的字符。合并合并 含有含有 边边 第13页,共30页,编辑于2022年,星期六NFANFA到到DFADFA的转换的
10、转换l符号合并符号合并:A A:NFA,ANFA,A:DFA:DFA 1.1.令令A A的初始状态为的初始状态为S S0 0=S=S1 1,S,S2 2,S Sk k,其中其中S S1 1S Sk k是是A A的全部初始状态。的全部初始状态。2.2.若若S S=S=S1 1,S,Sm m 是是A A的一个状态,的一个状态,a a则定义则定义 f f(S(S,a)=f(S,a)=f(S1 1,a),a)f(Sf(S2 2,a),a)f(Sf(Sm m,a),a)3 3.若若S S=S=S1 1,S,Sn n 是是A A的一个状态的一个状态,且存且存 在一个在一个S Si i是是A A的终止状态,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 有限 自动机 幻灯片
限制150内