形式语言与自动机..pptVIP

  • 125
  • 0
  • 约2.66万字
  • 约 10页
  • 2016-12-14 发布于重庆
  • 举报
形式语言与自动机理论  Formal Languages and Automata Theory 朱保平 南京理工大学计算机学院 形式语言  形式语言 ? 形式语言是研究自然语言和人工语言的数学工具,只研究组成规则,不研 究语义。  - 将语言看做句子的集合  - 将句子看做字母按照一定规则组成的字符串  - 根据规则的形式区分语言类;  - 大部分问题都可转化为判定某个句子是否属于某个语言的问题 ? 发展过程  –克林(Kleene)在1951-1956年间,在研究神经细胞中建立了自动机来识别语言。  –1956年,乔姆斯基(Chomsky)从产生语言的角度研究语言。L?Σ*, 文法(grammar)。  –1959年,乔姆斯基证明了文法与自动机的等价性。 自动机 自动机理论  自动机理论研究抽象计算装置或“机器”。   – 以状态自动机为基础,建立抽象机器模型;   – 研究机器能做什么,不能做什么,从而定义划分可计算 问题和不可计算问题。 ? 发展过程  – 1930s,图灵提出图灵机模型;  – 1940~1950s,有限状态自动机方面的研究;  – 1969年,库克分离出了能有效解决的问题和难解问题。 形式语言与自动机理论的应用   有限状态自动机是描述许多重要硬件和软件的有用模型。只有有限个 状态,使得可以用有限的资源来实现。   – 字符串匹配算法(KMP)   – 词法分析器   – 设计和检验数字电路行为的软件   – 其它一些软件,如通信协议验证 ? 与有限自动机有关的两种符号表示   – 文法:设计处理递归结构数据的软件的模型   – 正规表达式:与自动机描述的字符串模式等价 ? 自动机是研究计算复杂性的必要基础   – 可判定性问题:可判定问题和不可判定问题   – 可处理性问题:一般问题和难解问题 计算机与人脑 观点一:计算机的能力不如人脑的能力  – 计算机无法解决不可判定问题;  – 人脑能够部分解决不可判定问题; 例如:判定任意一个程序是否输出“hello world”。 ? 观点二:计算机的能力与人脑的能力相当  – 人脑由神经元细胞构成,每个神经元相当于一个有限状态自动机,神经 元之间的连接是不断变化的,所以人脑相当于一个极其复杂的不断变化的 有限状态自动机;  – 计算机能够模拟所有图灵机,也就能够模拟所有有限状态自动机。 第一章 语言 1.1 语言的定义 语言学家chomsky,最初从定义语言的角度研究语言.1956年,他将语言L定义为字母表∑中的字符组成的一些串的集合: 字母表上按一定规则定义一个文法,该文法所能产生的所有的句子组成的集合就是该文法定义的语言. 1.2 基本概念 1.语言研究的三个方面 (1)表示representation:无穷语言的表示 (2)有穷描述finite description:研究的语言要么是有穷的,要么是可数无穷的,这里主要研究可数无穷语言的有穷描述。 (3)结构structure:语言的结构特征 2.字母表alphabet   字母表是一个非空有穷集合,字母表中的元素称为该字母表中的符号。 例:?={0,1}等。 3.字母表的积运算    ? 1?2={ab?a? ? 1,b? ? 2} 例: ? 1 ={0,1}, ? 2={a,b,c} ? 1 ?2 ={0a,0b,0c,1a,1b,1c} 4.字母表?的n次幂   ?0={ ? } ?为空串   ?n= ?n-1 ? ? 的正闭包: ?+= ? ? ? 2 ? ? 3 ? ? 4 ??   ? 的克林闭包: ?*= ? 0 ? ?+ =? 0 ? ? 1 ? ? 2 ? ? 3 ?? 例: ?={0,1}    ?+={0,1,00,01,10,11,000,001,?}    ?*={? ,0,1,00,01,10,11,000,001,?} 直观定义:    ?*={x|x是?中的若干字符连接而成的字符串}    ?+={x|x是?中至少一个字符连接而成的字符串} 5.句子 sentence   ?是一个字母表,对于?*上的任何元素x,x叫做?上的一个句子。 6. 7. 语言:对于任意的 ,L称为字母表∑上的一个语言.对于任意一个x∈L,x叫做L的一个句子. 例: ? ={0,1}上不同的语言: {00,11} {0,1} {0,1,00,11} {001,01,0001,10} {00,11}* {0}{0,1}*{1} {0,1}*{111}{0,1}* 1.3语言的有限描述 递归定义是解决无穷语言的有穷描述的最好方法. 递归定义的

文档评论(0)

1亿VIP精品文档

相关文档