有限状态机

状态转移函数

句子识别:给定一个字符串,判定是否属于给定语法G的语言L(G)

一个系统,接受输入,改变自身的状态,产生输出

状态指为了完成机器的任务而对输入序列进行的一种临时归类

在逐个接受输入字符的过程中,机器状态回发生多次改变,最终会停止在某个状态,并有输出产生

如果对于所有的输入,机器状态的数目有限,称为有限状态机(Finite State Machine)

有限状态机是一个五元组M(A,S,Y,s0,F)

A:输入字符串的字母表
​
S:机器的有限状态集合
​
Y ⊆ S:被称作"**接受**"的一些状态
​
s0∈S:初始状态
​
F:S×A->S:状态转移函数,指明在某个状态下接受输入字符所引起的状态变迁

举个例子:

A={a,b}

S={s0,s1,s2},Y={s0,s1},s0初始状态

F如下表:

Fab
s0s0s1
s1s0s2
s2s2s2

①:在s0的状态下,输入a,状态还在s0;输入b时,状态改变为s1。

②:在s2的状态下,不管输入a还是b,状态都停留在s2,机器无法离开这个状态(这里s2具有陷阱性质,一旦进入就出不来了)

状态图

状态图 (Statechart Diagram)是描述一个 实体 基于事件反应的 动态 行为 ,显示了该实体如何根据当前所处的状态对不同的事件做出反应

  • 有限状态机(Finite State Machine)通常用状态图来表示。

  • 状态图D=D(M)是边带标记有向图

  • 节点为状态,转移函数决定边的走向和标记。

  • 接受状态用双圈来表示。

  • 边的定义:如果F(sj,a)=sk,则从节点sj做标记为a的有向边到节点sk。(sj----a----->sk)

  • 初始状态s0用一个特殊的无源箭头标识。

正则语言和有限状态机

利用Kleen定理将正则语言和有限状态机结合

Kleen定理:字母表A上的形式语言L是正则的当且仅当存在一个有限状态机M使得L=L(M)

举个例子:

构造自动机M,识别恰好以bb结尾的字符串

正则表达式:(a|b)*bb

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值