Loading [MathJax]/jax/input/TeX/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【计算理论】计算理论总结 ( 下推自动机计算过程 | 上下文无关文法 CFG 转为下推自动机 PDA ) ★★

【计算理论】计算理论总结 ( 下推自动机计算过程 | 上下文无关文法 CFG 转为下推自动机 PDA ) ★★

作者头像
韩曙亮
发布于 2023-03-28 12:19:28
发布于 2023-03-28 12:19:28
8750
举报

文章目录

参考博客 :

一、下推自动机计算过程


1 . 下推自动机 ( PDA ) 提升了自动机计算能力 : 在上述自动机的基础上 , 提升该自动机的计算能力 , 引入一个新的栈结构 ;

栈特点 : ① 后进先出 , ② 存储能力无限 ;

2 . 下推自动机计算有两个部分 , 一个是字符的读取 , 一个是栈内字符的存取 , 栈内只有最上面的字符会被替换 ;

3 . 下推自动机 ( PDA ) 的指令格式 : 该指令包含了 上述讲的两个操作 ;

1,0ε

① 自动机字符读取 : 左侧的

1

是从带子上读取的字符 ;

② 栈内字符存取操作 :

0ε

是需要在栈上进行的操作 , 将栈顶的

0

取出 , 然后将

ε

放入到栈中 , 相当于在栈中 , 使用

ε

将栈顶的

0

替换掉 ;

二、上下文无关文法 CFG 转为下推自动机 PDA 流程


上下文无关文法 CFG 转为下推自动机 PDA 流程 :

① 开始状态 : 开始状态

qstart

, 跳转到

qloop

状态的指令

ε,εK

, 使用

K

替换栈内空字符

ε

, 即将

K

放入栈中 ;

② 循环状态 :

qloop

状态的指令都是从本状态指向本状态 , 生成两种指令 , 一种是基本指令 , 一种是终端字符指令 ;

基本指令

SaTb|b

,

生成为 "

ε,SaTb

" 和 "

ε,Sb

" 两条指令 , 前面都是读取空字符作为栈读取的信息 ;

终端字符指令 , 如果存在终端字符

a

b

, 那么生成

a,aε

b,bε

两条指令 , 含义是读取栈顶

a

字符 , 将该字符使用空字符替代 , 即从栈中删除该字符 ;

③ 接受状态 :

qloop

状态跳转到

qaccept

指令是

ε,Kε

, 栈顶读取到

K

字符删除 ;

④ 拆分指令 : 在循环状态

qloop

中的基本指令中存在多字符指令 , 如

ε,SaTb

,

S

读取到空字符

ε

, 使用

aTb

字符替换栈顶的

S

字符 , 这是

3

个字符 , 肯定不行 , 需要逐个放进去 , 先放

b

, 再放

T

, 最后放

a

;

最终分解为

ε,Sb

读取空字符放入

b

到栈顶 ,

ε,εT

读取空字符放入

T

到栈顶 ,

ε,εa

读取空字符放入

a

到栈顶 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【计算理论】上下文无关语法 ( CFG ) 转为 下推自动机 ( PDA )
最终的 上下文无关语法 ( CFG ) 转为的 下推自动机 ( PDA ) 样式 :
韩曙亮
2023/03/27
8030
【计算理论】上下文无关语法 ( CFG ) 转为 下推自动机 ( PDA )
【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 1 ) ★★
状态的指令都是从本状态指向本状态 , 生成两种指令 , 一种是基本指令 , 一种是终端字符指令 ;
韩曙亮
2023/03/28
9620
【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 1 ) ★★
【计算理论】下推自动机 PDA ( 设计下推自动机 | 上下文无关语法 CFG 等价于 下推自动机 PDA )
开始状态是接受状态 , 因为如果字符串是空字符串 , 空字符串的镜面反射还是空字符串 , 因此读取空字符串后的状态 , 是接受状态 , 开始状态其本身就是接受状态 ;
韩曙亮
2023/03/27
6390
【计算理论】下推自动机 PDA ( 设计下推自动机 | 上下文无关语法 CFG 等价于 下推自动机 PDA  )
【计算理论】计算理论总结 ( 上下文无关文法 ) ★★
: 有限的规则组成的集合 , 规则规定如何进行代换操作 , 规定 变量 , 终端字符 , 字符串变量 等 ;
韩曙亮
2023/03/28
8410
【计算理论】计算理论总结 ( 上下文无关文法 ) ★★
【计算理论】上下文无关语法 CFG ( CFG 设计示例 | CFG 歧义性 | Chomsky 范式 | 上下文无关语法 转为 Chomsky 范式 )
2 . 设计方法 : 非确定性优先自动机 ( NFA ) 识别某语言 , 将 NFA 转为 确定性优先自动机 ( DFA ) , 然后将 DFA 转为 上下文无关语法 ;
韩曙亮
2023/03/27
1.3K0
【计算理论】上下文无关语法 CFG ( CFG 设计示例 | CFG 歧义性 | Chomsky 范式 | 上下文无关语法 转为 Chomsky 范式 )
【计算理论】下推自动机 PDA 及 计算示例
1 . 下推自动机 由来 : 下推自动机 ( PDA ) 是在 确定性有限自动机 ( DFA ) 基础上 扩展而来的 ;
韩曙亮
2023/03/27
1.1K0
【计算理论】下推自动机 PDA 及 计算示例
【计算理论】下推自动机 PDA ( 上下文无关语言 CFL 的 泵引理 | 泵引理反证示例 | 自动机扩展 )
通过 上下文无关语言 ( CFL ) 的 Pumping Lemma ( 泵引理 ) 可以证明上述命题 ;
韩曙亮
2023/03/27
9380
【计算理论】计算理论总结 ( 上下文无关文法 | 乔姆斯基范式 | 乔姆斯基范式转化步骤 | 示例 ) ★★
② 语言不包含空字符串 : 如果上下文无关语法不包含空字符串时 , 一定 不需要
韩曙亮
2023/03/28
1.1K0
【计算理论】可判定性 ( 可判定性总结 )
② 下推自动机 ( PDA ) 所 认识的语言是否是空集问题 , 是可判定的 ,
韩曙亮
2023/03/28
1.2K0
【计算理论】计算理论总结 ( 自动机设计 ) ★★
设计自动机 : 之前是根据给定的自动机 , 找到自动机所能识别的语言 ; 现在是 给定语言 , 设计出能识别该语言的自动机 ;
韩曙亮
2023/03/28
5760
【计算理论】计算理论总结 ( 自动机设计 ) ★★
形式语言与自动机:计算理论
在正式开始形式语言与自动机的学习之前,我们不妨先考虑几个问题. 1:究竟哪些问题,可以通过计算解决? 2:解决可以计算的问题,究竟需要多少资源? 3:为了研究计算,需要使用到那些计算模型? 这三个问题
云时之间
2020/02/01
7820
【计算理论】图灵机 ( 图灵机特点 | 自动机特点 | 数的扩张 | 计算模型的扩张 )
② 移动方向 : 图灵机的读写头既可以向左移动 , 又可以向右移动 , 可以 双向移动 ;
韩曙亮
2023/03/28
1.3K0
【计算理论】图灵机 ( 图灵机特点 | 自动机特点 | 数的扩张 | 计算模型的扩张 )
计算理论-形式语言
形式语言是由一组有限的符号和一组规则(通常称为文法)组成的严格数学系统,这些规则定义了如何将这些符号组合成有效的语句。形式语言的研究始于20世纪初,而将形式语言用于模拟自然语言是在20世纪50年代中期 。形式语言理论在计算机科学中扮演着重要的角色,尤其是在编译器设计、编程语言的设计、自然语言处理以及数据库查询语言等领域
姓王者
2024/10/31
1820
形式语言与自动机
有穷自动机,下推自动机,图灵自动机 推荐书籍:《自动机理论、语言和计算导论》、《自动机理论、语言和计算导论》 课件下载: ppt01下载 ppt02下载 ---- 目录 导论 课程大纲 有穷自动机引论 确定型有穷自动机-Deterministic Finite Automata 正则语言 NFA 导论 自动机理论历史 主要学习内容:有穷自动机、下推自动机、图灵机 有穷自动机 : 1、具有有限内存的设备可以做什么 以及不能做什么 2、引入仿真:一台设备“模仿”另一台设备的 能力 3、引入不确定性:设备做出
[Sugar]
2022/09/21
5890
【计算理论】上下文无关语法 ( 代数表达式 | 代数表达式示例 | 确定性有限自动机 DFA 转为 上下文无关语法 )
此时可以得到语法分析树 ; 该语法分析树是一个代数表达式 ; 将该语法分析树写出 , 即可理解 上下文无关 语法 ;
韩曙亮
2023/03/27
4830
【计算理论】上下文无关语法 ( 代数表达式 | 代数表达式示例 | 确定性有限自动机 DFA 转为 上下文无关语法 )
陈天奇团队LLM结构化生成新引擎XGrammar:百倍加速、近零开销
不管是编写和调试代码,还是通过函数调用来使用外部工具,又或是控制机器人,都免不了需要 LLM 生成结构化数据,也就是遵循某个特定格式(如 JSON、SQL 等)的数据。
计算机视觉研究院
2024/11/27
1870
陈天奇团队LLM结构化生成新引擎XGrammar:百倍加速、近零开销
【计算理论】自动机设计 ( 设计自动机 | 确定性自动机设计示例 | 确定性与非确定性 | 自动机中的不确定性 )
设计自动机 : 之前是根据给定的自动机 , 找到自动机所能识别的语言 ; 现在是 给定语言 , 设计出能识别该语言的自动机 ;
韩曙亮
2023/03/27
1.1K0
【计算理论】自动机设计 ( 设计自动机 | 确定性自动机设计示例 | 确定性与非确定性 | 自动机中的不确定性 )
【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA ) ★★
根据下面的 正则表达式 构造 非确定性有限自动机 ( NFA ) , 刚好能 识别上述正则表达式表示的语言 ;
韩曙亮
2023/03/28
5650
【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA ) ★★
【计算理论】自动机 示例 ( 自动机示例 | 自动机表示方式 | 自动机计算流程简介 )
1 . 单向自动门 现实状况描述 : 可通过的单向自动门 ; 当站在门前时 , 自动门开 , 确保人走过后 , 再关闭 ; 注意 : 这个门只能进 , 不能出 ;
韩曙亮
2023/03/27
5360
【计算理论】自动机 示例 ( 自动机示例 | 自动机表示方式 | 自动机计算流程简介 )
【计算理论】可判定性 ( 通用图灵机和停机问题 | 可判定性 与 可计算性 | 语言 与 算法模型 )
利用 图灵 的结论 , 证明 有哪些 计算问题 是找不到 算法 进行判定的 ; 如 停机问题 , 就找不到算法进行判定 ;
韩曙亮
2023/03/28
1.3K0
推荐阅读
【计算理论】上下文无关语法 ( CFG ) 转为 下推自动机 ( PDA )
8030
【计算理论】计算理论总结 ( 上下文无关文法 CFG 转为下推自动机 PDA 示例 1 ) ★★
9620
【计算理论】下推自动机 PDA ( 设计下推自动机 | 上下文无关语法 CFG 等价于 下推自动机 PDA )
6390
【计算理论】计算理论总结 ( 上下文无关文法 ) ★★
8410
【计算理论】上下文无关语法 CFG ( CFG 设计示例 | CFG 歧义性 | Chomsky 范式 | 上下文无关语法 转为 Chomsky 范式 )
1.3K0
【计算理论】下推自动机 PDA 及 计算示例
1.1K0
【计算理论】下推自动机 PDA ( 上下文无关语言 CFL 的 泵引理 | 泵引理反证示例 | 自动机扩展 )
9380
【计算理论】计算理论总结 ( 上下文无关文法 | 乔姆斯基范式 | 乔姆斯基范式转化步骤 | 示例 ) ★★
1.1K0
【计算理论】可判定性 ( 可判定性总结 )
1.2K0
【计算理论】计算理论总结 ( 自动机设计 ) ★★
5760
形式语言与自动机:计算理论
7820
【计算理论】图灵机 ( 图灵机特点 | 自动机特点 | 数的扩张 | 计算模型的扩张 )
1.3K0
计算理论-形式语言
1820
形式语言与自动机
5890
【计算理论】上下文无关语法 ( 代数表达式 | 代数表达式示例 | 确定性有限自动机 DFA 转为 上下文无关语法 )
4830
陈天奇团队LLM结构化生成新引擎XGrammar:百倍加速、近零开销
1870
【计算理论】自动机设计 ( 设计自动机 | 确定性自动机设计示例 | 确定性与非确定性 | 自动机中的不确定性 )
1.1K0
【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA ) ★★
5650
【计算理论】自动机 示例 ( 自动机示例 | 自动机表示方式 | 自动机计算流程简介 )
5360
【计算理论】可判定性 ( 通用图灵机和停机问题 | 可判定性 与 可计算性 | 语言 与 算法模型 )
1.3K0
相关推荐
【计算理论】上下文无关语法 ( CFG ) 转为 下推自动机 ( PDA )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档