网站大量收购独家精品文档,联系QQ:2885784924

[工学]形式语言与自动机理论-01.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]形式语言与自动机理论-01

形式语言与自动机理论 Formal Languages and Automata Theory 西北工业大学 计算机学院 康慕宁 形式语言 形式语言是研究自然语言和人工语言的数学工具,只研究组成规则,不研究语义。 将语言看做句子的集合 将句子看做字母按照一定规则组成的字符串 根据规则的形式区分语言类 大部分问题都可转化为判定某个句子是否属于某个语言的问题 发展过程 克林(Kleene)在1951-1956年间,在研究神经细胞中建立了自动机来识别语言。 1956年,乔姆斯基(Chomsky)从产生语言的角度研究语言。L?Σ*,文法(grammar)。 1959年,乔姆斯基证明了文法与自动机的等价性。 自动机理论 自动机理论研究抽象计算装置或“机器”。 以状态自动机为基础,建立抽象机器模型; 研究机器能做什么,不能做什么,从而定义划分可计算问题和不可计算问题。 发展过程 1930s,图灵提出图灵机模型; 1940~1950s,有限状态自动机方面的研究; 1969年,库克分离出了能有效解决的问题和难解问题。 形式语言与自动机理论的应用 有限状态自动机是描述许多重要硬件和软件的有用模型。 只有有限个状态,使得可以用有限的资源来实现。 – 字符串匹配算法(KMP) – 词法分析器 – 设计和检验数字电路行为的软件 – 其它一些软件,如通信协议验证 形式语言与自动机理论的应用 与有限自动机有关的两种形式表示 – 文法:设计处理递归结构数据的软件的模型 – 正规表达式:与自动机描述的字符串模式等价 自动机是研究计算复杂性的必要基础 – 可判定性问题:可判定问题和不可判定问题 – 可处理性问题:一般问题和难解问题 计算机与人脑 观点一:计算机的能力不如人脑的能力 – 计算机无法解决不可判定问题; – 人脑能够部分解决不可判定问题; 例如:判定任意一个程序是否输出“hello world”。 观点二:计算机的能力与人脑的能力相当 – 人脑由神经元细胞构成,每个神经元相当于一个有限状态自动机,神经元之间的连接是不断变化的,所以人脑相当于一个极其复杂的不断变化的有限状态自动机; – 计算机能够模拟所有图灵机,也就能够模拟所有有限状态自动机。 主要内容 形式语言 – 正规语言 – 上下文无关语言 – 上下文相关语言 – 短语结构语言 自动机理论 – 有限状态自动机 – 下推自动机 – 图灵机 计算理论 – 不可判定问题 – 难解问题 课程介绍 分类:专业基础课(计算机软件与理论专业硕士) 定位:培养计算思维能力(问题-形式化-自动化) 预修课程:高等数学、离散数学、编译原理等 后续课程:计算理论? 教材: – 机械工业出版社《自动机理论、语言和计算导论》 考核方式: 平时作业(+考勤)+课堂闭卷 预备知识 集合论 证明理论 图论 语言的基本概念 集合(set) 定义:一定范围内确定的,并且彼此可以区分的对象汇集在一起形成的整体。 集合的表示方法: – 列举法(listing):{1,3,6,9,10},{a,b,c,…,z} – 命题法(proposition):{x | P(x)},{x | x是整数且存在一个整数i, 使得x=2i} 集合的初步分类: – 有限集(finite set):由有限个元素构成的集合,如英文字母集 合、汉字集合 – 无穷集(infinite set):由无穷多个元素构成的集合,如整数集合、有理数集合、实数集 基数(cardinality) 定义:如果有一个从集合S1到S2上的元素的一一对应映射,那么S1和S2具有相同的基数,通常用|A|表示,又叫作势。 有穷集合的基数就是它所包含的元素的个数。如|{a,b,c,…,z}|=26,|{x|3x2+8x+4=0}|=2。 可数集(countable set):如果无穷集合与自然数集具有相同的基数,则称为可数无穷的,如整数集合、有理数集合;否则称为不可数集(uncountable set) ,如实数集合。 具有不同基数集合的证明方法:首先假设S1和S2之间有一个一一对应,然后在S1中构造一个不与S2中任何元素对应的元素,从而证明假设不成立,即S1和S2具有不同的基数。典型实例:康托儿对角线法 集合之间的关系 设A,B是两个集合,如果A中的每个元素都是B的元素,则称A是B的子集(subset),B是A的包集(container)。记作A?B或B?A。 设A,B是两个集合,如果A?B且?x∈B但x?A,则称A是B的真子集(proper subset),记作A?B或B?A。 如果集合A和B含有的元素完全相同,则称A与B相等,记作A=B。 例:φ?任意集合,{1,2,3,4,5} ?N, 一些常用的结论 对于任意集合A,B,C,

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档