形式语言及自动机 哈尔滨工业大学(中文版)

合集下载

形式语言与自动机 - 哈尔滨工程大学智能信息处理研究中心

形式语言与自动机 - 哈尔滨工程大学智能信息处理研究中心

2)在输入<M2>上运行R。
3) 如果R接受,则接受;如果R拒绝,则拒绝。”
10
语言理论中的不可判定问题
定理 5.4 EQTM是不可判定的。
设TM R判定EQTM。如下构造判定ETM 的TM S:
S=“对于输入<M>,其中M是TM:
1)在输入<M,M1>上运行R,其中M1是拒绝所有输入的图 灵机。 2)如果R接受,则接受;如果R拒绝,则拒绝。 如果R判定EQTM,则S判定ETM。但由定理5.2,ETM是不可 判定的,故EQTM也是不可判定的。
历史,M也就不接受w. 因此,S也就拒绝<M,w >。类似地,
如果R拒绝<B>,则B的语言不空。B能够接受的唯一串是M在 w 上的接受计算历史。这样,M必定接受w 。相应地,S也就 接受<M,w >。下图是检查这样一个TM计算历史的示意图。
B

#
x
q3 Ci
a
b
#
x
x Ci+1
q5
b
#

17
语言理论中的不可判定问题
题在算法上是不可解的。
25
一个简单的不可判定问题
在形式描述这个问题和给出它的证明之前,先来精确地描述这个
问题,然后表示成一个。骨牌簇P是pcp的一个实例:
P=
t1 b1
,
t2 b2
, … ,
tk bk
匹配是一个序列i1,i2,...,il,使ti1ti2...til=bi1bi2bil. 问题是确定P是否有匹配。 令PCP={<G >| P是波斯特对应问题的一个实例,且P有匹配}
9
语言理论中的不可判定问题

形式语言与自动机-课程介绍 ppt

形式语言与自动机-课程介绍 ppt
计算机科学:是关于计算知识的有系统的整 体。
-
8
2、为什么学习形式语言与自动机
计算机科学的两个主要部分:
构成计算基础的一些基本概念和模型;
设计计算系统(软件和硬件)的工程技 术(设计理论的应用)
本课程着重介绍第一部分(涉及到一些 第二部分的应用),通过形式化技术对 大家进行思维训练,为今后的学习打好 理论基础。
最初的应用:编译 ―― 让计算机按照语法规 则将高级语言方便地翻译成机器语言。
-
15
为什么用形式语言
现在: 已广泛应用在人工智能、图象处理、 通信协议、通信软件等多个领域
在计算机理论科学方面:
是可计算理论(算法―在有限步骤内求得 解、算法复杂性、停机问题、)、定理自 动证明、程序转换(程序自动生成)、模 式识别等的基础。
形式语言是某个字母表上的字符串的集合, 有一定的描述范围。
-
12
为什么用形式语言
例1: 汉语: <主> <谓> <宾> ―― 用数 字、符号等形式化的东西来描述语言 我吃饭 ―― 语法正确 我饭吃 ―― 语法错误 饭吃我 ―― 语法正确,语义错误
-
13
为什么用形式语言
例2:T为PASCAL语言所用的全部符号的集合。 正确的PASCAL程序就是T上的语言。
-
4
经典参考书
书名 Introduction to Automata Theory,
Languages, and Computation (Second Edition)
作者
John E. Hopcroft (Cornell) Rajeev Motwani (Stanford) Jefferey D. Ullman (Stanford)

形式语言与自动机(软件学院选修课大二下)

形式语言与自动机(软件学院选修课大二下)



School of Information Engineering, ZZU
22

现在: 已广泛应用在人工智能、图象处理、 通信协议、通信软件等多个领域 在计算机理论科学方面:

是可计算理论(算法―在有限步骤内求得 解、算法复杂性、停机问题、)、定理自 动证明、程序转换(程序自动生成)、模 式识别等的基础。

正确的PASCAL程序就是T上的语言。

例3:在字母表T={a}上,L = {a 2n+1 | n >=0 }

表示任意一对aa (包括0对) 后跟一个a的字 符串。(即含有奇数个a的字符串。)
School of Information Engineering, ZZU 21

形式语言的最初起因: 语言学家(Chomsky) 想用一套形式化方法来描述语言。 形式语言在自然语言研究中起步,在计算机 科学中得到广泛应用。 最初的应用:编译 ―― 让计算机按照语法规 则将高级语言方便地翻译成机器语言。
School of Information Engineering, ZZU 14

对客观世界的科学研究:目的在于把抽象数 学的形式化体系发展成为与现实生活相似的 理论模型,从而提供一种通用结构来描述、 理解和解决问题。

计算机科学:是关于计算知识的有系统的整 体。
School of Information Engineering, ZZU
John.E.Hopcroft, the Turing Award winner in 1986.
作者
出版社 Addison Wesley (2001) 清华大学出版社 (影印版) First Edition 中译本《自动机理论、语言和 计算导引》 徐美瑞 等译 科学出版社,1990

形式语言4

形式语言4
15
证明L= 不是正则的。 例4 证明 {an! : n ≥0}不是正则的。 不是正则的 是正则的,则泵引理成立。 证:若L 是正则的,则泵引理成立。设N为定 为定 理中的正整数。 理中的正整数。 考虑w= aN!∈L, 则w满足泵引理中条件 于是 满足泵引理中条件, 考虑 w=xyz, y≠λ, 且对于 ≥0, 有xykz∈L. λ 且对于k 设x=ap, y=aq (q>0), z=ar , 则xykz∈L ,即 p+kq+r =nk!, k=0,1,2, … 。 , 易知n 由于n 均为正整数, 易知 k+1>nk。由于 k+1和nk均为正整数 故 由上式 q= nk+1!- nk! ≥ (nk+1)!- nk! > nk! , - - →∞得 矛盾。 令k→∞得q ≥ ∞, 矛盾。 →∞ 所以, 不是正则的。 所以 L 不是正则的。 16
3
定义2 对于字母表Σ 函数h: 定义 对于字母表 1和Σ2, 函数 Σ1→Σ2* 称 上的一个同态, 为Σ1上的一个同态 若w=a1a2…an(ai∈Σ1), 则 h(w)=h(a1) h(a2) … h(an). 例如, 例如,h(0)=ab,h(1)=aa,则h(010)=abaaab, 则 h((10)*10*)=(aaab)*aa(ab)*. 性质4 上的正则语言, 为 上的一个 性质 若L是Σ上的正则语言,h为Σ上的一个 是 上的正则语言 同态, 下的像h(L)也是正则语言。 也是正则语言。 同态,则L在h下的像 在 下的像 也是正则语言 因为L是正则语言 故有正则表达式R满 是正则语言, 证:因为 是正则语言,故有正则表达式 满 足L(R)=L. 中出现的每个字母c用 替换, 在R中出现的每个字母 用h(c) 替换,这样得 中出现的每个字母 到一个新正则表达式R’。易知L(h(L))=L(R’), 故 到一个新正则表达式 。易知 h(L)也是正则语言。 也是正则语言。 也是正则语言

形式语言与自动机理论--第六章(蒋宗礼)

形式语言与自动机理论--第六章(蒋宗礼)

• 右句型(right sentencial form)
–最右派生得到的句型可叫做右句型。
• 最左归约(leftmost reduction)
–与最左派生对相的归约叫做最右归约。
6.1.1 上下文无关文法的派生树
• 规范派生(normal derivation)
–最右派生。
• 规范句型(normal sentencial form)
• 必要性
–设Anα ,现施归纳于派生步数n,证明存在结果为α 的A-子树。 设n≤k(k≥1)时结论成立,往证当n=k+1时结论也成立:令 Ak+1α,则有: AX1X2…Xm *α1X2…Xm *α1α2…Xm … * α 1 α 2 … α m
6.1.1 上下文无关文法的派生树
6.1.1 上下文无关文法的派生树
• CSL
– CSG、LBA。
教材及主要参考书目
1.蒋宗礼,姜守旭. 形式语言与自动机理论. 北京: 清华大学出版社,2003年 2. John E Hopcroft, Rajeev Motwani, Jeffrey D Ullman. Introduction to Automata Theory, Languages, and Computation (2nd Edition). Addison-Wesley Publishing Company, 2001 3. John E Hopcroft, Jeffrey D Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley Publishing Company, 1979
6.1.1 上下文无关文法的派生树

形式语言与自动机理论第二章蒋宗礼

形式语言与自动机理论第二章蒋宗礼
第18页/共106页
2.2 形式定义
• P——为产生式(production)的非空有穷集合。P中的元素均具有 形式αβ,被称为产生式,读作:α定义为β。其中 α∈(V∪T)+,且α中至少有V中元素的一个出现。β∈(V∪T)*。 α称为产生式αβ的左部,β称为产生式αβ的右部。产生 式又叫做定义式或者语法规则。
A1A },A)。
第20页/共106页
2.2 形式定义
⑸ ({S , A , B , C , D},{a , b , c , d,#} , {SABCD , Sabc# , AaaA , ABaabbB , BCbbccC,cCcccC,CDccd# ,CDd#, CD#d},S)。
⑹ ({S},{a , b} , {S00S , S11S , S00 , S11},S)。
第32页/共106页
2.2 形式定义
• 例 2-5 设G=({S,A,B},{0,1},{SA|AB,A0|0A,B1|11},S)
对于n≥1,
A n 0n
首先连续n-1次使用产生式;A0A, 最后使用产生式A0;
A n 0nA
连续n次使用产生式A0A;
B1
使用产生式B1;
B 11
使用产生式B11。
• CFL
• CFG(CNF、GNF)、PDA、CFL的性质。
• TM
• 基本TM、构造技术、TM的修改。
• CSL
• CSG、LBA。
第4页/共106页
教材及主要参考书目
1.蒋宗礼,姜守旭. 形式语言与自动机理论. 北京:清华大学出版 社,2003年
2.John E Hopcroft, Rajeev Motwani, Jeffrey D Ullman. Introduction to Automata Theory, Languages, and Computation (2nd Edition). Addison-Wesley Publishing Company, 2001

形式语言与自动机讲义(Part3)

形式语言与自动机讲义(Part3)
* 证明思路: $ 对派生的步数n施归纳,证明对于任意A∈V,如果 A⇒nα ,则在G中存在对应的从A到α的最左派生: A⇒n左α 。
定理6-3 如果α是CFG G的一个句型, α的派生树与最左派 生和最右派生是一一对应的,但是,这棵派生树可以对 应多个不同的派生。
15
文法的二义性
* 定义6-6 文法的二义性(ambiguity) $ 设有CFG G=(V,T,P,S),如果存在w∈L(G),w至 少有两棵不同的派生树,则称G是二义性的。否则, G为非二义性的。
Gexp1: $ E→E+T|E-T|T $ T→T*F|T/F|F $ F→F↑P|P $ P→(E)|N(L)|id $ N→sin|cos|exp|abs|log|int $ L→L,E|E
8
上下文无关文法的派生
上下文无关文法的派生
* 定义6-1 派生树(derivation tree) :设有CFG G=(V,T,P,S),G的一棵派生树是满足如下条件 的一棵(有序)树: (1)树的每个顶点有一个标记X,且 X∈V∪T∪{ε} (2)树根的标记为S; (3)如果非叶子顶点v标记为A,A的儿子从 左到右依次为v1,v2,…,vn,并且它们 分别标记为X1,X2,…,Xn,则 A→X1X2…Xn∈P; (4)如果X是一个非叶子顶点的标记,则 X∈V; (5)如果顶点v标记为ε ,则v是该树的叶 子,并且v是其父顶点的惟一儿子。
⇒x+x/F ⇒x+x/F↑P ⇒x+x/P↑P ⇒x+x/y↑P ⇒x+x/y↑2
(b)最右推导:
E
⇒E+T
⇒E+T/F ⇒E+T/F↑P ⇒E+T/F↑2 ⇒E+T/P↑2 ⇒E+T/y↑2 ⇒ E+F/y↑2 ⇒ E+P/y↑2 ⇒ E+x/y↑2 ⇒ T+x/y↑2 ⇒ F+x/y↑2 ⇒ P+x/y↑2 ⇒x+x/y↑2

形式语言及自动机哈尔滨工业大学(中文版)

形式语言及自动机哈尔滨工业大学(中文版)

形式语⾔及⾃动机哈尔滨⼯业⼤学(中⽂版)4PDA与CFG的等价性4.1由CFG到PDA定理5.如果L是上下⽂⽆关语⾔,那么存在PDA P,使L=N(P).证明.构造PDA:设CFG G=(V,T,P′,S)且L(G)=L,构造PDAP=({q},T,V∪T,δ,q,S,?)其中δ定义:(1)对每个变元A:δ(q,ε,A)={(q,β)|A→β∈P′}(2)对每个终结符a:δ(q,a,a)={(q,ε)}那么P可以模拟G的最左派⽣,每个动作只根据栈顶的符号:如果是终结符则与输⼊串匹配,如果是⾮终结符⽤产⽣式来替换.充分性:要证明S??w=?(q,w,S)?*(q,ε,ε).那么任意w∈L(G),则存在最左派⽣S??lm w,并且除最后⼀步派⽣的w外,每次派⽣的最左句型都有xAα的形式,这⾥x∈T?,A∈V,α∈(V∪T)?.S=x1A1α1?lm x2A2α2?lm···?lm x n?1A n?1αn?1?lm x nαn=ww=x1y1=x2y2=···=x n?1y n?1=x n y n=w (q,w,S)=(q,y1,A1α1)?*(q,y2,A2α2)?*···?*(q,y n?1,A n?1αn?1)?*(q,y n,αn)=(q,ε,ε)当处于S??lmw的第i步时,若x i y i=w,有:x i A iαi??lm x i+1A i+1αi+1=?(q,y i,A iαi)?*(q,y i+1,A i+1αi+1)因为,当最左派⽣处于左句型x i A iαi时,ID为(q,y i,A iαi),如果有A i→β的产⽣式,则x i A iαi?lm x iβαi⽽x iβαi也是左句型,所以最左的变量即为A i+1,则A i+1之前x i之后的终结符记为x′,A i+1之后的记为αi+1,那么就有x i A iαi?lm x iβαi=x i x′A i+1αi+1那么由(1)P模拟A i→β的动作得到(q,y i,A iαi)?(q,y i,βαi)=(q,y i,x′A i+1αi+1)由(2)P会弹出x′,⽽y i会去掉与x′匹配的前缀,剩下的部分记为y i+1(即y i=x′y i+1),那么(q,y i,x′A i+1αi+1)?*(q,y i+1,A i+1αi+1)因此当S??lmw有(q,w,S)?*(q,ε,ε),即L(G)?N(P).必要性:要证明(q,w,S)?*(q,ε,ε)=?S??w.我们证明更⼀般的结论(q,x,A)?*(q,ε,ε)=?A??x.通过对ID转移的次数进⾏归纳证明.归纳基础:当仅需要1次时,只能是x=ε且A→ε为产⽣式.(因为即使x=a和产⽣式A→a,也需要2步才能清空栈:替换栈顶A为a,再弹出a.)所以A??ε成⽴.归纳递推:假设转移次数不⼤于n(n≥0)步时结论成⽴.当需要n+1步时,因为A是变元,其第1步转移⼀定是(q,x,A)?(q,x,Y1Y2···Y m)且A→Y1Y2···Y m是产⽣式,其中Y i是变元或终结符.⽽其余的n步转移(q,x,Y1Y2···Y m)?*(q,ε,ε)中,每个Y i不论是变元或终结符,从栈中被完全弹出时,都会消耗掉部分的x,记为x i,那么显然有x=x1x2···x m.⽽且为了清空每个Y i,需要的转移次数都不超过n,所以对i=1,2,···,m有(q,x i,Y i)?*(q,ε,ε)=?Y i??x i.再由A的产⽣式有Y1Y2···Y m??lm x1Y2···Y m??lm x1x2···Y m??lm x1x2···x m=x.A?lm因此(q,w,S)?*(q,ε,ε)=?S??w,即N(G)?L(G).⽰例为⽂法S→aAA,A→aS|bS|a构造PDA.构造PDA P=({q},{a,b},{a,b,A,S},δ,q,S,?),其中δ为δ(q,ε,S)={(q,aAA)}δ(q,a,a)={(q,ε)}δ(q,ε,A)={(q,aS),(q,bS),(q,a)}δ(q,b,b)={(q,ε)}.利⽤GNF的构造⽅法将⽂法转换为GNF格式的CFG G=(V,T,P′,S),那么PDA P的另⼀种构造⽅式为:P=({q},V,T,δ,q,S,?)为每个产⽣式,定义δ:δ(q,a,A)={(q,β)|A→aβ∈P′}.⽰例上例中的⽂法是GNF,构造PDA P′=({q},{a,b},{S,A},δ,q,S,?),其中δ为δ(q,a,S)={(q,AA)}δ(q,a,A)={(q,S),(q,ε)}δ(q,b,A)={(q,S)}.4.2由PDA到CFG定理6.如果PDA P,有L=N(P),那么L是上下⽂⽆关语⾔.证明.⽂法构造:设PDA P=(Q,Σ,Γ,δ,q0,Z0,?).那么构造CFG G=(V,T,P,S),其中V是形如[qXp]的对象和符号S的集合,其中p,q∈Q,X∈Γ,产⽣式集合P包括:(1)为Q中的每个p,构造⼀个产⽣式:S→[q0Z0p](2)如果δ(q,a,X)包括(p,Y1Y2···Y n),构造⼀组产⽣式:[qXr n]→a[pY1r1][r1Y2r2]···[r n?1Y n r n]这⾥a∈Σ∪{ε};X,Y i∈Γ;p,q∈Q;⽽r1,r2,···r n是Q中各种可能的n个状态;若i=0则构造产⽣式[qXp]→a.那么(q,w,X)?*(p,ε,ε)??[qXp]??w.充分性:ID序列(q,w,X)?*(p,ε,ε)表⽰栈弹出X⽽消耗了串w(状态从q到了p);⽽[qXp]??w 表⽰在P中经过栈符号X可以产⽣出w(状态从q到了p);设w=ax,a∈Σ∪{ε}.(1)我们要证明(q,w,X)?*(p,ε,ε)=?[qXp]??w(2)左边部分ID动作变化如果需多步完成,那么第1步时,⼀定有δ(q,a,X)包含(p,Y1Y2···Y n),(i)则第1步为(q,ax,X)?(p,x,Y1Y2···Y n)⽽其余步骤中,为弹出Y i会消耗x中的⼀部分x i,显然w=ax=ax1x2···x n;(ii)设弹出Y i之前和之后(弹出Y i+1之前)的状态分别是r i?1和r i,消耗的串是x i,这⾥i=1,2,···n且r0=p,那么其他步骤就是(r i?1,x i,Y i)?*(r i,ε,ε)(iii)⽽根据⽂法的构造规则,有[qXp]?a[pY1r1][r1Y2r2]···[r n?1Y n r n](iv)因此,只要i=1,2,···,n有(r i?1,x i,Y i)?*(r i,ε,ε)=?[r i?1Y i r i]??x i成⽴,就有[qXp]?a[pY1r1][r1Y2r2]···[r n?1Y n r n]??ax1x2···x n=w成⽴.(3)⽽左边部分ID动作变化如果仅需1步完成(或者说i=0时),由于(q,a,X)?(p,ε,ε),P只能消耗不超过⼀个的字符,即w=a(a∈Σ∪{ε}),且(p,ε)在δ(q,a,X),所以,由⽂法构造规则[qXp]→a,即(q,a,X)?(p,ε,ε)=?[qXp]?a因此(q,w,X)?*(p,ε,ε)=?[qXp]??w.必要性:略.⽰例将PDA P=({p,q},(0,1),{X,Z},δ,q,Z)转为CFG,其中δ如下:(1)δ(q,1,Z)={(q,XZ)}(4)δ(q,ε,Z)={(q,ε)}(2)δ(q,1,X)={(q,XX)}(5)δ(p,1,X)={(p,ε)}(3)δ(q,0,X)={(p,X)}(6)δ(p,0,Z)={(q,Z)}0S →[qZq ]S →[qZp ]消掉[qZp ],因与⾃⼰循环1[qZq ]→1[qXq ][qZq ][qZq ]→1[qXp ][pZq ][qZp ]→1[qXq ][qZp ]...[qZp ]→1[qXp ][pZp ]因⽣成step 2中的[qZp ]······5确定型下推⾃动机(DPDA)PDA P =(Q,Σ,Γ,δ,q 0,Z 0,F )是确定型下推⾃动机(DPDA ),当且仅当:(1)δ(q,a,X )⾄多有⼀个动作,这⾥a ∈Σ∪{ε};(2)如果δ(q,a,X )=?,那么δ(q,ε,X )=?.即?(q,a,Z )∈Q ×Σ×Γ,|δ(q,a,Z )|+|δ(q,ε,Z )|≤1.在任何情况下都不需要去选择可能的移动就是DPDA,以终态⽅式接受的语⾔也称为DCFL.虽然与PDA 不等价,但也有意义,例如语法分析器通常都是DPDA,DPDA 接受的语⾔是⾮固有歧义语⾔的真⼦集,Knuth 提出LR(k )⽂法的语⾔也恰好是DPDA 接受语⾔的⼀个⼦集,解析的时间复杂度为O (n ),LR(k )⽂法也是YACC 的基础.任何DPDA 都⽆法接受L wwr ,但是可以接受L wcwr ={wcw R|w ∈(0+1)?}.0,Z 0/0Z 01,0/101,Z 0/1Z 00,1/010,0,0/ε5.1RL 与DPDA定理7.如果语⾔L 是正则的,那么有DPDA P ,使L =L (P ).(注意是以终态⽅式接受.)DPDA P 可以不使⽤栈,⽽仅模拟DFA 即可.⼜因为L wcwr 显然是CFL,所以L (P )语⾔类真包含正则语⾔.5.2DPDA 与CFLDPDA P ⽆法识别L wwr .所以L (P )语⾔类真包含于上下⽂⽆关语⾔.5.3DPDA 与歧义⽂法定理8.如果有DPDA P ,语⾔L =L (P ),那么L 有⽆歧义的CFG.定理9.如果有DPDA P ,语⾔L =N (P ),那么L 有⽆歧义的CFG.证明略.DPDA也因此在语法分析中占重要地位.但是并⾮所有⾮固有歧义CFL都会被DPDA 识别.例如L wwr有⽆歧义⽂法S→0S0|1S1|ε.5.4语⾔间的关系a nb nc nww Rwcw Ra?b?。

形式语言与自动机理论--第一章(蒋宗礼)

形式语言与自动机理论--第一章(蒋宗礼)

差(difference)
• 属于A,但不属于B的所有元素组成的集合叫做A 与B的差,记作A-B。
A-B={a|a∈A且aB}
• “-”为减(差)运算符,A-B读作A减B。
• ⑴ A-A=Φ。
⑵ A-Φ=A。 ⑶ A-B ≠ B-A。 ⑷ A-B=A iff A∩B=Φ。 ⑸ A∩(B-C)=(A∩B)-(A∩C)。 ⑹ |A-B|≤|A|。
达式; ⑵ 归纳:如果E1、E2是表达式,则 +E1、-E1、
E1+E2、 E1-E2 、E1*E2 、E1/E2、E1**E2、 Fun(E1)是算术表达式。其中Fun为函数名。 ⑶ 只有满足(1)和(2)的才是算术表达式。
1.2.4 递归定义与归纳证明
立; ⑷ 对任意的i,j,i≠j,Si中的任意元素a和Sj中的任
意元素b,aRb恒不成立
1.2.1 二元关系(binary relation)
• 指数(index)
– 把R将S分成的等价类的个数称为是R在S上的 指数。如果R将S分成有穷多个等价类,则称R 具有有穷指数;如果R将S分成无穷多个等价类, 则称R具有无穷指数。
1.2.1 二元关系(binary relation)
⑴ R1R2≠R2R1。 ⑵ (R1R2)R3=R1(R2R3)。 ⑶ (R1∪R2)R3=R1R3∪R2R3。 ⑷ R3(R1∪R2)=R3R1∪R3R2。 ⑸ (R1∩R2)R3R1R3∩R2R3。 ⑹ R3(R1∩R2)R3R1∩R3R2。
形式语言与自动机理论--第一章 (蒋宗礼)
课程目的和基本要求
• 课程性质
–技术基础
• 基础知识要求
–数学分析(或者高等数学),离散数学
• 主要特点

形式语言.

形式语言.
∑ )*·V·(V∪ ∑ )*,β∈(V∪ ∑ )*,α→β表示从α可以推导出β。
(4)S是初始符。
2018/9/19
第11章 形式语言与自动机简介
定义11.3 设G=(V,∑ ,P,S)是一个文法,则 (1)S是句型; (2)若α β γ 是句型,且β →δ 是P的一个元素,则α δ γ 也是句型。
(3)不含非终结符的句型是语言L(G)的一个句子。
下面,我们通过一些例子来说明文法的概念以及由文法产生语言的过程。 例3 设G=({A,S},{0,1},P,S),其中P={S→0A1,0A→00A1,A→ε}。 从这个文法可以推导出下面的一些句子: S→0A1→01;S→0A1→00A11→0011;S→0A1→00A11→000A111→000111。 例4 设G=({S},{a,b},P,S),其中P={S→bSS,S→a}。从这个文法中 可以推导出下面的句子: S→bSS→baS→baa; S→bSS→bbSSSS→bbSaSS→bbbSSaSS→bbbaaabSSSS→bbbaaabaaaa。
2018/9/19
第11章 形式语言与自动机简介
11.2 正规语言与有限自动机
11.2.1 确定的有限自动机
有限自动机是一种具有离散输入和输出系统的数学模型,这种 系统具有有限个内部状态。在引入有限自动机的定义之前,我们来 看一个例子。 有一个人带着一只狼,一只羊和一棵青菜,要从河左岸渡到河 右岸。但河中只有一只小船,一次只能装载人和他携带的三者之一 过河。考虑到安全问题,当人不在场的时候,狼和羊不能留在河岸 的一边,羊和菜也不能留在河岸的一边。如何能使人及其携带的三 者都渡过河而羊和菜又不被吃掉呢?
字母表是由26个英文字母、10个阿拉伯数字、运算符号

形式语言与自动机课后习题答案

形式语言与自动机课后习题答案

形式语言与自动机课后习题答案第二章4•找出右线性文法,能构成长度为1至5个字符且以字母为首的字符串。

答:G={N,T,P,S}其中N={S,A,B,C,D} T={x,y} 其中x€ {所有字母} y € {所有的字符} P如下:4 x S f xA A f y A f yB4 y B f yC C f y C f yD D f y 6 •构造上下文无关文法能够产生L={ 3 / {a,b}*且3中a的个数是b的两倍}答: G={N,T,P,S}其中N={S} T={a,b} P 如下:S f aab S f aba S f baaS f aabS S f aaSbS f aSab S f SaabS f abaS S f abSaS f aSba S f SabaS f baaS S f baSaS f bSaa S f Sbaa7 •找出由下列各组生成式产生的语言(起始符为S)⑴ S f SaS S f b⑵ S f aSb S f c(3) S f a S f aE E f aS答:(1) b(ab) n /n > 0}或者L={(ba) n b /n > 0}(2)L={a n cb n /n > 0}(3)L={a2n+1 /n > 0}第三章1.下列集合是否为正则集,若是正则集写出其正则式。

(1)含有偶数个a和奇数个b的{a,b}*上的字符串集合(2)含有相同个数a和b的字符串集合(3)不含子串aba的{a,b}*上的字符串集合答:(1)是正则集,自动机如下b b b b⑵ 不是正则集,用泵浦引理可以证明,具体见17题(2)(3) 是正则集先看L '为包含子串aba的{a,b}*上的字符串集合显然这是正则集,可以写出表达式和画出自动机。

(略) 则不包含子串aba的{a,b}*上的字符串集合L是L'的非。

根据正则集的性质,L也是正则集。

4.对下列文法的生成式,找出其正则式(1)G=({SAB,C,D},{a,b,c,d},P,S), 生成式P如下:S f aA S —BA f abS A —bBB f b B f cCC fD D f bBD f d(2)G=({SAB,C,D},{a,b,c,d},P,S), 生成式P如下:S f aA S f BA f cC A f bBB f bB B f aC fD C f abBD f d答:(1) 由生成式得:S=aA+B ①A=abS+bB ②B=b+cC ③C=D ④D=d+bB ⑤③④⑤式化简消去CD得到B=b+c(d+bB)即B=cbB+cd+b =>B=(cb)*(cd+b) ⑥将②⑥代入①S=aabS+ab(cb)*(cd+b)+(cb)*(cd+b) =>S=(aab)*(ab+ & )(cb)*(cd+b)(2) 由生成式得:S=aA+B ①A=bB+cC②B=a+bB ③C=D+abB④D=dB ⑤由③得B=b*a ⑥将⑤⑥代入④ C=d+abb*a=d+ab+a ⑦将⑥⑦代入② A=b+a+c(d+b+a) ⑧将⑥⑧代入① S=a(b +a+c(d+ab +a))+b*a++=ab a+acd+acaba+b*a5. 为下列正则集,构造右线性文法:(1){a,b}*(2)以abb 结尾的由a 和b 组成的所有字符串的集合(3)以b为首后跟若干个a的字符串的集合(4)含有两个相继a和两个相继b的由a和b组成的所有字符串集合答:(1)右线性文法G=({S},{a,b},P,S)P: S f aS S f bS S(2)右线性文法G=({S},{a,b},P,S)P: S f aS S f bS S f abb(3)此正则集为{ba*}右线性文法G=({S,A},{a,b},P,S)P: S f bA A f aA A f£(4)此正则集为{{a,b}*aa{a,b}*bb{a,b}*, {a,b}*bb{a,b}*aa{a,b}*} 右线性文法G=({SAB,C},{a,b},P,S)P: S f aS/bS/aaA/bbBA f aA/bA/bbCB f aB/bB/aaCC f aC/bC/ &7.设正则集为a(ba)*(1)构造右线性文法⑵找出(1)中文法的有限自b动机答:(1)右线性文法G=({S,A},{a,b},P,S)P: S f aA A f bS A f&(2)自动机如下:(p2是终结状态)9.对应图(a) (b)的状态转换图写出正则式。

形式语言及自动机哈尔滨工业大学(中文版)

形式语言及自动机哈尔滨工业大学(中文版)

形式语言及自动机哈尔滨工业大学(中文版)1正则表达式(Regular Expression)自动机通过识别来定义语言,正则表达式通过规则产生语言(或表示语言);正则表达式,所表示的语言与正则语言等价。

1.1语言的运算如果L和M是两个语言:1)L∪M为两个语言的并2)LM为两个语言的连接3)L?为语言的(克林)闭包示例四则运算表达式的定义1)任何的数都是四则运算表达式;2)如果a和b是四则运算表达式,那么a+b,a?b,a×b,a÷b和(a)都是四则运算表达式.1.2正则表达式的递归定义设Σ为字母表,则Σ上的正则表达式,递归定义为:1)?是一个正则表达式,表示空语言;2)ε是一个正则表达式,表示语言{ε};3)Σ中的任意字符a,都是一个正则表达式,分别表示语言{a};4)如果正则表达式r和s分别表示语言R和S,则r+s,rs,r?和(r)也是正则表达式,分别表示语言R∪S,RS,R?和R.示例00表示语言{00}.(0+1)?表示任意0和1构成的串.(0+1)?00(0+1)?表示至少有两个连续的0的串. (0+ε)(1+10)?表示没有两个连续0的串.1.3运算符的优先级正则表达式的三种运算:“加”(+)、“连接”(·一般省略)和“星”(?).正则表达式中运算符的优先级:括号的优先级最高,但括号本身并不是运算1)首先,“星”优先级最高:r?2)其次,“连接”:rs,r·s3)最后,“加”优先级最低:r+s示例01?+1=(0(1?))+12有穷自动机和正则表达式2.1正则语言的表示2.2DF A ?RE,递归构造R (k )ij定理:如果L =L (A )是某个DFA A 的语言,则有一个正则表达式R ,且L =L (R ).设DFA A 的状态共有n 个,若为每个结点编号,DFA A 的状态可表示为{1,2,...,n }。

正则表达式R (k )ij表示,在结点i 到j 的全部路径中,路径所经过的结点不超过k 的全部路径的正则表达式集合,但不包括起点i 和终点j 。

哈工大计算机科学与技术专业本科生培养方案

哈工大计算机科学与技术专业本科生培养方案

计算机科学与技术专业本科生培养方案一、培养目标在可持续发展教育观的指导下,倡导“研究型、个性化、精英式”人才培养理念,培养适应21世纪社会主义现代化建设需要,德、智、体等全面发展,掌握数学与自然科学基础知识以及计算机、网络与信息系统相关的基本理论、基本知识、基本技能和基本方法,具有较强的专业能力和良好的综合素质,具备抽象思维、逻辑思维能力和系统观,具有创新精神和实践能力的高级复合型人才。

毕业后可在科研院所、企事业单位和行政管理部门从事计算机方面的科学研究、计算机系统设计、技术开发与应用等工作;有相当一部分学生可以继续攻读计算机科学与技术学科及相关学科的硕士学位。

二、培养要求计算机科学与技术专业本科毕业生应具有如下基本素质:1.社会素质:掌握马列主义、毛泽东思想与中国特色社会主义基本理论。

爱国敬业,具有科学的世界观、人生观,具有团队合作精神,自觉遵守社会公德和职业道德,具有诚信意识和宽容的心态。

2.研究素质:具有良好的科学思维和科学态度,对未知世界有强烈的好奇心和研究兴趣。

3.个性素质:培养协同意识,塑造利他精神,健全人格;挖掘自己的潜力和爱好,对待事物有独立见解;具有理性批判、自主学习和终身学习的意识和习惯。

4.领袖素质:有高度的历史和社会责任感,有一定的领导意识,有国际视野及跨文化交流、竞争与合作能力。

5.工程素质:具有工程观念,能用工程的思想与方法分析和解决实际问题。

6.人文素质:具有一定的文学社会科学素质、职业道德和心理素质、社会责任感等,具有方针、政策、法律、法规、经济、管理等方面的素养。

7.身心素质:掌握体育运动的一般知识和基本方法,养成良好的体育锻炼习惯,具有乐观向上的生活态度,掌握调节心态的方式和方法,有较强的抗挫折能力。

计算机科学与技术专业本科毕业生应具有如下基本能力:1.计算思维能力主要包括形式化、模型化描述和抽象思维与逻辑思维能力。

2.算法设计与分析能力针对具体问题设计有效的求解算法,并能分析该算法的时空复杂性。

形式语言与自动机理论FormalLanguagesandAutomataTheory

形式语言与自动机理论FormalLanguagesandAutomataTheory

2020/7/10
14
笛卡儿积(Cartesian product)
❖ A与B的笛卡儿积(Cartesian product)是一个集合, 该集合是由所有这样的有序对(a,b)组成的:其中 a∈A,b∈B ,记作A× B。
A× B={(a,b)|a∈A& b∈B }。
❖ “× ”为笛卡儿乘运算符。A× B读作A叉乘B。
❖ A与B的并(union)是一个集合,该集合中的元素要么 是A的元素,要么是B的元素,记作A∪B。
A∪B={a|a∈A或者a∈B}
A1∪A2∪…∪An={a|i,1≤i≤n,使得a∈Ai} A1∪A2∪…∪An ∪…={a|i,i∈N,使得a∈Ai}
Ai
i 1
A {a | A S, a A}
2020/7/10
7
1.1.2 集合之间的关系
❖集合相等
如果集合A,B含有的元素完全相同,则称集合 A与集合B相等(equivalence),记作A=B。
❖对任意集合A、B、C: ⑴ A=B iff AB且BA。 ⑵ 如果AB,则|A|≤|B|。 ⑶ 如果AB,则|A|≤|B|。 ⑷ 2020/7/10 如果A是有穷集,且AB,则|B|>|A|。 8
❖ 计算思维能力
逻辑思维能力和抽象思维能力
构造模型对问题进行形式化描述
理解和处理形式模型
2020/7/10
2
课程目的和基本要求
❖ 知识
掌握正则语言、下文无关语言的文法、识别模型 及其基本性质、图灵机的基本知识。
❖ 能力
培养学生的形式化描述和抽象思维能力。
使学生了解和初步掌握“问题、形式化描述、自 动化(计算机化)”这一最典型的计算机问题求 解思路。

0a0b0c1a1b1ca0a1...

0a0b0c1a1b1ca0a1...

形式语言
形式语言 – 元语言:
用数学方法将符号语言抽象成一个数学系统,对其进行严格 的形式化定义,并构建适当的描述模型,发展相关的知识和 理论,使之在科学实践中具有良好的指导作用。
形式语言与自动机理论的发展概况
何为形式语言 形式语言的研究概况 计算模型相关研究领域
研究概况
数理语言学家致力于用数学方法研究自然语言的结构,试 图用计算机模拟。
字母表与字符串
定义 1.5
设∑是一个字母表, x ∈∑*, x 叫做 ∑ 上的一个句子( 字符串、符号串)。
例:
1、{ 0, 1 }* = {ε, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, ... }; 2、{ a, b, c }* = {ε, a, b, c, aa, ab, ac, ba, bb, bc, …, aaa, … } 3、 an = aa…a 表示 n 个 a 组成的字符串。
∑的克林闭包:
∑* = ∑0∪ ∑ ∪ ∑2 ∪∑3 ∪ …. ,
是 上全体字符串构成的集合
例:1、{ 0, 1 }+ = { 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, ... };
2、{ 0, 1 }* = {ε, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, ... }; 3、{ a, b, c }* = {ε, a, b, c, aa, ab, ac, ba, bb, bc, …, aaa, … }
例: 若 = ab, = ab, 则 = ; 若 = ab, = ba, 则 。
字母表与字符串
定义 1.8 :

《形式语言与自动机》期末复习题及答案(一)

《形式语言与自动机》期末复习题及答案(一)

形式语言与自动机期末复习题及答案(一)1.有图灵机 M=(Q, ∑, Γ, δ,q 0 , B , F) 接受语言{w t w│w ∈{a, b}*},按照下图说明其接受过程。

(本题15分 )[q 1[q 6,B]答:abtab 的分析过程:[q 1,B]abtab├a [q 2,a]btab├ab [q 2,a]tab├abt [q 3,a]ab├ ab [q 4,B]tab├a [q 5,B]btab├[q 6,B]abtab├a [q 1,B]btab ├ab [q 2,b]tab├abt [q 3,b]ab ├abta [q 3,b]b ├abt [q 4,B]ab├a [q 5,B]btab ├ab [q 7,B]tab ├abt [q 8,B]ab├abta [q 8,B]b ├abtab [q 8,B]B├abta [q 9,B]b 接受abtab√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√2.简述《形式语言与自动机》课程的主要内容。

(本题10分)答:语言的文法描述;RL (RG 、FA 、RE 、RL 的性质 );CFL (CFG(CNF 、GNF)、PDA 、CFL 的性质);TM (基本TM 、构造技术、TM 的修改);CSL (CSG 、LBA )。

3.简述《形式语言与自动机》课程的学习目的和基本要求。

(本题10分) 答:本专业人员4种基本的专业能力:计算思维能力、算法的设计与分析能力、程序设计和实现能力、计算机软硬件系统的认知、分析、设计与应用能力。

其中计算思维能力包括:逻辑思维能力和抽象思维能力、构造模型对问题进行形式化描述、理解和处理形式模型。

本课程应使学生掌握如下知识:正则语言、下文无关语言的文法、识别模型及其基本性质、图灵机的基本知识。

锻炼培养如下能力:形式化描述和抽象思维能力、了解和初步掌握“问题、形式化描述、自动化(计算机化)”这一最典型的计算机问题求解思路。

形式语言与自动机在自然语言处理与机器翻译中的应用

形式语言与自动机在自然语言处理与机器翻译中的应用

形式语言与自动机在自然语言处理与机器翻译中的应用自然语言处理(Natural Language Processing, NLP)和机器翻译(Machine Translation, MT)是近年来计算机科学领域中备受瞩目的研究方向。

在NLP和MT的背后,形式语言和自动机是关键的理论和工具。

本文将探讨形式语言与自动机在自然语言处理与机器翻译中的应用,并提供相关实例进行说明。

一、形式语言与自动机简介形式语言是一种用于描述、表示和处理语言结构的形式化工具。

形式语言包括正则语言、上下文无关语言、上下文有关语言和递归可枚举语言等。

形式语言理论的基础是自动机理论。

自动机是形式语言理论的核心概念,它是一种用于模拟描述、产生和识别形式语言的计算模型。

常见的自动机包括有限状态自动机(Finite State Automaton, FSA)、下推自动机(Pushdown Automaton, PDA)和图灵机(Turing Machine, TM)等。

二、形式语言与自动机在自然语言处理中的应用形式语言与自动机在自然语言处理中发挥着重要作用,以下将介绍其中几个具体应用场景。

1. 语法分析语法分析是自然语言处理中的重要任务,它用于解析句子的结构和语法关系。

上下文无关语法(Context-Free Grammar, CFG)是描述自然语言结构的常用形式语言模型。

语法分析器利用上下文无关语法和相应的自动机算法来分析句子的句法结构,从而实现语义标注、句法树生成等功能。

2. 词法分析词法分析是将自然语言文本中的单词序列转换为词汇单元的过程。

正则语言是描述有限状态自动机的形式语言,词法分析器通常使用正则表达式来识别和提取不同类型的词汇。

通过形式语言和自动机模型,可以构建高效的词法分析器,实现对文本进行分词、词干提取、词性标注等操作。

3. 语言模型语言模型用于计算句子的概率或可能性。

N-gram模型是自然语言处理中常用的语言模型。

计算机科学与技术专业要学的课程(中英文对照)

计算机科学与技术专业要学的课程(中英文对照)

计算机科学与技术专业Specialty in Computer Science & Technology一、培养目标Ⅰ. Educational Objectives培养德、智、体全面发展,具有计算机科学与计算机工程领域系统、扎实的理论基础,知识结构合理,具有创新能力和国际竞争力的高素质的科技人才。

本专业的学生在信息的获取、传递、处理及应用等方面具有较宽广的专业知识、掌握现代计算机科学及工程中计算机硬件和计算机系统软件的基本原理、计算机应用技术,并具有较强的工程实践能力,具备设计、开发计算机硬件、计算机系统软件和应用软件的能力。

要求本专业学生具有较强的英语语言能力、良好的人文素质和创新精神,并在计算机科学、嵌入式系统、操作系统、自动控制、计算机网络、信息安全、软件工程、信息处理及其相关领域中的一个或两个方向具有特色。

毕业生能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的高级研究型及应用型人才。

This program is designed to provide a thorough grounding in the theoretical principles and knowledge of information retrieval, transformation, processing and application. It remains committed to systematic education for high-level researchers and doers, who have the personality of innovation and the desire for international competition.Students shall be equipped with a professional education of principles and technology in the field of computer hardware & software. Moreover, the proficiency in engineering practice and the ability in development of hardware & software are required. Students with good command of English and personality of innovation shall be expert in one or two of the following fields: Computer Science, Embedded Systems, Operating System, Automatic Control, Computer Network, Information Security, Software Engineering, Information Processing and other related fields. Students can be prepared for any professional role they might choose-education, research & design, practice in research institutes, universities, industries, the professions and other community groups.二、培养要求Ⅱ. Skills Profile本专业毕业生主要应获得以下几方面的知识和能力:1.掌握扎实的数学、物理等自然科学和一定社会科学基础理论知识,具有较强的外语应用能力;2.掌握文献检索、资料查询的基本方法,具有获取信息的能力;3.较系统地掌握本专业所必需的高级语言、操作系统、计算机硬件、数据库、网络技术等基础理论和研究开发计算机软、硬件的基本技能;4.掌握必要的相关专业基础知识,包括网络工程、信息安全和软件工程等方面的基本知识;5.了解计算机科学与技术的发展动态和计算机的有关法规;6.具有较好的人文社科知识和人文素质,以及较强的协调、组织能力;7.具有较强的创新精神。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

正则表达式定义 h 作用在每个集合的串上 归纳假设 表达式作为语言的表示的定义 h 作用在每个集合的串上
h(L(F )L(G)) h(L(F ))h(L(G)) L(h(F ))L(h(G)) L(h(F )h(G)) L(h(F G)) L(h(E ))
正则表达式的定义 ⋆ 归纳假设 表达式连接的定义 ⋆
示例
设 Σ = {0, 1},Γ = {a, b},若同态函数为 h(0) = ab, h(1) = ε,则串 0011 在 h 的作用下 h(0011) = abab. 语言 L = 10∗ 1,在上例的同态 h 的作用下,h(L) = (ab)∗ . 定理 7. 如果 L 是字母表 Σ 上的正则语言,h 是 Σ 上的一个同态,则 h(L) 也是正则的. 证明: 设 E 是正则表达式,用 h(E ) 表示将 E 中的每个符号替换后的表达式,往证:h(L(E )) = L(h(E )). 对 E 的结构进行归纳,首先,L(ε) = ε, L(∅) = ∅,以及若 E = a, (a ∈ Σ), 则 h(L(E )) = h(L(a)) = h({a}) = h(a) = L(h(E )),所以对 ε, ∅ 和 ∀a ∈ Σ 命题成立. 对 E 可能的三种递归结构,分别有:
Part I
Properties of Regular Languages
1
1.1
证明语言的非正则性
泵引理 (Pumping Lemma)
这里给出正则语言的一个必要条件,即“泵引理” 。如果一个语言是正则的,则一定满足 泵引理。
示例
L0n1n = {0n 1n |n ≥ 0} 是否是正则语言? 定理 1. (正则语言的泵引理) 若语言 L 是正则的,则存在一个正整数 (常数) N ,对于任何 w ∈ L,只要 |w| ≥ N ,则可以把 w 分三部分 w = xyz 使得 (1) y ̸= ε; (或 |y | > 0) (2) |xy | ≤ N ; (3) 对任何 k ≥ 0, 有 xy k z ∈ L. 证明:如果 L 是正则的,则存在 DFA A,L = L(A). 设 A 有 n 个状态,对于长度不小于 ˆ(q0 , a1 a2 · · · ai ) (i = 1, · · · , n),q0 是开始状态. 当 n 的串 w = a1 a2 · · · am (m ≥ n),定义 qi = δ A 输入 w 的前 n 个字符时,经过的状态分别是 q0 , q1 , · · · , qn 共 n + 1 个,根据鸽巢原理,一 定有两个状态相同,即有满足 0 ≤ i < j ≤ n 的两个状态 qi = qj . start q. 0 a1 a2 · · · ai qi ai+1 ai+2 · · · aj qj aj +1 aj +2 · · · am qm
则 w 可以被分为三个部分: x = a1 a2 · · · ai y = ai+1 ai+2 · · · aj z = aj +1 aj +2 · · · am 如果从 qi 出发,输入 y ,会到达 qj ,而因为 qi = qj ,当输入 y k (k > 0),始终会回到 qi . 所 以当 DFA A 输入 xy k z 时,由 q0 始终会达到 qm . 那么,如果 xyz ∈ L(A),有 xy k z ∈ L(A) 对所有 k > 0 成立。 y = ai+1 ai+2 · · · aj start □ q. 0 x = a1 a2 · · · ai qi z = aj +1 aj +2 · · · am qm
示例
L={w|w 倒数 3 个字符至少有一个是 1,w ∈ {0, 1}∗ },L 的 DFA 可以由 L 得到: 0 start . p0 1 p0123 0 1 0 1 p023 1 0 p03
示例
证明 Lneq ={w | w 由数量不相等的 0 和 1 构成} 不是正则的. 由泵引理很难直接证明 Lneq 不是正则的,无论如何取 w,都无法将其打断为 w = xyz 形 式,并利用 y 产生不属于 Lneq 的串。 而 Lneq = Leq ,而 Leq 不是正则的很容易证明 (当然,前面已经证明),所以 Lneq 不是正则 的。 定理 4. 正则语言在交运算下封闭。 证明 1: 由 L1 ∩ L2 = L1 ∪ L2 得证. □ 证明 2: 设 DFA A1 = (Q1 , Σ, δ1 , q1 , F1 ) 和 DFA A2 = (Q2 , Σ, δ2 , q2 , F2 ) 分别识别 L1 和 L2 , 则构造 DFA B B = (Q1 × Q2 , Σ, δ, [q1 , q2 ] , F1 × F2 ) 其中 δ ([p1 , p2 ] , a) = [δ (p1 , a), δ (p2 , a)] 还需证明构造是否正确,即 L(B ) = L1 ∩ L2 ,此处略. □
1) 如果 E = F + G: h(L(E )) = h(L(F ) ∪ L(G)) = h(L(F )) ∪ h(L(G)) = L(h(F )) ∪ L(h(G)) = L(h(F ) ∪ h(G)) = L(h(F + G)) = L(h(E )) 2) 如果 E = F G: h(L(E )) = = = = = =
示例
证明 L = {0i 1j | i > j } 不是正则的. 证明: 假设 L 是正则的,则一定存在正整数 N ,对任何 w ∈ L(|w| > N ) 满足泵引理. 取 w = 0N +1 1N ,所以 w ∈ L; 因为 |w| = 2N + 1 > N , 那么有 w = xyz ,且 |xy | ≤ N , |y | > 0, 这里设 |y | = m,那么有 m > 0; 根据泵引理 xy k z ∈ L (k > 0); 但是当 k = 0 时, xy k z = xz = 0N +1−m 1N , 而 N +1 − m ≤ N , 所以 xz ̸∈ L; 因此与假设矛盾,所以 L 一定不是正则的. □
因此,命题成立,因此 LR 也是正则语言. □ 也可以通过 L 的 DFA 构造 LR 的 ε-NFA 证明. 2.3 同态 (Homomorphism)
设 Σ 和 Γ 为两个字母表。首先,定义同态为函数 h : Σ → Γ∗ ,即每个字符 a ∈ Σ,在 h 的作用下,替换为 Γ 上的一个串。其次,扩展同态函数为 h : Σ∗ → Γ∗ ,如果 Σ∗ 中的串 w = a1 a2 · · · an ,则 h(w) = h(a1 )h(a2 ) · · · h(an ). 再扩展 h 到语言,若 L 是字母表 Σ 上一个 语言,则 h(L) = {h(w) | w ∈ L}.
如果串 w = a1 a2 · · · an , 称 an an−1 · · · a1 为 w 的反转 (reverse), 用 wR 表示。 例如 00110R = 01100,εR = ε. 如果 L 是一个语言,则定义 LR = {wR | w ∈ L}.
定理 6. 如果 L 是正则的,那么 LR 也是正则的. 证明: 我们证明命题“正则表达式 E , L = L(E ),则存在正则表达式 E R 使得 (L(E ))R = L(E R )” . 由正则表达式的定义,对 E 的结构进行归纳: 首先,如果 E 分别是 ε, ∅ 或 a,则分别对它们去反转,εR = ε, ∅R = ∅ 和 aR = a,所以分 别都存在 E R 且 (L(E ))R = L(E R )。 其次,对 E 所有可能三种递归的结构,有:
R R R 1) 如果 E 的结构是 E = E1 + E2 ,则由归纳假设,存在 E1 和 E2 分别有 (L(E1 ))R = L(E1 ) R R R R R R R R R 和 (L(E2 )) = L(E2 ),那么构造 E = E1 + E2 则 L(E ) = L(E1 ) ∪ L(E2 ) = (L(E1 )) ∪ (L(E1 ))R = (L(E1 ) ∪ L(E2 ))R = (L(E ))R ; R R 2) 如果 E 的结构是 E = E1 E2 ,则构造 E R = E2 E1 ; 而任意两个串 w1 和 w2 ,有 (w1 w2 )R = R R R R w2 w1 ,反之亦然,因此有 (L(E1 E2 ))R = L(E2 E1 ); ∗ ∗ 3) 如果 E 的结构是 E = E1 ,则任意 w ∈ L(E1 ),可以看做是 n 个串 wi ∈ L(E1 )(i = R R R R R R 1, 2, . . . , n) 的连接,即 w = w1 w2 · · · wn ,则 w = wn w n− 1 · · · w 1 ,而其中 wi ∈ L(E1 ), R R ∗ ∗ R R ∗ 所以 w ∈ L((E1 ) ),反之亦然,所以 (L(E1 )) = L((E1 ) ).
证明: 设 DFA A = (Q, Σ, δ, q0 , F ) 识别 L,即 L = L(A). (注意 A 对不接受的输入要有 dead ˆ(q0 , w) ̸∈ F . state.) 那么构造 DFA B = (Q, Σ, δ, q0 , Q − F ),则 L = L(B ). 因为任何 w ̸∈ L,δ □
示例
证明 L = {an! | n > 0} 不是正则的. 取 w = aN ! , 当 |y | = m 时,则 |xy 2 z | = N ! + m,而 0 < m < N ,所以 N ! < |xy 2 z | = N ! + m < N ! + N ! < N · N ! + N ! = (N + 1)!, 即 |xy 2 z | 不是阶乘数. 注意: 对于有限的语言,比如 ∅, {00, 11}, {0n 1n | 0 ≤ n ≤ 100} 泵引理如何解释。
相关文档
最新文档