美文网首页状态机实践
有限状态自动机-守卫版

有限状态自动机-守卫版

作者: wenyu7980 | 来源:发表于2019-10-26 14:04 被阅读0次

    有限状态自动机概述
    有限状态自动机-守卫版
    状态机实战-监听
    github: https://github.com/wenyu7980/statemachine

    守卫版状态机


    上一篇文章 有限状态自动机概述 简单的介绍了有限状态自动机。而这一篇文章将介绍带有守卫功能的状态机。


    守卫

    什么是守卫,守卫就判断条件,符合条件的允许通过,不符合条件的将被拒之门外。

    守卫版和无守卫版的区别

    先上张图比较下守卫版和无守卫版状态机的区别

    无守卫版:

    image.png

    守卫版:

    image.png

    守卫版中的菱形就是守卫。
    从状态机的五要素进行比较
    M=(Q, Σ, δ, q0, F)

    状态机要素 比较
    Q 状态集合 一致
    q0 始状态 一致
    F 结束状态 一致
    Σ 事件集合 不一致,守卫版的事件比无守卫版的少,但是守卫版需要上下文
    δ 状态转移函数 一致(线的总数,源状态与目标状态连线都是一致的)

    守卫上下文

    什么是上下文

    百度百科

    上下文,即语境、语意,是语言学科(语言学社会语言学、篇章分析、语用学符号学等)的概念。
    语意分析(semantic analysis)技术系指将一长串的文字或内容,从其中分析出该个段落的摘要以及大意,甚至更进一步,将整篇文章的文意整理出来。此项技术可以应用在解读影片、音讯等档案,使得搜索引擎能够搜寻到文字以外的物件,方便使用者省去大量时间观看影片、聆听音讯,同时也可以帮助使用者提前了解影片与音讯的内容。

    简单点说就是,我们经常会用一些代词,比如,这个,那个,this,that 等;如果只听这句话你是听不懂的。 这其中的这句话是哪句话呢?如果没有前言后语的话,我们是不知道的。而这些前言后语组成的就是语境,或者说上下文

    守卫版的状态机状态迁移表(状态转移函数)

    源状态 事件 守卫条件 目标状态
    待审核 审核 通过 审核通过
    待审核 审核 拒绝 审核拒绝

    比无守卫版多了一个守卫条件

    总结

    守卫版状态机通过引入上下文,可以减少事件的数量,但又没有改变状态机的状态转移,这样可以更加灵活的设计程序和编程代码。

    相关文章

      网友评论

        本文标题:有限状态自动机-守卫版

        本文链接:https://www.haomeiwen.com/subject/ohiyvctx.html