10语言和有限状态机离散数学讲义海南大学共十一讲.docx
- 文档编号:7746841
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:29
- 大小:386.52KB
10语言和有限状态机离散数学讲义海南大学共十一讲.docx
《10语言和有限状态机离散数学讲义海南大学共十一讲.docx》由会员分享,可在线阅读,更多相关《10语言和有限状态机离散数学讲义海南大学共十一讲.docx(29页珍藏版)》请在冰豆网上搜索。
10语言和有限状态机离散数学讲义海南大学共十一讲
10.语言和有限自动机
LanguageandFinite-StateMachine
§10.1语言Languages
由符号以一定规则组成单词word,
由单词以一定规则(语法)组成句子sentences。
以一定规则给句子的含义作出解释叫语义。
Grammars文法
G=(V,S,v0,)短语结构文法phrasestructuregrammar
V是有限符号集,
SV,S终止符号集
v0∈V-S,初始符号,
→是V*上的有限产生关系productrelation。
w,w’∈V*,w→w’是产生规则,
w叫左边,w’叫右边。
__________
N=V-S,非终止符号集。
例1.S={John,Jill,drives,jogs,carelessly,
rapidly,frequently}
N={sentence,noun,verbphrase,verb,
adverb}
V=N∪S,v0=sentence.
sentence→nounverbphrase
noun→John
noun→Jill
verbphrase→verbadverb
verb→drives
verb→jogs
adverb→carelessly
adverb→rapidly
adverb→frequently
sentence
nounverbphrase
Jillverbphrase
Jillverbadverb
Jilldrivesadverb
Jilldrivesfrequently
例2.正则文法,3型文法。
G=(V,S,v0,→),
V={v0,w,a,b,c},S={a,b,c},
1.v0→aw.2.w→bbw.3.w→c.
G能接受的语句是
v0→aw→ab2w→……→ab2nw→ab2nc.
简记为v0ab2nc
G确定的语言L(G)={ab2nc|n∈N}=a(bb)*c.
例3.0型文法。
G=(V,S,v0,→),
V={v0,w,a,b,c},S={a,b,c},
1.v0→av0b.2.v0b→bw.3.abw→c.
v0→av0b→aav0bb→anv0bn→anbwbn-1
=an-1abwbn-1→an-1cbn-1
简记为v0an-1cbn-1
G能接受的语句是ancbn,n≥0.
L(G)={ancbn|n≥0}
形式文法的分类
0型文法type0:
规则无限制.无限制文法。
1型文法type1:
每条规则左边的长度小于等于右边的长度。
lwr→lw’r,上下文有关文法。
2型文法type2:
A→α,A∈N,左边只含单个非终结字符。
上下文无关文法。
3型文法type3:
正则文法。
A→α或A→αB,A,B∈N,左边只含单个非终结字符,右边最右端可以有一个非终结符号。
右线性文法。
A→α或A→Bα,A,B∈N,左边只含单个非终结字符,右边最右端可以有一个非终结符号。
左线性文法。
语言
2型文法生成的语言叫2型语言,上下文无关语言。
3型文法生成的语言叫3型语言,正则语言。
L(G)={anbn|n≥3}
求文法G?
L(G)={xnym|n,m≥2}
求文法G?
§10.2特殊文法和语言的表示
BNF记号notation(Bachus-Naur形式)
例1.sentence:
:
=nounverbphrase,
noun:
:
=John|Jill
verbphrase:
:
=verbadverb
verb:
:
=drives|jogs
adverb:
:
=carelessly|rapidly|frequently
例2.v0:
:
=aw
w:
:
=bbw|c
左边记号在右边出现,叫做递归recursive
例3.程序设计C语言
十进制数:
:
=无符号整数|十进分数|
无符号整数十进分数
十进分数:
:
=.无符号整数
无符号整数:
:
=十进数字|
十进数字无符号整数
十进数字:
:
=0|1|2|3|4|5|6|7|8|9
23.14
例4.
G=(V,S,identifier,→)
N={identifier,remaining,digit,letter}
S={a,b,c,……,z,0,1,2,……,9}
V=N∪S
1.identifier:
:
=letter|
letterremaining
2.remaining:
:
=letter|digit|
letterremaining|
digitremaining
3.letter:
:
=a|b|……|z
4.digit:
:
=0|1|2|3|4|5|6|7|8|9
语法图SyntaxDiagrams
w:
:
=w1w2w3
w:
:
=w1w2|w1a|bcw2
w:
:
=abw
w:
:
=ab|abw
例5.
例6.
正则文法和正则表达式
RegularGrammarandRegularExpressions
设A是一个字符集,由如下产生规则生成的字符串叫做A的正则表示,不引起歧义时简称正则表示,省略A:
Re1.空串
是正则表示。
Re2.如果
则x是正则表示。
Re3.如果α,β是正则表示,则αβ,即α∙β,是正则表示。
Re4.如果α,β是正则表示,则(α∨β)是正则表示。
Re5.如果α是正则表示,则(α)*是正则表示。
定理1.S有限集,LS*,则L正则当且仅当存在正则文法G=(V,S,v0,→),L=L(G)。
将正则文法用BNF图表示,合成一个图,只含一个v0,其他都是终结符号,称为G的主图。
通过这个图,正则文法和正则表示式有一个对应:
1.终结符对应自己。
2.两个片断D1和D2串连成D,D对应α1α2。
3.两个片断D1和D2并连成D,
D对应α1∨α2。
4.一个片断D由D1的环构成,D对应α1*.
例8.
§10.3有限状态自动机
Finite-StateMachine
有限状态集S={s0,s1,s2,……,sn}。
有限输入集I,每个x∈I,有一个
状态转换函数fx:
S→S。
F={fx|x∈I}.
M=(S,I,F)叫有限状态自动机。
状态si,输入x,fx(si)下一个状态。
M=(S,I,F)与M’=(S,I,F)等价:
F:
S×I→S,
F(si,x)=fx(si).
例1.
S={s0,s1},I={0,1}.
f0(s0)=s0,f0(s1)=s1,
f1(s0)=s1,f1(s1)=s0,
状态变换表:
0
1
s0
s0
s1
s1
s1
s0
例2.I={a,b},S={s0,s1,s2},
fa(s0)=s0,fa(s1)=s2,fa(s2)=s1,
fb(s0)=s1,fb(s1)=s0,fb(s2)=s2,
定义S上关系RM,
siRMsj当且仅当存在一个输入x,fx(si)=sj.
M的图:
MooreMachine识别机recognitionmachine
M=(S,I,F,s0,T),
s0初始状态,T可接受状态集。
自动机同余和商自动机
MachineCongruenceand
QuotientMachine
设M=(S,I,F),R是M上同余关系:
R是S上等价关系,且对任意s,t∈S,sRt当且仅当对任意x∈I,fx(s)Rfx(t).
令
=S/R={[s]|s∈S}
对任意x∈I,令
由R是同余关系,
是
上的函数。
令
称有限自动机
=(
,I,
)为M对应R的商,记做
=M/R.
如果M=(S,I,F,s0,T),R是M上的同余关系,
=(
,I,
,s0,
),
={[t]|t∈T}。
称为M的商MooreMachine.
例6.令S={s0,s1,s2,s3,s4,s5},T={s1,s3,s4}.
状态变换表:
S上同余关系R:
a
b
s0
s0
s4
s1
s1
s0
s2
s2
s4
s3
s5
s2
s4
s4
s3
s5
s3
s2
[s0]={s0,s2}=[s2]
[s1]={s1,s3,s5}=[s3]=[s5]
[s4]=[s4]
=S/R={[s0],[s1],[s4]}
a
b
[s0]
[s0]
[s4]
[s1]
[s1]
[s0]
[s4]
[s4]
[s1]
例7.I={0,1},
S={s0,s1,s2,s3,s4,s5,s6,s7},
M={S,I,F}
S/R={{s0,s4},{s1,s2,s5},{s6},{s3,s7}}
0
0
1
§10.4.半群,自动机和语言semigroups,machinesandlanguages
M={S,I,F}
S={s0,s1,s2,……,sn}。
F={fx|x∈I}.
I*是一个独异点,空串Λ是单位元。
S上所有函数的集合SS,关于复合组成独异点,恒等变换1s是单位元。
任意x∈I,fx∈SS,设w=x1x2……xn∈I*,
令fw=fxn◦fxn-1◦…◦fx1,fΛ=1s,
对每个w∈I*,fw∈SS,称fw是w对应的状态变换函数。
例1.M={S,I,F},S={s0,s1,s2},I={0,1}。
状态变换表F:
0
1
s0
s0
s1
s1
s2
s2
s2
s1
s0
设w=011∈I*,
fw(s0)=f1◦f1◦f0(s0)=f1◦f1(s0)=f1(s1)=s2.
fw(s1)=f1◦f1◦f0(s1)=f1◦f1(s2)=f1(s0)=s1.
fw(s2)=f1◦f1◦f0(s2)=f1◦f1(s1)=f1(s2)=s0.
例2.上例Moor机
0
fw(s0)=s2,fw(s1)=s1,fw(s2)=s0.
w’=01011
fw’(s0)=s1,fw’(s1)=s2,fw’(s2)=s0.
令M={S,I,F},定义函数
T:
I*→SS,
对任意w∈I*,T(w)=fw∈SS。
定理1.
(a)T(w1w2)=T(w2)T(w1).
(b)M=T(I*)构成SS的子独异点。
a
例3.
b
则fadd◦fbad=fbadadd.
证明.
fadd(s0)=s0,fadd(s1)=s0,fadd(s2)=s0,
fbad(s0)=s1,fbad(s1)=s1,fbad(s2)=s1,
fadd◦fbad(s0)=fadd(s1)=s0
fadd◦fbad(s1)=fadd(s1)=s0.
fadd◦fbad(s2)=fadd(s1)=s0.
fbadadd(s0)=s0,fbadadd(s1)=s0,fbadadd(s1)=s0,
因此fadd◦fbad=fbadadd.
例4.Moor机如下图,证明fw(s0)=s0当且仅当w含有3n个1。
证明.归纳证明性质P(n)成立:
P(n):
w中含1的个数为l*(w)=m,
(a)m=3n,fw(s0)=s0,
(b)m=3n+1,fw(s0)=s1,
(c)m=3n+2,fw(s0)=s2。
P(0)成立,设P(k)成立,
m=3(k+1)=3k+2+1
fw(s0)=fw’001(s0)=f001fw’(s0)=f001(s2)
=f1(s2)=s0,
m=3(k+1)+1
fw(s0)=fw’0*1(s0)=f0*1fw’(s0)=f0*1(s0)
=f1(s0)=s1,
m=3(k+1)+2=3(k+1)+1+1
fw(s0)=fw’10*(s0)=f10*fw’(s0)=f1(s1)
=f1(s1)=s2,
则P(k+1)成立。
归纳完成。
因此对任意n,P(n)成立。
MooreMachine识别机recognitionmachine
M=(S,I,F,s0,T),
s0初始状态,TS,可接受状态集
令语言L(M)={w|w∈I*,fw(s0)∈T}。
例5.在例4中设T={s1},
fw(s0)=s1当且仅当w中含有3n+1个1。
L(M)={w∈I*|w含有3n+1个1}。
a,b
例6.S={s0,s1,s2},I={a,b},T={s2}
a
求L(M).
解:
L(M)={w∈I*|w含有2个以上的b}。
§10.5自动机和正则语言
定理1.设I是一个集合,LI*.L=L(G)是3型语言,即G是3型文法,当且仅当存在一个Moore自动机M=(S,I,F,s0,T),L=L(M).
推论1.设I是一个集合,LI*.存在一个Moore自动机M=(S,I,F,s0,T),L=L(M)当且仅当L是正则集。
例1.设M是如下Moore机,s2是终止状态,
构造正则文法G,使L(M)=L(G).
解.
令I={a,b},S={s0,s1,s2},V=I∪S,
构造G=(V,I,→):
s0→as0s1→as1s2→as2s1→b
s0→bs1s1→bs2s2→bs2s2→as2→b
L(M)=L(G)=a*ba*b(a∨b)*
例2.设M是如下Moore机,s1是终止状态,
构造正则文法G,使L(M)=L(G).
解.
令I={0,1},S={s0,s1},V=I∪S,
构造G=(V,I,→):
s0:
:
=0s0|1s1|1
s1:
:
=0s1|1s0|0
s0→0s0s1→0s1s0→1
s0→1s1s1→bs0s1→0
L(M)=L(G)=0*10*(10*10*)*
例3.构造一个Moore机M,使L(M)={001}.
解.
例4.令I={0,1},构造Moore机接受的输入序列w中含有10或01,即不接受全0,全1输入。
例5.构造Moore机输入x,y,接受yy结尾的字符串。
自动机的实现
例2.输入0,1,可接受奇数个1的字符串。
subroutineoddones(Result)
1.EOIF
2.ResultF
3.State0
4.until(EOI)
a.callinput(x,EOI)
1.if(EOI=F)then
a.if(State=0)then
1.if(x=1)then
a.ResultT
b.State1
b.else
1.if(x=1)then
a.ResultF
b.State0
5.return
ENDofsubroutineoddones
subroutineoddones(Result)version2
1.ResultF
s02.callinput(x,EOI)
3.if(EOI)then
a.return
4.else
a.if(x=1)then
1.resultT
2.gotos1
b.else
1.gotos0
s15.callinput(x,EOI)
6.if(EOI)then
a.return
7.else
a.if(x=1)then
1.resultF
2.gotos0
b.else
1.gotos1
ENDofsubroutineoddonesversion2
HomeworkPP392-393
2,4,10,20,21,22,24
§10.6自动机的简化
令M=(S,I,F,s0,T)是一个Moore自动机,定义S上一个关系:
s,t∈S,
sRt对任意w∈I*,
fw(s),fw(t)相容,即
fw(s)∈Tifffw(t)∈T。
定理1.
(a)R是S上等价关系。
(b)R是自动机同余关系。
证明.(a)显然。
(b)要证明对任意s,t∈S,
任意x∈I*,
如果sRt则fx(s)Rfx(t)。
即要证明对任意w∈I*,
fw(fx(s))∈Tifffw(fx(t))∈T。
左边=fw◦fx(s)=fxw(s)
右边=fw◦fx(t)=fxw(t)
由题设fxw(s)∈Tifffxw(t)∈T。
因此fw(fx(s))∈Tifffw(fx(t))∈T。
令
=M/R=(
,I,
,s0,
)是M模R的商Moore机,
=S/R,
=T/R.
令S={s0,s1,s2,s3},I={0,1},T={s2,s3},M=(S,I,F,s0,T).
s0Rs1,fw(s0)∈Tw含有1fw(s1)∈T.
s2Rs3,对任意w∈I*,fw(s2)∈T,fw(s3)∈T.
fw(s2)∈Tfw(s3)∈T.
[s0]={s0,s1},[s2]={s2,s3},
S/R={[s0],[s2]},T/R={[s2]},
定理2.
令M=(S,I,F,s0,T)是一个Moore自动机,R是如上定义的等价关系
=M/R=(
,I,
,s0,
)是M模R的商Moore机,则L(M)=L(
).
证明.
设w∈L(M)即w为M接受,fw(s0)∈T。
w([s0])=[fw(s0)]∈T/R.w为
接受,
w∈L(
)。
L(M)L(
).
反之,设w∈L(
)即w为
接受,
w([s0])=[fw(s0)]∈T/R.
存在t∈T,tRfw(s0),
t=fΛ(t)=fΛ(fw(s0))=fw(s0)∈T,
w∈L(M).L(
)L(M).
因此L(M)=L(
).
令Rk是S上关系,s,t∈S,
sRkt当且仅当s,t,k相容的,即
对长度≤k的任意w∈I*,
fw(s)∈Tfw(t)∈T.
定理3.
对任意k≥0,
(a)Rk+1Rk.
(b)Rk是等价关系.
(c)RRk.
定理4.
(a)S/R0={T,
},
是T的余集。
(b)对任意k≥0,任意s,t∈S,
sRk+1t当且仅当
(1)sRkt
(2)对任意x∈I,fx(s)Rkfx(t).
证明.
长度为0的串只有Λ,sR0t当且仅当s,t∈T,或s,t∈
。
设sRk+1t
由定理3(a)得
(1)。
任取w∈I*,l(w)=k,
l(xw)=k+1,
fw(fx(s))=fxw(s)=fxw(t)=fw(fx(t)).
设
(1)
(2)成立。
任取w∈I*,l(w)=k+1,w=xw’,l(w’)=k,
fw(s)=fxw’(s)=fw’(fx(s))
=fw’(fx(t))=fxw’(t)=fw(t)
l(w)≤k,由
(1)fw(s)=fw(t)
则sRk+1t.
定理4给出寻找划分Pk,并得到Rk的递归方法:
1.P0={T,
}.
2.假设已有Pk={A1,A2,……,Am}.将Pk细分:
Ai中s,t,如对任意输入x∈I,fx(s)∈Ajfx(t)∈Aj,把s,t分归同一类。
得到Pk+1。
定理5.如果Rk=Rk+1,则R=Rk。
证明.设Rk=Rk+1,sRk+2t当且仅当对任意输入x∈I,fx(s)Rk+1fx(t)当且仅当fx(s)Rkfx(t)当且仅当sRk+1t当且仅当sRkt。
则Rk=Rk+2=Rk+3=……,
R=∩Rn=Rk.
递归第3步:
3.Pk=Pk+1时停止,P=Pk,
例1中S={s0,s1,s2,s3},I={0,1},T={s2,s3},M=(S,I,F,s0,T).
T={s2,s3},
={s0,s1},
f0(s0)=f0(s1)=s1∈
,
f1(s0)=s2∈T,f1(s1)=s3∈T,
T不分细,
同样
不分细。
P1=P0,
P0=S/R={T,
}。
Moore机如下图,求商自动机
.
解.P0={T,
}={{s0,s5},{s1,s2,s3,s4}}.
P1:
{s0,s5}不细分。
{s1,s2,s3,s4}细分成
{s1,s4},{s2,s3},
P1={{s0,s5},{s1,s4},{s2,s3}}.
P2=P1,
S/R={{s0,s5},{s1,s4},{s2,s3}}.
如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 语言 有限状态机 离散数学 讲义 海南 大学 十一
![提示](https://static.bdocx.com/images/bang_tan.gif)