收藏 分享(赏)

形式语言与自动机理论电子教案.ppt

上传人:buyk185 文档编号:8254491 上传时间:2019-06-17 格式:PPT 页数:858 大小:5.62MB
下载 相关 举报
形式语言与自动机理论电子教案.ppt_第1页
第1页 / 共858页
形式语言与自动机理论电子教案.ppt_第2页
第2页 / 共858页
形式语言与自动机理论电子教案.ppt_第3页
第3页 / 共858页
形式语言与自动机理论电子教案.ppt_第4页
第4页 / 共858页
形式语言与自动机理论电子教案.ppt_第5页
第5页 / 共858页
点击查看更多>>
资源描述

1、2019/6/17,1,形式语言与自动机理论 Formal Languages and Automata Theory,蒋宗礼,2019/6/17,2,课程目的和基本要求,课程性质 技术基础 基础知识要求 数学分析(或者高等数学),离散数学 主要特点 抽象和形式化 理论证明和构造性 基本模型的建立与性质,2019/6/17,3,课程目的和基本要求,本专业人员4种基本的专业能力 计算思维能力 算法的设计与分析能力 程序设计和实现能力 计算机软硬件系统的认知、分析、设计与应用能力 计算思维能力 逻辑思维能力和抽象思维能力 构造模型对问题进行形式化描述 理解和处理形式模型,2019/6/17,4,课

2、程目的和基本要求,知识 掌握正则语言、下文无关语言的文法、识别模型及其基本性质、图灵机的基本知识。 能力 培养学生的形式化描述和抽象思维能力。 使学生了解和初步掌握“问题、形式化描述、自动化(计算机化)”这一最典型的计算机问题求解思路。,2019/6/17,5,主要内容,语言的文法描述。 RL RG、 FA、RE、RL的性质 。 CFL CFG(CNF、GNF)、PDA、CFL的性质。 TM 基本TM、构造技术、TM的修改。 CSL CSG、LBA。,2019/6/17,6,教材及主要参考书目,蒋宗礼,姜守旭. 形式语言与自动机理论. 北京:清华大学出版社,2003年 John E Hopcr

3、oft, Rajeev Motwani, Jeffrey D Ullman. Introduction to Automata Theory, Languages, and Computation (2nd Edition). Addison-Wesley Publishing Company, 2001 John E Hopcroft, Jeffrey D Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley Publishing Company, 1979,2019/6/17,

4、7,第1章 绪论,1.1 集合的基础知识 1.1.1 集合及其表示 集合:一定范围内的、确定的、并且彼此可以区分的对象汇集在一起形成的整体叫做集合(set),简称为集(set)。 元素:集合的成员为该集合的元素(element)。 集合描述形式。 基数。 集合的分类。,2019/6/17,8,1.1.2 集合之间的关系,子集 如果集合A中的每个元素都是集合B的元素,则称集合A是集合B的子集(subset),集合B是集合A的包集(container)。记作AB。也可记作BA。AB读作集合A包含在集合B中;BA读作集合B包含集合A。 如果AB,且xB,但xA,则称A是B的真子集(proper su

5、bset),记作AB,2019/6/17,9,1.1.2 集合之间的关系,集合相等 如果集合A,B含有的元素完全相同,则称集合A与集合B相等(equivalence),记作A=B。 对任意集合A、B、C: A=B iff AB且BA。 如果AB,则|A|B|。 如果AB,则|A|B|。 如果A是有穷集,且AB,则|B|A|。,2019/6/17,10,1.1.2 集合之间的关系, 如果AB,则对xA,有xB。 如果AB,则对xA,有xB并且xB,但xA。 如果AB且BC,则AC。 如果AB且BC,或者AB且BC,或者AB且BC,则AC。 如果A=B,则|A|=|B|。,2019/6/17,11

6、,1.1.3 集合的运算,并(union) A与B的并(union)是一个集合,该集合中的元素要么是A的元素,要么是B的元素,记作AB。 AB=a|aA或者aB A1A2An=a|i,1in,使得aAi A1A2An =a|i,iN,使得aAi,2019/6/17,12,交(intersection),集合A和B中都有的所有元素放在一起构成的集合为A与B的交 ,记作AB。AB=a|aA且aB “”为交运算符,AB读作A交B。 如果AB=,则称A与B不相交。 AB= BA。 (AB)C=A(BC)。 AA=A。,2019/6/17,13,交(intersection), AB=A iff AB。

7、 A=。 |AB|min|A|,|B|。 A(BC)=(AB)(AC)。 A(BC)=(AB)(AC)。 A(AB)=A。 A(AB)=A。,2019/6/17,14,差(difference),属于A,但不属于B的所有元素组成的集合叫做A与B的差,记作A-B。 A-B=a|aA且aB “-”为减(差)运算符,A-B读作A减B。 A-A=。 A-=A。 A-B B-A。 A-B=A iff AB=。 A(B-C)=(AB)-(AC)。 |A-B|A|。,2019/6/17,15,对称差(symmetric difference),属于A但不属于B,属于B但不属于A的所有元素组成的集合叫A与B的

8、对称差,记作AB。AB=a|aA且aB或者aA且aB “”为对称差运算符。AB读作A对称减B。 AB=(AB)-(AB)=(A-B)(B-A)。,2019/6/17,16,笛卡儿积(Cartesian product),A与B的笛卡儿积(Cartesian product)是一个集合,该集合是由所有这样的有序对(a,b)组成的:其中aA,bB ,记作AB。AB=(a,b)|aA& bB 。 “”为笛卡儿乘运算符。AB读作A叉乘B。 ABBA。 (AB)CA(BC)。 AAA。 A=。,2019/6/17,17,笛卡儿积(Cartesian product), A(BC)=(AB)(AC)。 (

9、BC)A=(BA)(AC)。 A(BC)=(AB)(AC)。 (BC)A=(BA)(CA)。 A(B-C)=(AB)-(AC)。 (B-C)A=(BA)-(CA)。 当A、B为有穷集时,|AB|=|A|*|B|。,2019/6/17,18,幂集(power set),A幂集(power set)是一个集合,该集合是由A的所有子集组成的,记作2A。 2A=B|BA。 2A读作A的幂集。,2019/6/17,19,幂集(power set), 2A。 2A。 2A。 2=。 A2A。 如果A是有穷集,则|2A|=2|A|。 2AB=2A2B。 如果AB,则2A2B。,2019/6/17,20,补集

10、(complementary set),A是论域U上的一个集合,A补集是由U中的、不在A中的所有元素组成的集合,记作,2019/6/17,21,补集(complementary set),如果AB,则,。,。,。,。,。,。,2019/6/17,22,1.2 关系,二元关系 递归定义与归纳证明 关系的闭包,2019/6/17,23,1.2.1 二元关系(binary relation),二元关系 任意的RAB,R是A到B的二元关系。(a,b) R,也可表示为:aRb。A称为定义域(domain),B称为值域(range)。当A=B时,则称R是A上的二元关系。 二元关系的性质 自反(reflex

11、ive)性、反自反(irreflexive)性、对称(symmetric)性、反对称(asymmetric)性、传递(transitive)性。,2019/6/17,24,1.2.1 二元关系(binary relation),三歧性 自反性、对称性、传递性。 等价关系(equivalence relation) 具有三歧性的二元关系称为等价关系。,2019/6/17,25,1.2.1 二元关系(binary relation),等价类 (equivalence class) S的满足如下要求的划分:S1、S2、S3、Sn称为S关于R的等价划分,Si称为等价类。 S= S1S2S3Sn; 如果

12、ij,则SiSj=; 对任意的i,Si中的任意两个元素a、b,aRb恒成立; 对任意的i,j,ij,Si中的任意元素a和Sj中的任意元素b,aRb恒不成立,2019/6/17,26,1.2.1 二元关系(binary relation),指数(index) 把R将S分成的等价类的个数称为是R在S上的指数。如果R将S分成有穷多个等价类,则称R具有有穷指数;如果R将S分成无穷多个等价类,则称R具有无穷指数。 给定集合S上的一个等价关系R,R就确定了S的一个等价分类,当给定另一个不同的等价关系时,它会确定S的一个新的等价分类。,2019/6/17,27,1.2.1 二元关系(binary relat

13、ion),关系的合成 (composition) 设R1AB是A到B的关系、R2BC是B到C的关系,R1与R2的合成R1R2是A到C的关系:R1R2=(a,c)| (a,b) R1且(b,c) R2 。,2019/6/17,28,1.2.1 二元关系(binary relation), R1R2R2R1。 (R1R2)R3=R1(R2R3)。 (结合率) (R1R2)R3=R1R3R2R3。 (右分配率) R3(R1R2)=R3R1R3R2。 (左分配率) (R1R2)R3R1R3R2R3。 R3(R1R2)R3R1R3R2。,2019/6/17,29,1.2.1 二元关系(binary re

14、lation),关系这一个概念用来反映对象集合元素之间的联系和性质 二元关系则是反映两个元素之间的关系,包括某个元素的某种属性。 对二元关系的性质,要强调全称量词是对什么样的范围而言的。,2019/6/17,30,1.2.2 等价关系与等价类(略) 1.2.3 关系的合成(略),2019/6/17,31,1.2.4 递归定义与归纳证明,递归定义(recursive definition) 又称为归纳定义(inductive definition),它来定义一个集合。 集合的递归定义由三部分组成: 基础(basis):用来定义该集合的最基本的元素。 归纳(induction):指出用集合中的元素

15、来构造集合的新元素的规则。 极小性限定:指出一个对象是所定义集合中的元素的充要条件是它可以通过有限次的使用基础和归纳条款中所给的规定构造出来。,2019/6/17,32,1.2.4 递归定义与归纳证明,归纳证明 与递归定义相对应。 归纳证明方法包括三大步: 基础(basis):证明最基本元素具有相应性质。 归纳(induction):证明如果某些元素具有相应性质,则根据这些元素用所规定的方法得到的新元素也具有相应的性质。 根据归纳法原理,所有的元素具有相应的性质。,2019/6/17,33,1.2.4 递归定义与归纳证明,定义 1-17 设R是S上的关系,我们递归地定义Rn的幂: R0=(a,

16、a)|aS。 Ri=Ri-1R (i=1,2,3,4,5,)。,2019/6/17,34,1.2.4 递归定义与归纳证明,例1-17 著名的斐波那契(Fibonacci)数的定义 基础:0是第一个斐波那契数,1第二个斐波那契数; 归纳:如果n是第i个斐波那契数,m是第i+1个斐波那契数,则n+m是第i+2个斐波那契数,这里i为大于等于1的正整数。 只有满足(1)和(2)的数才是斐波那契数0,1,1,2,3,5,8,13,21,34,55,,2019/6/17,35,1.2.4 递归定义与归纳证明,例1-18 算术表达式 基础:常数是算术表达式,变量是算术表达式; 归纳:如果E1、E2是表达式,

17、则 +E1、-E1、E1+E2、 E1-E2 、E1*E2 、E1/E2、E1*E2、Fun(E1)是算术表达式。其中Fun为函数名。 只有满足(1)和(2)的才是算术表达式。,2019/6/17,36,1.2.4 递归定义与归纳证明,例1-19 对有穷集合A,证明|2A|=2|A|。 证明:设A为一个有穷集合, 施归纳于|A|: 基础:当|A|=0时,|2A|=|=1。 归纳:假设|A|=n时结论成立,这里n 0,往证当|A|=n+1时结论成立2A=2BCa|C2B 2BCa|C2B=,2019/6/17,37,1.2.4 递归定义与归纳证明,|2A|=|2BCa|C2B|=|2B|+|Ca

18、|C2B|=|2B|+|2B|=2*|2B|=2*2|B|=2|B|+1=2|A| 由归纳法原理,结论对任意有穷集合成立。,2019/6/17,38,1.2.4 递归定义与归纳证明,例1-20 表达式的前缀形式是指将运算符写在前面,后跟相应的运算对象。如:+E1的前缀形式为+E1,E1+E2的前缀形式为+E1E2 ,E1*E2的前缀形式为*E1E2, E1*E2的前缀形式为* E1,Fun(E1) 的前缀形式为FunE1 。 证明例1-18所定义的表达式可以用这里定义的前缀形式表示。,2019/6/17,39,1.2.4 递归定义与归纳证明,递归定义给出的概念有利于归纳证明。在计算机科学与技术

19、学科中,有许多问题可以用递归定义描述或者用归纳方法进行证明,而且在许多时候,这样做会带来许多方便。 主要是掌握递归定义与归纳证明的叙述格式。,2019/6/17,40,1.2.5 关系的闭包,闭包(closure) 设P是关于关系的性质的集合,关系R的P闭包(closure)是包含R并且具有P中所有性质的最小关系。 正闭包(positive closure) (1)RR+。 (2)如果(a,b),(b,c)R+ 则(a,c)R+。 (3)除(1)、(2)外,R+不再含有其他任何元素。,2019/6/17,41,1.2.5 关系的闭包,传递闭包(transitive closure) 具有传递性

20、的闭包。 R+具有传递性。 可以证明,对任意二元关系R,R+= RR2R3R4 而且当S为有穷集时:R+= RR2R3R|S|,2019/6/17,42,1.2.5 关系的闭包,克林闭包(Kleene closure) R* (1) R0 R*,R R*。(2) 如果(a,b),(b,c)R* 则(a,c)R*。(3) 除(1)、(2)外,R*不再含有其他任何元素。 自反传递闭包(reflexive and transitive closure) R*具有自反性、传递性。,2019/6/17,43,1.2.5 关系的闭包,可以证明,对任意二元关系R,R*= R0R+R* =R0RR2R3R4

21、而且当S为有穷集时:R*= R0RR2R3R|S|,2019/6/17,44,1.2.5 关系的闭包,R1、R2是S上的两个二元关系 (1) +=。(2) (R1+)+= R1+ 。 (3) (R1*)*= R1*。(4) R1+R2+(R1R2)+。(5) R1*R2*(R1R2)*。,2019/6/17,45,1.3 图,数学家欧拉(L.Euler)解决著名的哥尼斯堡七桥。 直观地讲,图是由一些点和一些连接两点的边组成。 含无方向的边的图为无向图,含带有方向的边的图为有向图。,2019/6/17,46,1.3.1 无向图,无向图(undirected graph) 设V是一个非空的有穷集合

22、,EVV,G=(V,E)称为无向图(undirected graph)。其中V中的元素称为顶点(vertex或node),V称为顶点集,E中的元素称为无向边(undirected edge),E为无向边集。 图表示 V中称为顶点v的元素用标记为v的小圈表示,E中的元素(v1,v2)用标记为v1,v2的顶点之间的连线表示。,2019/6/17,47,1.3.1 无向图,路(path) 如果对于0ik-1,k1,均有(vi,vi+1)E,则称v0,v1,vk是G=(V,E)的一条长为k的路。 回路或圈(cycle) 当路v0,v1,vk中v0=vk时,v0,v1,vk叫做一个回路或圈(cycle)

23、。,2019/6/17,48,1.3.1 无向图,顶点的度数 对于vV,|v|(v,w)E|称为无向图G=(V,E)的顶点v的度数,记作deg(v)。 对于任何一个图,图中所有顶点的度数之和为图中边的2倍。,2019/6/17,49,deg(v1)=3 deg(v2)=3 deg(v3)=4 deg(v4)=3 deg(v5)=3 deg(v1)+deg(v2)+deg(v3)+deg(v4)+deg(v5)=16,2019/6/17,50,1.3.1 无向图,连通图 如果对于v,wV,vw,v与w之间至少有一条路存在,则称G=(V,E)是连通图。 图G是连通的充要条件是G中存在一条包含图的所

24、有顶点的路。,2019/6/17,51,1.3.2 有向图,有向图(directed graph) G=(V,E)。 V:顶点(vertex或node)集。 (v1,v2)E:顶点v1到顶点v2的有向边(directed edge),或弧(arc),v1称为前导(predecessor),v2称为后继(successor)。 有向路(directed path) 如果对于0ik-1,k1,均有(vi,vi+1)E,则称v0,v1,vk是G的一条长为k的有向路。,2019/6/17,52,1.3.2 有向图,有向回路或有向圈(directed cycle) 对于0ik-1,k1,均有(vi,vi

25、+1)E, 且v0=vk,则称v0,v1,vk是G的一条长为k的有向路为一个有向回路。 有向回路又叫有向圈。 有向图的图表示 图G的图表示是满足下列条件的“图”:其中V中称为顶点v的元素用标记为v的小圈表示,E中的元素(v1,v2)用从标记为v1的顶点到标记为v2的顶点的弧表示。,2019/6/17,53,1.3.2 有向图,顶点的度数 入度(数):ideg(v)=|v|(w,v)E|。 出度(数):odeg(v)= |v|(v,w)E|。 对于任何一个有向图,图中所有顶点的入度之和与图中所有顶点的出度之和正好是图中边的个数,2019/6/17,54,两个不同的有向图,2019/6/17,55

26、,1.3.3 树,满足如下条件的有向图G=(V,E)称为一棵(有序、有向)树(tree): 根(root) v:没有前导,且v到树中其他顶点均有一条有向路。 每个非根顶点有且仅有一个前导。 每个顶点的后继按其拓扑关系从左到右排序。,2019/6/17,56,1.3.3 树,树的基本概念 (1) 顶点也可以成为结点。 (2) 结点的前导为该结点的父亲(父结点father)。 (3) 结点的后继为它的儿子(son)。 (4) 如果树中有一条从结点v1到结点v2的路,则称v1是v2的祖先(ancestor), v2是v1的后代(descendant)。 (5) 无儿子的顶点叫做叶子(leaf)。 (

27、6) 非叶结点叫做中间结点(interior)。,2019/6/17,57,1.3.3 树,树的层 根处在树的第1层(level)。 如果结点v处在第i层(i1),则v的儿子处在第i+1层。 树的最大层号叫做该树的高度(height)。,2019/6/17,58,1.3.3 树,二元树 如果对于vV,v最多只有2个儿子,则称G=(V,E)为二元树(binary tree)。 对一棵二元树,它的第n层最多有2n-1个结点。一棵n层二元树最多有个2n-1叶子。,2019/6/17,59,1.4 语言,1.4.1 什么是语言例如:“学大一生是个我”;“我是一个大学生”。 语言是一定的群体用来进行交流

28、的工具。 必须有着一系列的生成规则、理解(语义)规则。,2019/6/17,60,1.4.1 什么是语言,2019/6/17,61,1.4.1 什么是语言,斯大林:从强调语言的作用出发,把语言定义为“为广大的人群所理解的字和组合这些字的方法”。 语言学家韦波斯特(Webster) :为相当大的团体的人所懂得并使用的字和组合这些字的方法的统一体。 要想对语言的性质进行研究,用这些定义来建立语言的数学模型是不够精确的。必须有更形式化的定义。,2019/6/17,62,1.4.2 形式语言与自动机理论的产生与作用,语言学家乔姆斯基,毕业于宾西法尼亚大学,最初从产生语言的角度研究语言。1956年,他将

29、语言L定义为一个字母表中的字母组成的一些串的集合: L*。 字母表上按照一定的规则定义一个文法(grammar),该文法所能产生的所有句子组成的集合就是该文法产生的语言。 1959年,乔姆斯基根据产生语言文法的特性,将语言划分成3大类。,2019/6/17,63,1.4.2 形式语言与自动机理论的产生与作用,1951年到1956年,克林(Kleene) 在研究神经细胞中,建立了识别语言的系统有穷状态自动机。 1959年,乔姆斯基发现文法和自动机分别从生成和识别的角度去表达语言,而且证明了文法与自动机的等价性,这一成果被认为是将形式语言置于了数学的光芒之下,使得形式语言真正诞生了。,2019/6

30、/17,64,1.4.2 形式语言与自动机理论的产生与作用,20世纪50年代,巴科斯范式(Backus Nour Form 或 Backus Normal Form,BNF)实现了对高级语言ALGOL-60的成功描述。这一成功,使得形式语言在20世纪60年代得到了大力的发展。尤其是上下文无关文法被作为计算机程序设计语言的文法的最佳近似描述得到了较为深入的研究。 相应的理论用于其他方面。,2019/6/17,65,1.4.2 形式语言与自动机理论的产生与作用,形式语言与自动机理论在计算机科学与技术学科的人才的计算思维的培养中占有极其重要的地位。 计算学科的主题:“什么能被有效地自动化”。,201

31、9/6/17,66,1.4.2 形式语言与自动机理论的产生与作用,计算机科学与技术学科人才专业能力构成 “计算思维能力”抽象思维能力、逻辑思维能力。 算法设计与分析能力。 程序设计与实现能力。 计算机系统的认知、分析、设计和应用能力。,2019/6/17,67,1.4.2 形式语言与自动机理论的产生与作用,2019/6/17,68,1.4.2 形式语言与自动机理论的产生与作用,考虑的对象的不同,所需要的思维方式和能力就不同,通过这一系统的教育,在不断升华的过程中,逐渐地培养出了学生的抽象思维能力和对逻辑思维方法的掌握。 创新意识的建立和创新能力的培养也在这个教育过程中循序渐进地进行着。 内容用

32、于后续课程和今后的研究工作。 是进行思维训练的最佳知识载体。 是一个优秀的计算机科学工作者必修的一门课程。,2019/6/17,69,1.4.3 基本概念,对语言研究的三个方面 表示(representation) 无穷语言的表示。 有穷描述(finite description) 研究的语言要么是有穷的,要么是可数无穷的,这里主要研究可数无穷语言的有穷描述。 结构(structure)语言的结构特征。,2019/6/17,70,1.4.3 基本概念,字母表(alphabet) 字母表是一个非空有穷集合,字母表中的元素称为该字母表的一个字母(letter)。又叫做符号(symbol)、或者字符

33、(character)。 非空性。 有穷性。 例如:a,b,c,d a,b,c,z0,1,2019/6/17,71,1.4.3 基本概念,字符的两个特性 整体性(monolith),也叫不可分性。 可辨认性(distinguishable),也叫可区分性。 例(续)a,a,b,baa,ab,bb ,,2019/6/17,72,1.4.3 基本概念,字母表的乘积(product) 12=ab|a1,b2 例如: 0,10,1=00,01,10,00 0,1a,b,c,d=0a,0b,0c,0d,1a,1b,1c,1d a,b,c,d0,1=a0,a1,b0,b1,c0,c1,d0,d1 aa,a

34、b,bb0,1= aa0,aa1,ab0,ab1,bb0,bb1,2019/6/17,73,1.4.3 基本概念,字母表的n次幂 0= n=n-1 是由中的0个字符组成的。 的正闭包 +=234 的克林闭包*=0+=023,2019/6/17,74,1.4.3 基本概念,例如: 0,1+=0,1,00,01,11,000,001,010,011,100, 0,1*=,0,1,00,01,11,000,001,010,011,100, a,b,c,d+=a,b,c,d,aa,ab,ac,ad,ba,bb,bc,bd,aaa,aab,aac,aad,aba,abb,abc, a,b,c,d*=,a

35、,b,c,d,aa,ab,ac,ad,ba,bb,bc,bd,aaa,aab,aac,aad,aba,abb,abc,2019/6/17,75,1.4.3 基本概念,结论: *=x|x是中的若干个,包括0个字符,连接而成的一个字符串。 +=x|x是中的至少一个字符连接而成的字符串。,2019/6/17,76,1.4.3 基本概念,句子(sentence) 是一个字母表,x*,x叫做上的一个句子。 句子相等。两个句子被称为相等的,如果它们对应位置上的字符都对应相等。 别称字(word)、(字符、符号)行(line)、(字符、符号)串(string)。,2019/6/17,77,1.4.3 基本概

36、念,出现(apperance) x,y*,a,句子xay中的a叫做a在该句子中的一个出现。 当x=时,a的这个出现为字符串xay的首字符 如果a的这个出现是字符串xay的第n个字符,则y的首字符的这个出现是字符串xay的第n+1个字符。 当y=时,a的这个出现是字符串xay的尾字符 例:abaabb。,2019/6/17,78,1.4.3 基本概念,句子的长度(length) x*,句子x中字符出现的总个数叫做该句子的长度,记作|x|。 长度为0的字符串叫空句子,记作。 例如: |abaabb|=6 |bbaa|=4|=0|bbabaabbbaa|=11,2019/6/17,79,1.4.3

37、基本概念,注意事项 是一个句子。 。这是因为不是一个空集,它是含有一个空句子的集合。|=1,而|=0。,2019/6/17,80,1.4.3 基本概念,并置(concatenation) x,y*,x,y的并置是由串x直接相接串y所组成的。记作xy。并置又叫做连结。 串x的n次幂x0= xn=xn-1x,2019/6/17,81,1.4.3 基本概念,例如: 对x=001,y=1101x0=y0=x4=001001001001y4=1101110111011101 对x=0101,y=110110x2=01010101y2=110110110110x4=0101010101010101y4=1

38、10110110110110110110110,2019/6/17,82,1.4.3 基本概念,*上的并置运算性质 结合律:(xy)z=x(yz)。 左消去律:如果xy=xz,则y=z。 右消去律:如果yx=zx,则y=z。 惟一分解性:存在惟一确定的a1,a2,an,使得x= a1a2an。 单位元素:x=x=x。,2019/6/17,83,1.4.3 基本概念,前缀与后缀 设x,y,z,w,v*,且x=yz,w=yv (1) y是x的前缀(prefix)。 (2)如果z,则y是x的真前缀(proper prefix)。 (3) z是x的后缀(suffix); (4) 如果y,则z是x的真后

39、缀(proper suffix)。 (5) y是x和w的公共前缀(common Prefix)。,2019/6/17,84,1.4.3 基本概念,公共前缀与后缀 (6)如果x和w的任何公共前缀都是y的前缀,则y是x和w的最大公共前缀。 (7) 如果x=zy,w=vy,则y是x和w的公共后缀(common suffix )。 (8)如果x和w的任何公共后缀都是y的后缀,则y是x和w的最大公共后缀。,2019/6/17,85,1.4.3 基本概念,例 字母表=a,b上的句子abaabb的前缀、后缀、真前缀和真后缀如下:前缀:,a,ab,aba,abaa,abaab,abaabb真前缀:,a,ab,

40、aba,abaa,abaab后缀:,b,bb,abb,aabb,baabb,abaabb真后缀:,b,bb,abb,aabb,baabb,2019/6/17,86,1.4.3 基本概念,结论 x的任意前缀y有惟一的一个后缀z与之对应,使得x=yz;反之亦然。 x的任意真前缀y有惟一的一个真后缀z与之对应,使得x=yz;反之亦然。 |w|w是x的后缀|=|w|w是x的前缀|。 |w|w是x的真后缀|=|w|w是x的真前缀|。 w|w是x的前缀=w|w是x的真前缀x,|w|w是x的前缀|=|w|w是x的真前缀|+1。,2019/6/17,87,1.4.3 基本概念,结论 w|w是x的后缀=w|w是

41、x的真后缀x,|w|w是x的后缀|=|w|w是x的真后缀|+1。 对于任意字符串w,w是自身的前缀,但不是自身的真前缀;w是自身的后缀,但不是自身的真后缀。 对于任意字符串w,是w的前缀,且是w的真前缀;是w的后缀,且是w的真后缀,2019/6/17,88,1.4.3 基本概念,约定 用小写字母表中较为靠前的字母a,b,c,表示字母表中的字母。 用小写字母表中较为靠后的字母x,y,z,表示字母表上的句子。 用xT表示x的倒序。例如,如果x=abc,则xT=cba。,2019/6/17,89,1.4.3 基本概念,子串(substring) w,x,y,z*,且w=xyz,则称y是w的子串。 公

42、共子串(common substring) t,u,v,w,x,y,z*,且t=uyv,w=xyz,则称y是t和w的公共子串(common substring)。如果y1,y2,yn是t和w的公共子串,且max|y1|,|y2|,|yn|=|yj|,则称yj是t和w的最大公共子串。 两个串的最大公共子串并不一定是惟一的。,2019/6/17,90,1.4.3 基本概念,语言(language) L*,L称为字母表上的一个语言(language),xL,x叫做L的一个句子。 例:0,1上的不同语言 00,11 ,0,10,1,00,11 , 0,1,00,11,01,10 00,11*,01,1

43、0*,00,01,10,11*,00,1*1,0,1*1110,1*,2019/6/17,91,1.4.3 基本概念,语言的乘积(product) L11*,L22*,语言L1与L2的乘积是一个语言,该语言定义为: L1L2=xy| xL1,yL2 是字母表12上的语言。,2019/6/17,92,1.4.3 基本概念,例 L1=0,1。 L2=00,01,10,11。 L3=0,1,00,01,10,11,000,=+ 。 L4=,0,1,00,01,10,11,000,=* 。 L5=0n|n1。 L6=0n1n|n1。 L7=1n|n1。 L8=0n1m|n,m1。 L9=0n1n0n|

44、n1。 L10=0n1m0k|n,m,k1。 L11=x|x+且x中0和1的个数相同。,2019/6/17,93,1.4.3 基本概念,上述几个语言的部分特点及相互关系 上述所有语言都是L4的子集(子语言); L1,L2是有穷语言;其他为无穷语言;其中L1是上的所有长度为1的句子组成的语言,L2是上的所有长度为2的句子组成的语言; L3,L4分别是的正闭包和克林闭包; L5L7L6,但L5L7= L8;同样L9L10,但是我们有:L6L5L7,L9L10。,2019/6/17,94,1.4.3 基本概念,L6=0n1n|n1中的句子中的0和1的个数是相同的,并且所有的0在所有的1的前面,L11

45、=x|x+且x中0和1的个数相同中的句子中虽然保持着0的个数和1的个数相等,但它并没要求所有的0在所有的1的前面。例如,0101,1100L11,但是0101 L6,1100L6。而对xL6,有xL11。所以,L6 L11。,2019/6/17,95,1.4.3 基本概念,L1L12,L2L12 L5L12,L6L12 L7L12, L8L12 L9L12, L10L12 L1L10, L2L10 L5L10, L6L10 L7L10, L8L10 L9L10, L10L12,2019/6/17,96,1.4.3 基本概念,例 x|x=xT,x。 xxT|x+。 xxT|x*。 xwxT|x,

46、w+。 xxTw|x,w+。,2019/6/17,97,1.4.3 基本概念,幂 L*,L的n次幂是一个语言,该语言定义为 当n=0是,Ln=。 当n1时,Ln= Ln-1L 。 正闭包 L+=LL2L3L4 克林闭包 L*= L0LL2L3L4,2019/6/17,98,1.5 小结,本章简单叙述了一些基础知识,一方面,希望读者通过对本章的阅读,熟悉集合、关系、图、形式语言等相关的一些基本知识点,为以后各章学习作适当的准备。另一方面,也使读者熟悉本书中一些符号的意义。,2019/6/17,99,1.5 小结,(1) 集合:集合的表示、集合之间的关系、集合的基本运算。 (2) 关系:主要介绍了

47、二元关系相关的内容。包括等价关系、等价分类、关系合成、关系闭包。 (3) 递归定义与归纳证明。,2019/6/17,100,1.5 小结,(4) 图:无向图、有向图、树的基本概念。 (5) 语言与形式语言:自然语言的描述,形式语言和自动机理论的出现,形式语言和自动机理论对计算机科学与技术学科人才能力培养的作用 (6) 基本概念:字母表、字母、句子、字母表上的语言、语言的基本运算,2019/6/17,101,第2章 文法,对任何语言L,有一个字母表,使得L* 。 L的具体组成结构是什么样的? 一个给定的字符串是否为一个给定语言的句子?如果不是,它在结构的什么地方出了错?进一步地,这个错误是什么样的错?如何更正?。 这些问题对有穷语言来说,比较容易解决。 这些问题对无穷语言来说,不太容易解决。 语言的有穷描述。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报