有限状态自动机 (类似的还有 下推自动机 、图灵机)

转自百度百科

 

有限状态自动机(FSM "finite state machine" 或者FSA "finite state automaton" )是为研究有限内存的计算过程和某些语言类而抽象出的一种计算模型。有限状态自动机拥有有限数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移。有限状态自动机可以表示为一个有向图。有限状态自动机是自动机理论的研究对象。

中文名

有限状态自动机

外文名

finite state machine

研究对象

自动机理论

识别语言

正规语言

目录

  1. 主要特点
  2. 类型
  3. 计算能力
  4. 最小化

主要特点

有限状态自动机是具有离散输入和输出的系统的一种数学模型。

其主要特点有以下几个方面:

– (1)系统具有有限个状态,不同的状态代表不同的意义。按照实际的需要,系统可以在不同的状态下完成规定的任务。

– (2)我们可以将输入字符串中出现的字符汇集在一起构成一个字母表。系统处理的所有字符串都是这个字母表上的字符串。

– (3)系统在任何一个状态下,从输入字符串中读入一个字符,根据当前状态和读入的这个字符转到新的状态。

– (4)系统中有一个状态,它是系统的开始状态。

– (5)系统中还有一些状态表示它到目前为止所读入的字符构成的字符串是语言的一个句子。

形式定义

· 定义:有限状态自动机(FA—finite automaton)是一个五元组:

– M=(Q, Σ, δ, q0, F)

· 其中,

– Q——状态的非空有穷集合。∀q∈Q,q称为M的一个状态。

– Σ——输入字母表。

– δ——状态转移函数,有时又叫作状态转换函数或者移动函数,δ:Q×Σ→Q,δ(q,a)=p。

– q0——M的开始状态,也可叫作初始状态或启动状态。q0∈Q。

– F——M的终止状态集合。F被Q包含。任给q∈F,q称为M的终止状态。

类型

有多种类型的有限状态自动机:接受器判断是否接受输入;转换器对给定输入产生一个输出。常见的转换器有 Moore 机 与 Mealy 机。Moore 机对每一个状态都附加有输出动作,Mealy 机对每一个转移都附加有输出动作。

有限状态自动机还可以分成确定与非确定两种。非确定有限状态自动机可以转化为确定有限状态自动机。

有限状态自动机识别的语言是正规语言。

有限状态自动机除了它在理论上的价值,还在数字电路设计、词法分析、文本编辑器程序等领域得到了应用。

自动机接受的所有字串构成了自动机识别的语言 L(M)。

非确定有限状态自动机

一个非确定有限状态自动机(NFA "Non-deterministic finite automaton")M 是由下述元素构成的五元组 (Q,Σ,δ,q0,F)

有穷状态集合 Q ;

有穷输入字母表 Σ;

转移函数 δ: Q × Σ -> 2Q;

初始状态 q0;

终结状态集合 F,F 包含于 Q 。

自动机从初始状态 q0 起,逐一读入输入串(由输入字母表 Σ 的字母构成)的每一个字母,根据当前状态、输入字母和转移函数 δ 决定自动机的下一步状态;如果输入串结束时,自动机处于终结状态集合 F 的某一个状态,这表示自动机接受该字串;否则自动机不接受该字串。

非确定有限状态自动机与确定有限状态自动机的唯一区别是它们的转移函数不同。确定有限状态自动机对每一个可能的输入只有一个状态的转移。非确定有限状态自动机对每一个可能的输入可以有多个状态转移,接受到输入时从这多个状态转移中非确定地选择一个。

自动机接受的所有字串构成了自动机识别的语言 L(M)。

计算能力

确定有限状态自动机与非确定有限状态自动机识别的语言都是正则语言。由于正则语言的良好性质,许多为其他自动机(下推自动机图灵机)不能判定的问题,在有限状态自动机的情形下,都可以得到判定,并且存在有效的算法。

对一个确定有限状态自动机,下述判定问题都可以判定,并且存在有效的算法。

该自动机识别的语言是否为空集

该自动机识别的语言是否为有限集

该自动机是否与另一个确定有限状态自动机识别同一个的语言。

例如:有限状态自动机:输入串为3进制数,输出为模5的余数(0,1,2,3,4)

模5的余数总共只有5个,这就是5个状态。初始状态为0,每个状态也都是最终状态。

三进制每位数有3种可能,因此每种状态有3种跃迁可能。

把3进制串理解成从高位到低位一个一个输入,每条输入就是一次跃迁,状态就是到当前输入为止的3进制数模5的余数。

跃迁的函数如下:

目标状态 = (当前状态 *进制数(此题为3) + 串的当前位)% 5。

举例如下:

三进制数 12112

当前状态 输入 跃迁

0(start) 1 (0*3+1) % 5 = 1

1 2 (1*3+2) % 5 = 0

0 1 (0*3+1) % 5 = 1

1 1 (1*3+1) % 5 = 4

4 2 (4*3+2) % 5 = 4 (最终结果)

</CA>

最小化

根据 Myhill-Nerode 定理,在同构意义下接受一个正则语言的最少状态的确定有限状态自动机是唯一的。同时我们还存在有效的算法(时间开销是O(n^2)的)构造出与给定确定有限状态自动机等价的最小化的确定有限状态自动机。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
虽然不是入门教材,但个人感觉这才是真正的“计算机文化基础”,看看章节目录就会爱不释手。<br><br>目录<br>1、1字符串、字母表和语言<br>第一章 预备知识<br>1、2图和树<br>1、3归纳证明<br>1、4集合<br>1、5关系<br>1、6本书提要<br>2、1有穷状态系统<br>第二章 有穷自动机和正规表达式<br>2、2基本定义<br>2、3非确定有穷自动机<br>2、4具有∈动作的有穷自动机<br>2、5正规表达式<br>2、6双向有穷自动机<br>2、7具有输出的有穷自动机<br>2、8有穷自动机的应用<br>3、1正规集合的泵作用引理<br>第三章 正规集合的性质<br>3、2正规集合的封闭性质<br>3、3正规集合的判定算法<br>3、4Myhill-Nerode定理和有穷自动机的最小化<br>4、1动机和引言<br>第四章 上下文无关文法<br>4、2上下文无关文法<br>4、3派生树<br>4、4上下文无关文法的简化<br>4、5Chomsky范式<br>4、6Greibach范式<br>4、7固有多义上下文无关语言的存在性<br>5、1非形式描述<br>第五章 下动机<br>5、2定义<br>5、3下动机和上下文无关语言<br>6、1关于CFL的泵作用引理<br>第六章 上下文无关语言的性质<br>6、2CFL的封闭性质<br>6、3有关CFL的判定算法<br>7、1引言<br>第七章 图灵机<br>7、2图灵机模型<br>7、3可计算语言和可计算函数<br>7、4图灵机构造技术<br>7、5图灵机的修改<br>7、6Church假设<br>7、7作为枚举器的图灵机<br>7、8等价于基本模型的受限图灵机<br>8、1问题<br>第八章 不可判定性<br>8、2递归语言和递归可枚举语言的性质<br>8、3通用图灵机和一个不可判定问题<br>8、4Rice定理和某些其它的不可判定问题<br>8、5Post对应问题的不可判定性<br>8、6图灵机的有效计算和无效计算:证明CFL问题不可判定性的一个工具<br>8、7Greibach定理<br>8、8递归函数论初步<br>8、9Oracle计算<br>9、1正规文法<br>第九章 Chomsky谱系<br>9、2无限制文法<br>9、3上下文有关语言<br>9、4语言类之间的关系<br>第十章 确定的上下文无关语言<br>10、1DPDA的标准形式<br>10、2DCFL在补运算下的封闭性<br>10、3预测机<br>10、4DCFL的其它封闭性质<br>10、5DCFL的判定性质<br>10、6LR(0)文法<br>10、7LR(0)文法与DPDA<br>10、8LR(k)文法<br>11、1三元族和完全三元族<br>第十一章 语言族的封闭性质<br>11、2广义时序机映射<br>11、3三元族的其它封闭性质<br>11、4抽象语言族<br>11、5AFL运算的独立性<br>11、6小结<br>12、1定义<br>第十二章 计算复杂性理论<br>12、2线性加速、带压缩和带数目的减少<br>12、3谱系定理<br>12、4复杂性量度间的关系<br>12、5转换引理和非确定谱系<br>12、6一般复杂性量度的性质:间隙定理、加速定理和并定理<br>12、7公理化复杂性理论<br>13、1多项式时间和空间<br>第十三章 难解型问题<br>13、2某些NP完全问题<br>13、3co-NP类<br>13、4PSPACE完全问题<br>13、5对于P和NSPACE(logn)的完全问题<br>13、6某些可证明的难解型问题<br>13、7对于带Oracle的图灵机的P=NP问题:辨别是否P=NP时我们能力的限度<br>14、1辅助下动机<br>第十四章 其它重要语言类集锦<br>14、2栈自动机<br>14、3加标语言<br>14、4发展系统<br>14、5小结<br>参考文献<br>汉英名词索引<br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值