简单文法与有限状态机

本文深入探讨了文法 Grammar 和有限状态机 Automaton 的概念。文法是形式语言规则,包括非终结符、终结符和替换规则。有限状态机描述状态转移,分为确定性和非确定性。此外,文章还涉及了语言识别、正则表达式、正则集合、Kleene 定理,以及下推自动机、线性有界自动机和图灵机等计算模型。

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

文法 Grammar

文法是形式化的语言规则, 因此文法是用于生成语言,而语言依托于词,或者说语言是词的组织,因此一个文法所能产生的语言依赖于词的集合,的拼接组成了构成了语言,因此可以认为,词是句的子集,句是语言的子集,有些或者在一些条件(或无条件下)能被进一步替换,而描述这些替换规则的式子就称为产生式 production,因此给出文法G的定义
G = ( V , T , S , P ) G=(V,T,S,P) G=(V,T,S,P)
其中V表示一个文法所使用的的集合

T表示不能被进一步替换的词的集合,称为终结符 terminator

S表示生成一个语言的初始词

P表示产生式 production的集合,表示的替换规则

并且一个文法G所能生成的语言L(G)
L ( G ) ⊂ V ∗ , ∗   是   K l e e n e 闭 包 , 即 字 符 拼 接 运 算 其 中   V 0 = { λ } V i 表 示 进 行 i 次 拼 接 , 每 次 选 取 V 中 的 一 个 元 素 L(G)\subset V^*, *\ 是\ Kleene闭包,即字符拼接运算\\ 其中\ V^0=\{\lambda\}\\ V^i表示进行i次拼接,每次选取V中的一个元素 L(G)V,  Kleene V0={λ}ViiV

当我们在讨论文法 Grammar的时候,我们考虑的是语言的合法性,此时我们不关心语言的语义,即我们在做语法分析

我们提到一些条件下能被进一步替换,乔姆斯基将文法依据特定的条件分为四类

文法类型名称对应的有限状态机
0无约束条件文法图灵机
1上下文有关文法线性有界自动机
2上下文无关文法下推自动机
3正则文法有限状态自动机

下 面 使 用 大 写 字 母 表 示 非 终 结 符 , 小 写 字 母 表 示 词 和 句 ( i )   l A r →   l w r o r   S → λ ( i i )   A →   w ( i i i )   A →   a B   ∣   a o r   S → λ 下面使用大写字母表示非终结符,小写字母表示词和句\\ (i)\ lAr\rightarrow\ lwr\\ or\ S\rightarrow \lambda\\ (ii)\ A\rightarrow\ w\\ (iii)\ A\rightarrow\ aB\ |\ a\\ or\ S\rightarrow\lambda 使(i) lAr lwror Sλ(ii) A w(iii) A aB  aor Sλ

有限状态机 automaton

有限状态机的基本功能是描述状态转移的机器,因此需要一个状态转移方程,该方程需要一个基本的参数s,即现态,加上输入i,产生次态。同时可以考虑在发生状态转移时是否伴随有输出,是否存在停机状态,是否能存储输出

语言识别

如果一个有限状态机能识别一种语言,当且仅当该有限状态机能处理该语言并停机

确定性

表示有限状态机的状态转移方程是否是函数,若是函数,则是确定状态机,否则是非确定状态机,非确定状态机在发生状态转移时会在多个转移规则中选择一个

有限状态自动机

给出有限状态自动机的描述
M = ( S , I , f , F ) M=(S,I,f,F) M=(S,I,f,F)
其中S表示状态集

I表示输入的符号集

f表示状态转移方程

F表示终结状态集

该自动机存储器,并且伴随状态转移无输出,且处理正则语言

正则表达式

形如下式的是正则表达式
( i )   ∅ ( i i )   λ ( i i i )   x ∈ I ( i i i i ) 递 归 定 义   当 A , B 是 正 则 式 时 , A B ( 表 示 集 合 的 连 接 ? ) , A ⋃ B , A ∗ ( K l e e n e ∗ ) 也 都 是 正 则 式 (i)\ \empty\\ (ii)\ \lambda\\ (iii)\ x\in I\\ (iiii)递归定义\ 当A,B是正则式时,\\ AB(表示集合的连接?),A\bigcup B,A^*(Kleene *)也都是正则式 (i) (ii) λ(iii) xI(iiii) ABAB(),AB,AKleene

正则集合

一个集合是正则集合当且仅当其所有元素都是正则式

Kleene定理

一个集合是正则的当且仅当它能被一个有限状态自动机识别

下推自动机

下推自动机在有限状态自动机的基础上加上了一个用来存储信息

线性有界自动机

线性有界自动机以条带存储信息,并且该存储器条带是有限长度的

图灵机

最强大的计算模型图灵机,包含无限长的存储条带

几种自动机等价于文法类型的证明看不懂…

NP问题

可计算

一个问题如果能由图灵机计算,那么就叫做可计算问题

P

表示一个问题可在多项式时间被计算出来

NP

表示可以在多项式时间内判定一个解是否是该问题的解,显然P问题包含于NP问题

NPC

最大范围的NP问题,即所有的NP问题是其子集

NP=P

因为所有NP问题的是NPC问题的子集,如果能针对NPC问题找出一个多项式时间内的通解,那么即对所有的NP问题,都存在一个多项式时间内的解,即NP=P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值