有穷自动机 DFA(确定)和NFA(不确定)

有穷自动机分为DFA和NFA两种。分别为确定的和不确定的两种形式。

DFA部分:

一个确定的有穷自动机是一个五元组  M=(K,Σ,f,S,Z)各自的意义分别为:

K 状态集合,有限集合
Σ 有穷字母表,它的每个元素称为一个输入符号
f 状态转换函数, f K × Σ→K 的映射,且为单射。例 f (k i ,a)=k j 表示当前状态为 k i ,输入符号 a ,经状态转 换函数转向状态 k j
S 唯一的一个初始状态, S K
Z 终止状态集, ZS , 终态也称为可接受状态
DFA的状态转换图 : DFA M 含有 m 个状态, n 个输入字符,则状态转换 图有 m 个结点,每个结点至多有 n 条箭弧射出,每条箭弧用 Σ 中一 个不同的输入字符做标记。
如: DFA M=( K, Σ, f , S, Z ) = ( {S, U, V, Q}, {a,b}, f , S, {Q})
f (S,a) = U   f (S,b) = V   f (U,a) = Q   f (U,b) = V   f (V,a) = U   f (V,b) = Q   f (Q,a) = Q   f (Q,b) = Q

 在状态转换图中开始的状态是需要有一个箭头指向的,终止的状态是一个双圈的。

DFA的特点:
(1) 初态唯一
(2) 输入字符不包括ε(空串)
(3) 有向边上只有一个字符
(4) 一个状态对于某个字符,最多只有一条出边
可被 DFA 识别癿单词符号
* 中任意符号串 t ,若存在从初态到某一终态的 通路,且通路上所有弧标记符连接成的字等于 t
则称 t 可为 DFA 所识别 ( 读出或接受 ) 即对于任意字符串 t Σ, f (S t)=P, P Z
可识别空串
M的 初态结点同时也是终态结点,则空字 ε 可为 M 所识别。
f (k i ε)= k i
NFA部分:
不确定有限自动机NFA定义:
NFA是一个五元组, M=(K, Σ, f , S, Z)  标红的部分是和DFA不同的地方
K 状态集合,有限集合
Σ 有穷字母表,它的每个元素称为一个输入符号
f : 状态转换函数, f K × Σ * →K 的全体子集映射
S : 非空初始状态集, SK
Z 终止状态集, ZK , 可为空集
3. NFA的特点:
(1) 初态不 唯一
(2)输入字符包括ε(空串)
(3)有向边上可以为 字符串
(4)一个状态对于某个字符,可能有 多条输出 ,即状态的后继不唯一。
DFA是NFA的特例
有穷自动机的等价性
对于每个NFA M,存在一个DFA M’使得 L(M)=L(M’)
对于任何两个有穷自动机,如果L(M)=L(M’), 则称M与M‘是等价的
  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

用编程写诗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值