首页 > 其他分享 >第三章 右线性文法和有限自动机

第三章 右线性文法和有限自动机

时间:2024-03-11 09:57:32浏览次数:16  
标签:状态 文法 第三章 NFA 有限 delta 自动机 DFA

右线性文法和有限自动机

目录

有限状态系统的概念

状态:状态是可以将事物区分开的一种标识

离散状态系统:状态数有限,不能连续变化

连续状态系统:状态可以连续变化,状态数无限

有限状态系统必然是离散状态系统


有限自动机的概念

  • 具有离散输入输出的系统的一种数学模型(可以没有输入和输出)
  • 有限的状态
  • 状态 + 输入 -> 状态转移
    • 确定有限状态自动机(DFA):在特定输入下,每次转换的后继状态唯一
    • 不确定有限状态自动机(NFA):在特定输入下,每次转换的后继状态不唯一

有限自动机的五要素

  • 有限状态集
  • 有限输入符号集
  • 转移函数
  • 开始状态
  • 终态集合

确定有限自动机

DFA 的形式定义

DFA 是一个五元组\(M=(Q,T,\delta,q_0,F)\)

  • Q:有限的状态集合
  • T:有限的输入字母表
  • \(\delta\):转换函数
  • \(q_0\in Q\):初始状态
  • \(F\subseteq Q\):终止状态集

扩展转移函数适合于输入字符串

\(\delta':Q \times T \to Q\)

对于\(\forall q\in Q\),有

  • \(\delta'(q,\epsilon)=q\)
  • w 是字符串,a是字符,\(\delta'(q,wa)=\delta(\delta'(q,w),a)\)

DFA 接受的语言

  • DFA 接受的字符串:输入结束后使 DFA 到达终止状态的字符串
  • DFA 接受的语言:被 DFA 接受的字符串的集合
  • \(L(A)=\{w|\delta'(q_0,w)\in F\}\)

格局:描述有限自动机某一个时刻的工作状态

  • 由当前状态 q 和待输入字符串 w 构成
  • 初始格局:\((q_0,w)\)
  • 终止格局:\((q,\epsilon),q\in F\)

不确定有限自动机

NFA 的形式定义:后继状态是 Q 的子集,其余和 DFA 一样

NFA 接受的字符串:接收一个字符串后 NFA 进入的状态集包含一个或以上的终止状态,则 NFA 接受该字符串

NFA 的状态转移函数扩展

  • \(\delta'(q,\epsilon)={q}\) 空串状态不变
  • \(\delta'(q,wa)=\{p|\exist r \in \delta'(q,w)\cap p\in \delta(r,a)\}\)
    • 含义:\(\delta'(q,wa)\) 对应的状态集合是 \(\delta'(q,w)\) 对应的状态集合的每一个状态再接收字符 a 后到达的状态集合的并集

NFA 接受的语言:\(L(A)=\{w|\delta'(q_0,w)\cap F\neq \phi \}\)


NFA 和 DFA 的等价性

显然,DFA 可以看作是 NFA 的特例(状态子集只含有一个状态)

所以只需证明 NFA 可以转化成 DFA

定理:$\forall NFA 接受语言 L,\exist DFA 接受语言 L $

证明:子集构造法

\[某个NFA\quad M_N=(Q,T,\delta,q_0,F),构造 DFA\quad M_D=(Q_D,T,\delta_D,q_0,F_D)\\ Q_D=2^Q\quad 即把原有状态集合的幂集作为新的状态集合\\ \]

标签:状态,文法,第三章,NFA,有限,delta,自动机,DFA
From: https://www.cnblogs.com/DrinkLessMilkTea/p/18065399

相关文章

  • 程序是怎样跑起来的第三章有感
    在阅读了《程序是如何跑起来的》第三章后,我对计算机程序的运行原理有了更深入的理解。这一章主要介绍了程序的内存管理和变量的使用。通过学习,我了解到内存是程序运行的重要资源,程序需要通过内存来存储和操作数据。同时,变量是程序中用于存储数据的容器,它们可以根据不同的数据类型......
  • 第三章
    控制论是研究动态系统在不同条件下保持稳定性的科学,它涉及系统、其环境、输入、输出、控制器和反馈等概念。控制论的研究方法通常包括以下几个方面:数学建模:通过建立数学模型来描述系统的动态行为。这些模型通常包括微分方程、差分方程或状态空间方程等。分析方法:利用数学工具分......
  • 系统方法科学概论 第三章
    系统方法科学概论第三章现代信息科学的发展有两方面现代通讯技术进步的基本内容(激光通信,网络化、移动性、数字化、综合性、量子通信)正在形成中的广义信息论:关于信息本质的理论关于信息运动规律的理论关于信息的度量方法的理论关于信息的产生、获取、变换、传输、储存、处......
  • 《程序是怎样跑起来的》第三章
    《程序是怎样跑起来的》第三章位数多的情况下经常使用十六进制数代替二进制数(基数为2)我们在生活中不能过度依赖计算机,计算机并不是永远都是对的,人非圣贤孰能无过,计算机也一样也会有出错的时候计算机处理数据通过二进制在二进制表示整数和小数上有所不同计算机出错的原因便在......
  • 从零开始发明 AC 自动机
    AC自动机是一种多模字符串匹配算法。[LuoguP5357]【模板】AC自动机给你一个文本串$S$和$n$个模式串$T_{1\simn}$,请你分别求出每个模式串$T_i$在$S$中出现的次数。$1\len\le2\times{10}^5$,$T_{1\simn}$的长度总和不超过$2\times{10}^5$,$S$的长度不......
  • AC 自动机
    AC自动机基于字典树Trie,用于多单词匹配问题P3808【模板】AC自动机(简单版)P3796【模板】AC自动机(加强版)structTrie{ intto[30];//edge intfail,end;//end-cnt(samewordwithdifid)}AC[N];#defineroot0intcnt=0;//pointcntinlinevoidbuild(strings){ ......
  • 第二章 语言与文法
    语言与文法目录语言与文法语言的定义与运算文法推导和句型文法的分类语言的定义与运算字母表:字符的有限集合字符不一定是单个字符,如aa也可以是一个字符字符不允许重复,具有唯一性常用T、\(\sum\)表示字符串:由字母表中的字符构成的有限序列空串用\(\epsilon\)表......
  • 《系统科学方法概论》第三章
    《系统科学方法概论》第三章的主要内容集中在系统科学的基本理论与方法上,特别是信息方法在系统科学中的应用。这一章节不仅详细介绍了信息方法的发展历史和产生条件,还探讨了如何利用信息来研究和理解系统功能。信息方法作为一种科学方法,涉及信息的收集、传递、加工和处理,旨在揭示......
  • 《程序是怎么跑起来的》第三章
    在《程序是怎么跑起来的》这本书的第三章中,作者详细地介绍了操作系统在程序执行过程中的作用,使我深刻理解了操作系统的重要性。这一章节详细阐述了操作系统如何管理硬件资源,如任务调度、内存管理和文件系统,以确保将有限的硬件资源有效地分配给多个竞争的程序,从而维护系统的稳定性......
  • 第三章 列表与元组
    第3章列表与元组一、列表1、创建:x=list()#创建,delx#删除,2、转换:x=list('Python')3、常用方法:方法功能举例append(object,/)追加object到尾部clear()删除所有元素copy()复制所有元素count(value,/)计算value出现的次数extend(iterable)......