美文网首页
形式语言与自动机:计算理论

形式语言与自动机:计算理论

作者: 云时之间 | 来源:发表于2020-01-28 23:43 被阅读0次

    在正式开始形式语言与自动机的学习之前,我们不妨先考虑几个问题.

    1:究竟哪些问题,可以通过计算解决?

    2:解决可以计算的问题,究竟需要多少资源?

    3:为了研究计算,需要使用到那些计算模型?

    这三个问题看似孤立,但要回答这三个问题,必须要从整体上来看

    首先回答第一个问题:究竟哪些问题可以通过计算解决?是不是任何一种问题都可以计算来解决?如果是,需要用什么样的算法解决?如果不是, 哪些问题可以,哪些问题不可以? 如果要严谨的回答上述的问题,这就需要严谨的证明过程,,严谨的数学模型来表示他,这些模型其实就是我们要学习的自动机概念,这些问题就是我们熟知的可计算理论.

    2:在我们明白我们这个问题可以计算以后,那解决可以计算的问题,究竟需要多少资源又将成为我们研究的方向,具体一些就是我们计算的时候存储的空间和时间要达到怎样的一种程度.

    如果一个问题无论使用任何一种算法都需要很多的资源才可以解决,这其中的原因是什么?这都需要我们去解决,因为研究出原因,我们就可以整理出一个体系来解决以后的这种问题.为此我们产生了计算复杂性理论.

    3:因为可计算理论和计算复杂性理论的出现,需要我们研究使用什么样的模型去计算,这需要我们所学的形式语言与自动机理论来支撑了,这些模型都是高度抽象化的计算装置,简单且易于分析,功能强大,在一些实际问题中都有广泛的应用.

    现在进入我们的重点:形式语言和自动机理论是个啥,我们来好好说说:

    自动机理论其实就是研究抽象机器及其所能解决问题的理论,最重要的就是图灵机,相信大家都听说过,我们现在的计算机拥有图灵机的全部能力,并且图灵机是计算机的理论模型,他去分类了哪些问题是可以计算的,那些是不可以计算的.

    那什么是形式语言?

    打个比方:如果自动机是研究计算的的模型,那语言就可以看做研究计算的问题实例.而形式语言我们可以看做是经过数学定义的语言,我们要从数学的方法来严谨的解决各类计算,首先就要来严谨的表达计算,这时候形式语言的作用就发挥出来了.

    这与我们的实际生活贴切:

    我们日常的语言是由单词,字符,句子,语法构成,具体表现为中文,英文等等语言形式,这些语言称之为自然语言.而与之相对的是形式语言,最常见的比如化学方程式,程序语言等等.形式语言的表述精确到定义的规则,而描述这样的基本规则就需要用的自动机.

    所以形式语言与自动机是密不可分的,一方面计算机以语言为处理对象.另一方面语言是以自动机为形式定义的,在这一系列文章中,因为个人水平所限制,我希望好好学习下正则语言智能的有穷自动机和上下文无关语言中的下推自动机.

    推荐的两本书籍,希望大家一起学习,一起进步:

    1:Introduction to Automata Theory, Languages, and Computation.

    John E. Hopcroft

    《自动机理论、语言和计算导论 (英文版)》机械工业出版社

    2: Introduction to the Theory of Computation.

    Michael Sipser

    《计算理论导引》机械工业出版社

    相关文章

      网友评论

          本文标题:形式语言与自动机:计算理论

          本文链接:https://www.haomeiwen.com/subject/wlfvthtx.html