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

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

1. 定义

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


定义如下:
一个不确定的PDA可以表达成一个7元组:
M = (\Sigma ,Q,\Gamma ,\delta ,{q_0},{Z_0},F)

  • \Sigma是输入符号的有穷集合;
  • Q 是状态的有限集合;
  • q_0 \in Q是初始状态;
  • \Gamma为下推存储器符号的有穷集合;
  • Z_0 \in \Gamma为最初出现在下推存储器顶端的符号;
  • F 是终止状态集合,F \subseteq Q
  • \delta是从Q×(\Sigma \cup {\{\varepsilon\} })×\GammaQ×\Gamma^* 子集的映射。

2. 映射关系\delta 的解释

3. 符号约定

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

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

5. 举例

下推自动机M = (\Sigma ,Q,\Gamma ,\delta ,{q_0},{Z_0},F)接受语言L={wcw^R|w \in \{a, b\}^*},其中,Q=\{0, 1\}, \Sigma=\{a, b, c\}, \Gamma = \{A, B\}, q_0 = 0, Z_0 = \#, F = {1}, \delta 定义如下:


那么:

另外两种自动机

1. 图灵机

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

2. 线性带限自动机

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

各类自动机的区别

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

语言与识别器的对应关系

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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我记得有一句关于理财的话:你不理财,财不理你。让手里的钱跑过通货膨胀一直是我努力的目标。小一部分活期存款留做日常开...
    Selina_Sun阅读 1,553评论 0 1
  • 日更 DAY 1 去年假期在家里看动漫,为了看咱们裸熊的第二季特意充了一个腾讯的会员,这是第一次买某种会员,嘻嘻嘻...
    彼岸花开5532阅读 2,593评论 0 0
  • 喜欢瘦成麻秆的身材,喜欢无所谓的姿态 背带裤马上要滑落的肩带,肥大外套垂在一侧的衣领 没睡醒的表情,蓬松的头发 拖...
    走失的大象阅读 1,391评论 0 0
  • 各位家长朋友,高一年级定于明天下午3点35分,第七节结束后放假,9月10日下午3点半前在教室坐好,打扫卫生...
    高飞1阅读 2,713评论 1 2