形式语言与自动机学习笔记(1):文法与自动机概述

一、概述

  • 形式语言:形式化描述的字母表上的字符串构成的集合;
  • 自动机:具有离散输入输出的数学模型;

形式语言与自动机的关系:
形式语言——字符串,自动机——字符串的识别系统

  • 文法:定义语言的数学模型;
  • 元语言:描述语言的语言;

二、Chomsky文法体系

概念简述

文法GG是一个四元组G=(NTPS)G=(N,T,P,S),其中:

  • NN:非终结符的有限集合;
  • TT:终结符的有限集合,且NT=ϕN\cap T = \phi
  • PP:形式为αβ\alpha \rightarrow \beta的生成式的有限集合,且α(NT)N+(NT),β(NT)\alpha \in (N \cup T)^* N^+ (N \cup T), \beta \in(N\cup T)^*,即α\alpha中至少含有一个非终结符;
  • SS:起始符,且SNS\in N

应用生成式就是将非终结符不断替换为终结符+非终结符的符号串,再替换得到的新的字符串中的非终结符,最终得到只含有终结符的符号串;
我们将中间过程的符号串称为句型,最终推导出的只含有终结符的符号串称为句子,显然,句型包含句子

我们将文法产生的语言记为L(G)L(G)

L(G)={ωωT 且 Sω}L(G) = \{ \omega \mid \omega \in T^* \text{ 且 } S \Rightarrow^* \omega \}

即必须是由终结符组成,并且由起始串SS推导得到;

关于Chomsky文法体系,对生成式做出一些限制,分为以下4类:

0型文法

  • 无限制
  • 对应递归可枚举语言
  • 对应图灵机

1型文法

  • 上下文有关文法
  • 对应上下文有关语言
  • 对应线性有界自动机(不考虑空串)

1型文法对生成式做出了如下限制:αβ\alpha \rightarrow \beta,其中αβ|\alpha| \leq |\beta|,且α,β(NT)\alpha, \beta \in (N \cup T)^*,且α\alpha至少含有一个非终结符号;
该限制的意义是保证了推到过程中字符串长度单调不减;

2型文法

  • 上下文无关文法
  • 对应上下文无关语言
  • 对应下推自动机

2型文法对生成式做出了如下限制:AαA \rightarrow \alpha,其中AA是一个非终结符,α\alpha是由非终结符和终结符组成的任意字符串(可以是空串);
该限制的意义是每次替换单独一个非终结符,支持递归结构的解析;

3型文法

  • 正则文法(分为左线性文法和右线性文法)
  • 对应正则语言
  • 对应优先自动机

左线性文法对生成式做出了如下限制:ABωA \rightarrow B\omegaAωA \rightarrow \omega,其中A,BA,B为非终结符,ω\omega为终结符;
右线性文法对生成式做出了如下限制:AωBA \rightarrow \omega BAωA \rightarrow \omega,其中A,BA,B为非终结符,ω\omega为终结符;
该限制的意义是,生成式只能在字符串的左边或者右边扩展非终结符,限制了语言的复杂性和递归性;


形式语言与自动机学习笔记(1):文法与自动机概述
https://blog.yokumi.cn/2025/03/05/形式语言与自动机学习笔记(1):文法与自动机概述/
作者
Yokumi
发布于
2025年3月5日
更新于
2025年6月26日
许可协议