自然语言处理——3.3 下推自动机与CFG(上下文无关文法)

下推自动机(push-down automata, PDA)

1. 定义

PDA 可以看成是一个带有附加的下推存储器的有限自动机,下推存储器是一个栈。如下图所示:

自然语言处理——3.3 下推自动机与CFG(上下文无关文法)_第1张图片

定义如下:
一个不确定的PDA可以表达成一个7元组:

  • 是输入符号的有穷集合;
  • 是状态的有限集合;
  • 是初始状态;
  • 为下推存储器符号的有穷集合;
  • 为最初出现在下推存储器顶端的符号;
  • 是终止状态集合,
  • 是从到 子集的映射。

2. 映射关系 的解释

自然语言处理——3.3 下推自动机与CFG(上下文无关文法)_第2张图片
自然语言处理——3.3 下推自动机与CFG(上下文无关文法)_第3张图片

3. 符号约定

4. 下推自动机接受的语言

下推自动机 所接受的语言定义为:

5. 举例

下推自动机接受语言,其中,, 定义如下:

自然语言处理——3.3 下推自动机与CFG(上下文无关文法)_第4张图片

那么:
自然语言处理——3.3 下推自动机与CFG(上下文无关文法)_第5张图片

另外两种自动机

1. 图灵机

  • 图灵机与0型文法等价;
  • 图灵机与有限自动机(FA)的区别:图灵机可以通过其读/写头改变输入带的字符。

2. 线性带限自动机

  • 线性带限自动机与1型文法等价;
  • 线性带限自动机是一个确定的单带图灵机,其读写头不能超越原输入带上字符串的初始和终止位置,即线性带限自动机的存储空间被输入符号串的长度所限制。

各类自动机的区别

各类自动机的主要区别是它们能够使用的信息存储空间的差异:有限状态自动机只能用状态来存储信息;下推自动机除了可以用状态以外,还可以用下推存储器(栈);线性带限自动机可以利用状态和输入/输出带本身。因为输入/输出带没有“先进后出”的限制,因此,其功能大于栈;而图灵机的存储空间没有任何限制。

语言与识别器的对应关系

识别器是有穷地表示无穷语言的另一种方法。每一个语言的句子都能被一定的识别器所接受。


自然语言处理——3.3 下推自动机与CFG(上下文无关文法)_第6张图片

你可能感兴趣的:(自然语言处理——3.3 下推自动机与CFG(上下文无关文法))