HIT-2022spr-形式语言自动机期末复习

这篇博客详细梳理了形式语言自动机的相关知识,包括DFA、NFA、正则表达式的基本概念与转换,PDA的定义及其与栈的交互,以及PDA到CFG的转换。还讨论了CFG的构造、化简和CFL的封闭性,并介绍了图灵机的基本原理。此外,文中通过举例说明了各种语言和自动机的性质,以及正则语言的泵引理和CFL的泵引理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HIT-2022spr-形式语言自动机期末复习

HIT-王春宇老师-网课网址

DFA/NFA/RegularExpression

正则表达式是一种表示正则语言的方法,ε若为正则表达式,则表示{ε}这个语言,而不是空语言。
在这里插入图片描述
注意+是并运算,而不是两个串的连接。
在这里插入图片描述
正则语言的运算↑

1. FA->RegExp

2. RegExp->FA

3. 封闭性()

正则语言在所有运算下都是封闭的

4. DFA最小化

关于终态是否等价的解释以及对于算法的规定的强调:

5. NFA转化成DFA(子集构造法)

在这里插入图片描述

6. ε-NFA转化为DFA

在这里插入图片描述
注意左侧的都是计算的ε-闭包,也就是说下面左面一列手写的{q0}实际上是q0的一个ε-闭包,手写的第一行第二个{q0}也是q0的闭包,也就是要求两次闭包。

PDA

1. PDA的定义

PDA通过 ε-NFA 加上 栈 的方式定义
ε-NFA:就是具有空转移以及不确定的能力

不确定性的例子:

(注意转移函数的因变量是状态的集合
在这里插入图片描述
例如这个读了0可以跳转到不同位置:
在这里插入图片描述

2. DPDA的定义

将PDA的ε转移能力保留,但是去掉它的非确定性能力(对于最后的ε,只能说有路就要走),就变成了DPDA。

这种语言无法接受 w w r ww^r wwr类型的串串儿,因为DPDA不具有不确定性,无法判定到哪是 w w w w r w^r wr的交界处,但是DPDA可以接受 w c w r wcw^r wcwr的语言。

3. PDA的栈

这里面的栈,push可以是一个字符串,但是pop的必须是一个字符。
每次输入带的读头读入一个字符,并向后移入一个单元格。此时会进行状态的修改,对于符号栈的读写头先pop栈顶的**一个字符**,然后push一个**字符串**.

4. 关于PDA题目的思路

一般来说就是硬干,但是加上空转移考虑就简单些,空转移的妙用可以使画的PDA看起来更清晰易懂。

两种PDA: (需要注意: 两种PDA都需要读完串儿才能结束)

注意:这两种PDA是等价的!!!,而DPDA才会出现终态比空栈多接受前缀语言的情况!!!

  1. 接受空栈
    这种PDA无法接受前缀语言(可是终态可以)
    接受空栈的PDA最终栈是需要 Z 0 ∣ ϵ Z_0|\epsilon Z0ϵ 进行清空栈的操作的,在读完串儿之前是不能将 Z 0 Z_0 Z0进行弹出的。
  2. 终止状态
    终止状态的PDA不需要考虑栈的情况,最终即使是栈没有清空(不管栈怎么样)只要到了终止状态就会结束。

CFG

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值