有限状态机(finite-state machine,fsm),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。
概念和术语
状态存储关于过去的信息,就是说:它反映从系统开始到现在时刻的输入变化。转移只是状态变更,并且用必须满足来确使状态转移发生的条件来描叙她。动作是在给定时刻要进行的活动的描述。有多种类型的动作:
进入动作(entry action):在进入状态时进行
退出动作:在退出状态时进行
输入动作:依赖于当前状态和输入条件进行
转移动作:在进行特定转移时进行
fsm(有限状态机)可使用上面图那样的状态图(或状态转移图)来表示。此外可以使用多种类型的状态转移表。下面展示最常见的表示:当前状态(X)和条件(Y)的组合指示出下一个状态(C)。完整的动作信息可以只使用脚注要增加。包括完整动作信息的FSM定义可以使用状态表。
状态转移表
当前状态-> 条件| |
状态A | 状态B | 状态C |
条件X | ... | .... | ... |
条件Y | ... | 状态C | .... |
条件Z | ... | ... | ... |
除了建模这里介绍的反应系统之外,有限状态自动机在很多不同领域中是重要的,包括 电子工程 、 语言学 、 计算机科学 、 哲学 、 生物学 、 数学 和 逻辑学 。有限状态机是在 自动机理论 和 计算理论 中研究的一类自动机。在计算机科学中,有限状态机被广泛用于建模应用行为、硬件电路系统设计、软件工程,编译器、网络协议、和计算与语言的研究。