形式语言与自动机经典教学PPT课件资料讲解.ppt
《形式语言与自动机经典教学PPT课件资料讲解.ppt》由会员分享,可在线阅读,更多相关《形式语言与自动机经典教学PPT课件资料讲解.ppt(858页珍藏版)》请在三一办公上搜索。
1、形式语言与自动机-经典教学课件(完整版),2,2022/12/17,课程目的和基本要求,本专业人员4种基本的专业能力计算思维能力算法的设计与分析能力程序设计和实现能力计算机软硬件系统的认知、分析、设计与应用能力计算思维能力逻辑思维能力和抽象思维能力构造模型对问题进行形式化描述理解和处理形式模型,3,2022/12/17,课程目的和基本要求,知识掌握正则语言、下文无关语言的文法、识别模型及其基本性质、图灵机的基本知识。能力培养学生的形式化描述和抽象思维能力。使学生了解和初步掌握“问题、形式化描述、自动化(计算机化)”这一最典型的计算机问题求解思路。,4,2022/12/17,主要内容,语言的文法
2、描述。RLRG、 FA、RE、RL的性质 。CFLCFG(CNF、GNF)、PDA、CFL的性质。 TM基本TM、构造技术、TM的修改。CSLCSG、LBA。,5,2022/12/17,教材及主要参考书目,蒋宗礼,姜守旭. 形式语言与自动机理论. 北京:清华大学出版社,2003年 John E Hopcroft, Rajeev Motwani, Jeffrey D Ullman. Introduction to Automata Theory, Languages, and Computation (2nd Edition). Addison-Wesley Publishing Company
3、, 2001 John E Hopcroft, Jeffrey D Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley Publishing Company, 1979,6,2022/12/17,第1章 绪论,1.1 集合的基础知识 1.1.1 集合及其表示集合:一定范围内的、确定的、并且彼此可以区分的对象汇集在一起形成的整体叫做集合(set),简称为集(set)。 元素:集合的成员为该集合的元素(element)。 集合描述形式。 基数。 集合的分类。,7,2022/12/17
4、,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 subset),记作AB,8,2022/12/17,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
5、是有穷集,且AB,则|B|A|。,9,2022/12/17,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|。,10,2022/12/17,1.1.3 集合的运算,并(union) A与B的并(union)是一个集合,该集合中的元素要么是A的元素,要么是B的元素,记作AB。 AB=a|aA或者aB A1A2An=a|i,1in,使得aAi A1A2An =a|i,iN,使得aAi,11,2022/12/17,交(intersec
6、tion),集合A和B中都有的所有元素放在一起构成的集合为A与B的交 ,记作AB。 AB=a|aA且aB “”为交运算符,AB读作A交B。 如果AB=,则称A与B不相交。 AB= BA。 (AB)C=A(BC)。 AA=A。,12,2022/12/17,交(intersection), AB=A iff AB。 A=。 |AB|min|A|,|B|。 A(BC)=(AB)(AC)。 A(BC)=(AB)(AC)。 A(AB)=A。 A(AB)=A。,13,2022/12/17,差(difference),属于A,但不属于B的所有元素组成的集合叫做A与B的差,记作A-B。 A-B=a|aA且aB
7、 “-”为减(差)运算符,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|。,14,2022/12/17,对称差(symmetric difference),属于A但不属于B,属于B但不属于A的所有元素组成的集合叫A与B的对称差,记作AB。 AB=a|aA且aB或者aA且aB “”为对称差运算符。AB读作A对称减B。 AB=(AB)-(AB)=(A-B)(B-A)。,15,2022/12/17,笛卡儿积(Cartesian product),A与B的笛卡儿积(Cartesian product)是一个
8、集合,该集合是由所有这样的有序对(a,b)组成的:其中aA,bB ,记作AB。 AB=(a,b)|aA& bB 。 “”为笛卡儿乘运算符。AB读作A叉乘B。 ABBA。 (AB)CA(BC)。 AAA。 A=。,16,2022/12/17,笛卡儿积(Cartesian product), A(BC)=(AB)(AC)。 (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|。,17,2022/12/17,幂集(power set),A幂集
9、(power set)是一个集合,该集合是由A的所有子集组成的,记作2A。 2A=B|BA。 2A读作A的幂集。,18,2022/12/17,幂集(power set), 2A。 2A。 2A。 2=。 A2A。 如果A是有穷集,则|2A|=2|A|。 2AB=2A2B。 如果AB,则2A2B。,19,2022/12/17,补集(complementary set),A是论域U上的一个集合,A补集是由U中的、不在A中的所有元素组成的集合,记作,20,2022/12/17,补集(complementary set),如果AB,则,。,。,。,。,。,。,21,2022/12/17,1.2 关系,
10、二元关系 递归定义与归纳证明 关系的闭包,22,2022/12/17,1.2.1 二元关系(binary relation),二元关系 任意的RAB,R是A到B的二元关系。 (a,b) R,也可表示为:aRb。 A称为定义域(domain),B称为值域(range)。 当A=B时,则称R是A上的二元关系。二元关系的性质自反(reflexive)性、反自反(irreflexive)性、对称(symmetric)性、反对称(asymmetric)性、传递(transitive)性。,23,2022/12/17,1.2.1 二元关系(binary relation),三歧性 自反性、对称性、传递性。
11、等价关系(equivalence relation) 具有三歧性的二元关系称为等价关系。,24,2022/12/17,1.2.1 二元关系(binary relation),等价类 (equivalence class) S的满足如下要求的划分:S1、S2、S3、Sn称为S关于R的等价划分,Si称为等价类。 S= S1S2S3Sn; 如果ij,则SiSj=; 对任意的i,Si中的任意两个元素a、b,aRb恒成立; 对任意的i,j,ij,Si中的任意元素a和Sj中的任意元素b,aRb恒不成立,25,2022/12/17,1.2.1 二元关系(binary relation),指数(index)
12、把R将S分成的等价类的个数称为是R在S上的指数。如果R将S分成有穷多个等价类,则称R具有有穷指数;如果R将S分成无穷多个等价类,则称R具有无穷指数。给定集合S上的一个等价关系R,R就确定了S的一个等价分类,当给定另一个不同的等价关系时,它会确定S的一个新的等价分类。,26,2022/12/17,1.2.1 二元关系(binary relation),关系的合成 (composition) 设R1AB是A到B的关系、R2BC是B到C的关系,R1与R2的合成R1R2是A到C的关系:R1R2=(a,c)| (a,b) R1且(b,c) R2 。,27,2022/12/17,1.2.1 二元关系(bi
13、nary relation), R1R2R2R1。 (R1R2)R3=R1(R2R3)。 (结合率) (R1R2)R3=R1R3R2R3。(右分配率) R3(R1R2)=R3R1R3R2。(左分配率) (R1R2)R3R1R3R2R3。 R3(R1R2)R3R1R3R2。,28,2022/12/17,1.2.1 二元关系(binary relation),关系这一个概念用来反映对象集合元素之间的联系和性质二元关系则是反映两个元素之间的关系,包括某个元素的某种属性。对二元关系的性质,要强调全称量词是对什么样的范围而言的。,29,2022/12/17,1.2.2 等价关系与等价类(略)1.2.3
14、关系的合成(略),30,2022/12/17,1.2.4 递归定义与归纳证明,递归定义(recursive definition)又称为归纳定义(inductive definition),它来定义一个集合。集合的递归定义由三部分组成:基础(basis):用来定义该集合的最基本的元素。归纳(induction):指出用集合中的元素来构造集合的新元素的规则。极小性限定:指出一个对象是所定义集合中的元素的充要条件是它可以通过有限次的使用基础和归纳条款中所给的规定构造出来。,31,2022/12/17,1.2.4 递归定义与归纳证明,归纳证明 与递归定义相对应。 归纳证明方法包括三大步: 基础(ba
15、sis):证明最基本元素具有相应性质。 归纳(induction):证明如果某些元素具有相应性质,则根据这些元素用所规定的方法得到的新元素也具有相应的性质。根据归纳法原理,所有的元素具有相应的性质。,32,2022/12/17,1.2.4 递归定义与归纳证明,定义 1-17 设R是S上的关系,我们递归地定义Rn的幂: R0=(a,a)|aS。 Ri=Ri-1R (i=1,2,3,4,5,)。,33,2022/12/17,1.2.4 递归定义与归纳证明,例1-17 著名的斐波那契(Fibonacci)数的定义 基础:0是第一个斐波那契数,1第二个斐波那契数; 归纳:如果n是第i个斐波那契数,m是
16、第i+1个斐波那契数,则n+m是第i+2个斐波那契数,这里i为大于等于1的正整数。 只有满足(1)和(2)的数才是斐波那契数 0,1,1,2,3,5,8,13,21,34,55,,34,2022/12/17,1.2.4 递归定义与归纳证明,例1-18 算术表达式 基础:常数是算术表达式,变量是算术表达式; 归纳:如果E1、E2是表达式,则 +E1、-E1、E1+E2、 E1-E2 、E1*E2 、E1/E2、E1*E2、Fun(E1)是算术表达式。其中Fun为函数名。 只有满足(1)和(2)的才是算术表达式。,35,2022/12/17,1.2.4 递归定义与归纳证明,例1-19 对有穷集合A
17、,证明|2A|=2|A|。证明:设A为一个有穷集合, 施归纳于|A|: 基础:当|A|=0时,|2A|=|=1。 归纳:假设|A|=n时结论成立,这里n 0,往证当|A|=n+1时结论成立 2A=2BCa|C2B 2BCa|C2B=,36,2022/12/17,1.2.4 递归定义与归纳证明,|2A|=|2BCa|C2B|=|2B|+|Ca|C2B|=|2B|+|2B|=2*|2B|=2*2|B|=2|B|+1=2|A| 由归纳法原理,结论对任意有穷集合成立。,37,2022/12/17,1.2.4 递归定义与归纳证明,例1-20 表达式的前缀形式是指将运算符写在前面,后跟相应的运算对象。如:
18、+E1的前缀形式为+E1,E1+E2的前缀形式为+E1E2 ,E1*E2的前缀形式为*E1E2, E1*E2的前缀形式为* E1,Fun(E1) 的前缀形式为FunE1 。证明例1-18所定义的表达式可以用这里定义的前缀形式表示。,38,2022/12/17,1.2.4 递归定义与归纳证明,递归定义给出的概念有利于归纳证明。在计算机科学与技术学科中,有许多问题可以用递归定义描述或者用归纳方法进行证明,而且在许多时候,这样做会带来许多方便。 主要是掌握递归定义与归纳证明的叙述格式。,39,2022/12/17,1.2.5 关系的闭包,闭包(closure) 设P是关于关系的性质的集合,关系R的P
19、闭包(closure)是包含R并且具有P中所有性质的最小关系。正闭包(positive closure) (1)RR+。(2)如果(a,b),(b,c)R+ 则(a,c)R+。(3)除(1)、(2)外,R+不再含有其他任何元素。,40,2022/12/17,1.2.5 关系的闭包,传递闭包(transitive closure) 具有传递性的闭包。R+具有传递性。可以证明,对任意二元关系R, R+= RR2R3R4而且当S为有穷集时: R+= RR2R3R|S|,41,2022/12/17,1.2.5 关系的闭包,克林闭包(Kleene closure) R* (1) R0 R*,R R*。
20、(2) 如果(a,b),(b,c)R* 则(a,c)R*。 (3) 除(1)、(2)外,R*不再含有其他任何元素。 自反传递闭包(reflexive and transitive closure) R*具有自反性、传递性。,42,2022/12/17,1.2.5 关系的闭包,可以证明,对任意二元关系R, R*= R0R+ R* =R0RR2R3R4而且当S为有穷集时: R*= R0RR2R3R|S|,43,2022/12/17,1.2.5 关系的闭包,R1、R2是S上的两个二元关系 (1)+=。 (2)(R1+)+= R1+ 。 (3) (R1*)*= R1*。 (4) R1+R2+(R1R2
21、)+。 (5) R1*R2*(R1R2)*。,44,2022/12/17,1.3 图,数学家欧拉(L.Euler)解决著名的哥尼斯堡七桥。直观地讲,图是由一些点和一些连接两点的边组成。含无方向的边的图为无向图,含带有方向的边的图为有向图。,45,2022/12/17,1.3.1 无向图,无向图(undirected graph) 设V是一个非空的有穷集合,EVV,G=(V,E)称为无向图(undirected graph)。其中V中的元素称为顶点(vertex或node),V称为顶点集,E中的元素称为无向边(undirected edge),E为无向边集。图表示V中称为顶点v的元素用标记为v的
22、小圈表示,E中的元素(v1,v2)用标记为v1,v2的顶点之间的连线表示。,46,2022/12/17,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)。,47,2022/12/17,1.3.1 无向图,顶点的度数 对于vV,|v|(v,w)E|称为无向图G=(V,E)的顶点v的度数,记作deg(v)。对于任何一个图,图中所有顶点的度数之和为图中边的2倍。,48,2022/12/17,deg(v1)=
23、3deg(v2)=3deg(v3)=4deg(v4)=3deg(v5)=3deg(v1)+deg(v2)+deg(v3)+deg(v4)+deg(v5)=16,49,2022/12/17,1.3.1 无向图,连通图 如果对于v,wV,vw,v与w之间至少有一条路存在,则称G=(V,E)是连通图。 图G是连通的充要条件是G中存在一条包含图的所有顶点的路。,50,2022/12/17,1.3.2 有向图,有向图(directed graph) G=(V,E)。V:顶点(vertex或node)集。(v1,v2)E:顶点v1到顶点v2的有向边(directed edge),或弧(arc),v1称为前
24、导(predecessor),v2称为后继(successor)。有向路(directed path) 如果对于0ik-1,k1,均有(vi,vi+1)E,则称v0,v1,vk是G的一条长为k的有向路。,51,2022/12/17,1.3.2 有向图,有向回路或有向圈(directed cycle) 对于0ik-1,k1,均有(vi,vi+1)E, 且v0=vk,则称v0,v1,vk是G的一条长为k的有向路为一个有向回路。有向回路又叫有向圈。 有向图的图表示图G的图表示是满足下列条件的“图”:其中V中称为顶点v的元素用标记为v的小圈表示,E中的元素(v1,v2)用从标记为v1的顶点到标记为v2
25、的顶点的弧表示。,52,2022/12/17,1.3.2 有向图,顶点的度数 入度(数):ideg(v)=|v|(w,v)E|。 出度(数):odeg(v)= |v|(v,w)E|。 对于任何一个有向图,图中所有顶点的入度之和与图中所有顶点的出度之和正好是图中边的个数,53,2022/12/17,两个不同的有向图,54,2022/12/17,1.3.3 树,满足如下条件的有向图G=(V,E)称为一棵(有序、有向)树(tree): 根(root) v:没有前导,且v到树中其他顶点均有一条有向路。每个非根顶点有且仅有一个前导。 每个顶点的后继按其拓扑关系从左到右排序。,55,2022/12/17,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式语言 自动机 经典 教学 PPT 课件 资料 讲解
链接地址:https://www.31ppt.com/p-1772991.html