自动机理论、语言和计算导论 by John E. Hopcroft

计算理论是计算机应用的基础,理论和应用缺一而不可。

---- 目录 ----

C01 自动机
C02 有穷自动机
C03 正则表达式与正则语言
C04 正则语言的性质
C05 上下文无关文法及上下文无关语言
C06 下推自动机
C07 上下文无关语言的性质
C08 图灵机
C09 不可判定性
C10 难解问题
C11 其他问题类
 
---- C01 自动机 ----
  • 有穷自动机(FA)的两个重要因素是状态跳转,状态是数据/环境,跳转是函数/响应。
  • 自动机的结构表示法有两种,一种是正则表达式,正则表达式(RE)和有穷自动机(FA)是等价的,前者只是后者的结构记号而已,另一种是文法,通常指的是上下文无关文法,用来构建编译器的语法分析器。
  • 可判定性是研究计算机能做什么不能做什么的,计算机能解决的问题称为“可判定的”,反之则为“不可判定的”,难解性是指问题的解决难度是容易的还是复杂的,复杂度为多项式的问题称为“易解的”/“可计算的”(P问题),反之则为“难解的”/“不可计算的”(NP问题)。
  • 证明分为演绎证明和归纳证明,演绎证明是基于推导(前提->结论)的命题树,“如果那么”是单向的,“当且仅当”是双向的,命题当且仅当逆否命题(若A则B<->若非B则非A),反证法(证明A与非B矛盾)就是基于此的,反例法是用来推翻错误命题的,归纳证明分为基础部分/初始部分(S(0)成立)和归纳部分/推导部分(S(n)成立->S(n+1)成立),结构归纳法是基于递归定义的,所谓的“结构”是指某个递归定义的结构。从哲学上认为,演绎法归纳法是两个不同的过程,前者是从一般到个别的应用过程,后者是从个别到一般的总结过程,而我们这里强调的演绎是寻找前提和结论之间的联通路径,归纳是从部分到整体、从容易到困难的递归推导。
  • 自动机理论的中心概念有字母表、串和语言,字母表(A)是字母的集合,(S)是字母的序列,语言(L)是串的集合,判定问题是判定某个串是否属于某个语言的问题,语言和判定问题其实是相同的东西,它们都划出了“是”与“不是”的界线。
 
---- C02 有穷自动机 ----
  • 有穷自动机(FA)是基于状态和控制的,“控制”是制定状态跳转的规则,控制有“确定的”(只有一个状态)和“非确定的”(可以多个状态),所以有穷自动机有确定型有穷自动机(DFA)和非确定型有穷自动机(NFA)两种,正则表达式是有穷自动机的代数记号,它与有穷自动机是等价的,正则语言是描述有穷自动机的语言。
  • 确定型有穷自动机(DFA)由有穷个状态的集合(Q)、有穷个输入符号的集合(A)、转移函数(T)、初始状态(q0)和接受状态的集合(F)五部分组成,DFA可以用数学公式描述:DFA=(Q, A, T, q0, F),也可以用转移图转移表描述,转移函数是基于某个输入符号的,扩展转移函数是基于某个输入符号序列的,DFA的语言L(DFA)={S|T(q0,S)属于F},输入一个符号序列,DFA可以接受拒绝(判定性)。
  • 确定型有穷自动机(DFA)只有一个状态,而非确定型有穷自动机(NFA)可以多个状态,从而具备了一定的“猜测”能力。与DFA一样,NFA也是由五部分组成,只是转移函数T的返回是状态的集合(DFA的只是一个状态),也就是说,DFA只是NFA的一个特例而已,在设计上NFA会比DFA更加简单和自然,NFA的语言L(NFA)={S|T(q0,S)与F的交集非空},NFA与DFA是等价的(也即是L(NFA)等价于L(DFA)),通过子集构造,我们可以把NFA的状态集合作为DFA的状态,把NFA转为为等价的DFA,但换来的是指数增长的状态数,我认为两者等价应该取其较简者,在设计上,如果缺少转移,可以额外添加一个“死状态”。
  • 带ε的非确定型有穷自动机(ε-NFA)是NFA的一个变种,ε指的是空串,它提供了很大的便利性,ε-NFA与NFA的不同也在于转移函数上,ε-NFA的转移函数可以接收ε作为输入符号(允许空输入),从状态q出发通过ε转移能够到达的所有状态的集合称为状态q的ε闭包(或ε闭集)(ECLOSE(q)),通过融合了ε闭包的子集构造,我们可以看到ε-NFA与DFA其实也是等价的。
  • 有穷自动机的理论最初来源于神经网路的研究,研究神经网络可能有助于发现比有穷自动机更为复杂的模型。
 
---- 
 

 

 

转载于:https://www.cnblogs.com/qushan/p/4784873.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
虽然不是入门教材,但个人感觉这才是真正的“计算机文化基础”,看看章节目录就会爱不释手。<br><br>目录<br>1、1字符串、字母表和语言<br>第一章 预备知识<br>1、2图和树<br>1、3归纳证明<br>1、4集合<br>1、5关系<br>1、6本书提要<br>2、1有穷状态系统<br>第二章 有穷自动机和正规表达式<br>2、2基本定义<br>2、3非确定有穷自动机<br>2、4具有∈动作的有穷自动机<br>2、5正规表达式<br>2、6双向有穷自动机<br>2、7具有输出的有穷自动机<br>2、8有穷自动机的应用<br>3、1正规集合的泵作用引理<br>第三章 正规集合的性质<br>3、2正规集合的封闭性质<br>3、3正规集合的判定算法<br>3、4Myhill-Nerode定理和有穷自动机的最小化<br>4、1动机和引言<br>第四章 上下文无关文法<br>4、2上下文无关文法<br>4、3派生树<br>4、4上下文无关文法的简化<br>4、5Chomsky范式<br>4、6Greibach范式<br>4、7固有多义上下文无关语言的存在性<br>5、1非形式描述<br>第五章 下推自动机<br>5、2定义<br>5、3下推自动机和上下文无关语言<br>6、1关于CFL的泵作用引理<br>第六章 上下文无关语言的性质<br>6、2CFL的封闭性质<br>6、3有关CFL的判定算法<br>7、1引言<br>第七章 图灵机<br>7、2图灵机模型<br>7、3可计算语言和可计算函数<br>7、4图灵机构造技术<br>7、5图灵机的修改<br>7、6Church假设<br>7、7作为枚举器的图灵机<br>7、8等价于基本模型的受限图灵机<br>8、1问题<br>第八章 不可判定性<br>8、2递归语言和递归可枚举语言的性质<br>8、3通用图灵机和一个不可判定问题<br>8、4Rice定理和某些其它的不可判定问题<br>8、5Post对应问题的不可判定性<br>8、6图灵机的有效计算和无效计算:证明CFL问题不可判定性的一个工具<br>8、7Greibach定理<br>8、8递归函数论初步<br>8、9Oracle计算<br>9、1正规文法<br>第九章 Chomsky谱系<br>9、2无限制文法<br>9、3上下文有关语言<br>9、4语言类之间的关系<br>第十章 确定的上下文无关语言<br>10、1DPDA的标准形式<br>10、2DCFL在补运算下的封闭性<br>10、3预测机<br>10、4DCFL的其它封闭性质<br>10、5DCFL的判定性质<br>10、6LR(0)文法<br>10、7LR(0)文法与DPDA<br>10、8LR(k)文法<br>11、1三元族和完全三元族<br>第十一章 语言族的封闭性质<br>11、2广义时序机映射<br>11、3三元族的其它封闭性质<br>11、4抽象语言族<br>11、5AFL运算的独立性<br>11、6小结<br>12、1定义<br>第十二章 计算复杂性理论<br>12、2线性加速、带压缩和带数目的减少<br>12、3谱系定理<br>12、4复杂性量度间的关系<br>12、5转换引理和非确定谱系<br>12、6一般复杂性量度的性质:间隙定理、加速定理和并定理<br>12、7公理化复杂性理论<br>13、1多项式时间和空间<br>第十三章 难解型问题<br>13、2某些NP完全问题<br>13、3co-NP类<br>13、4PSPACE完全问题<br>13、5对于P和NSPACE(logn)的完全问题<br>13、6某些可证明的难解型问题<br>13、7对于带Oracle的图灵机的P=NP问题:辨别是否P=NP时我们能力的限度<br>14、1辅助下推自动机<br>第十四章 其它重要语言类集锦<br>14、2栈自动机<br>14、3加标语言<br>14、4发展系统<br>14、5小结<br>参考文献<br>汉英名词索引<br>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值