本课程《形式语言与自动机》实际介绍的是一种理论,称为「自动机理论」。这种理论尝试用一种没有思考能力,只能按既定规则动作的「机器」去解读符合一定「文法」的「语言」,从而实现计算的自动化。显然,这套理论奠定了现代信息时代的基础。

本课程介绍了 3 种不同「级别」的文法、语言和它们对应的自动机,如下表所示:

乔姆斯基层级 文法 语言 自动机
类型 0 没有任何限制 递归可枚举 图灵机
类型 2 上下文无关 上下文无关 下推自动机
类型 3 正则 正则 有限自动机

其中「乔姆斯基层级」是一个用来衡量语言、文法的「自由」程度的指标。类型 1 的乔姆斯基层级对应的是「上下文有关语言」,在这门课中没有提及。

字母表与字符串

字母表、字符串是形式语言与自动机理论所研究的重要对象,因此有必要对这些看起来很直白的东西进行「数学化」的定义。

语言与文法

若 $\Sigma$ 是字母表,则 $\forall L\sube\Sigma^*$,$L$ 称为字母表 $\Sigma$ 上的一个语言。例如: