【发布时间】:2009-12-04 11:27:55
【问题描述】:
我知道 FSM 可以转换到下一个状态,甚至可以转换到当前状态,即转换到自身的状态,但是将状态转换到上一个状态是否合法(状态 C 转换到状态 B) ?
【问题讨论】:
标签: state-machine
我知道 FSM 可以转换到下一个状态,甚至可以转换到当前状态,即转换到自身的状态,但是将状态转换到上一个状态是否合法(状态 C 转换到状态 B) ?
【问题讨论】:
标签: state-machine
是的,许多实用的 FSM 实际上会这样做。考虑一个 FSM,它识别由一个或多个空格分隔的有效数字字符串。这将从“数字”状态开始,并在某个点转换到“空间”状态,然后它很可能会从“空间”状态转换回“数字”状态。
【讨论】:
FSM 的“下一个状态”定义为机器将在下一个“时间片”或下一个输入到达时转换到的状态。
如此定义,C 的下一个状态可以是 C 本身、B、A、D、ZORG 或机器中的任何状态。字母不定义什么是前一个和什么是下一个,只定义 FSM 的逻辑流程。
来自维基百科页面的状态机:
http://en.wikipedia.org/wiki/File:Finite_state_machine_example_with_comments.svg
【讨论】: