教材《形式语言与自动机》朱保平 李千目编著 清华大学出版社
说明:本文尽可能避免使用繁琐的数学表达,和只求信不求达雅的文字定义。无法避免时用注释方式给出
一、形式语言和自动机的关系
形式语言和自动机这两个概念看起来风马牛不相及,前者是语言学上的概念,而后者更像计算机科学的概念。这两者又是通过什么联系起来了呢?
在自动机这一部分知识的最后,介绍了图灵机的概念。图灵机是一种计算机的模型,可以依据既定的策略(程序)在一条有内容的带(可以看做内存)前后移动,改变上面的内容,简单的图灵机可以进行字符串的处理,复杂的图灵机可以进行逻辑分支判断和加法运算,到这里就出现了计算机的雏形。
图灵是著名的计算机科学家,他帮助盟军破译德军密码机器enigma的故事家喻户晓。在计算机科学还处于萌芽乃至种子状态的二战时期,破译密码更多的是语言学家的事。实际上,图灵作为一个“计算机科学家”在那时是不受“密码专家”语言学家待见的。在图灵为英国政府工作的时期,他和语言学家共事了相当长的时间。
因此,抛开各种各样的形式语言和各种各样的自动机不谈,我们看到,在历史上,计算机科学还远没有得到充分发展的时期,语言和计算机有一个神奇的交集。这实际上暗示了,形式语言和自动机有着某种基本的、本质的联系,这我下面还会再总结。
二、形式语言
从字面意义上看,“形式语言”是某种语言,我认为,把“形式语言”理解成“语言形式”更加直接,即“形式语言”的本质不是语言,而是形式。如果抛开“形式语言”这样一个拗口的术语,简单地看“语言形式”,待解决的问题清晰地出现在我们面前