0
点赞
收藏
分享

微信扫一扫

什么是状态机

沐之轻语 2022-02-08 阅读 263
状态模式

什么是状态机

一、状态机的基本定义

状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型

什么是状态

现实实物是有不同的状态的,对于一个门来讲,有两种状态。我们通常所说的状态机就是有限状态机,也就是被描述的事物的状态的数量是有限个,就比如门的两种状态。

状态机

状态机也就是State Machine,不是指一台实际机器,而是指一个数学模型。说白了也就是一张状态转换图。例如,根据自动门的运行规则,我们可以抽象出这样一张图
在这里插入图片描述
自动门有两个状态,open 和 closed ,closed 状态下,如果读取开门信号,那么状态就会切换为 open 。open 状态下如果读取关门信号,状态就会切换为 closed 。

状态机的全称是有限状态自动机,自动两个字也是包含重要含义的。给定一个状态机,同时给定它的当前状态以及输入,那么输出状态时可以明确的运算出来的。例如对于自动门,给定初始状态 closed ,给定输入“开门”,那么下一个状态时可以运算出来的。

这样状态机的基本定义我们就介绍完毕了。重复一下:状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。

二、状态机的四大概念

1、State

第一个是状态。一个状态机至少要包含两个状态

2、Event

第二个是事件,事件就是执行某个操作的触发条件或者口令,对于门,按下开门按钮就是一个事件。

3、Action

第三个是动作,事件发生以后要执行动作,例如事件是按下开门按钮,动作就是开门,在实际编程中,一般一个Action就对应一个函数

4、Transition

第四个是变换,也就是从一个状态变化为另一个状态,例如开门过程就是一个变换

举报

相关推荐

0 条评论