跳转至

Lecture 8: 有限状态机 Finite State Machine

概述

有限状态机(有时称为有限状态自动机 finite state automaton)是一种可以用硬件或软件实现的计算模型。
可以用来模拟时序逻辑和一些计算机程序。
有限状态自动机生成正则语言。Finite state automata generate regular languages.
它可用于对许多领域的问题进行建模,包括数学、人工智能、游戏和语言学。

两大有限状态机

  • Mealy State Machine 米利型有限状态机:基于它的当前状态输入生成输出
  • Moore State Machine 摩尔型有限状态机:输出只由当前的状态所确定

有限状态机的特殊类型

  • DFA 确定性有限状态自动机:每个节点的每个字母只有一种转移路径
  • NFA 非确定有限状态自动机:每个节点的每个字母有多种可能的转移

FSM 的优点

  • 灵活
  • 易于从抽象转移到代码执行
  • 对处理器的开销比较低
  • 可以轻松确定状态的可达性

FSM 的缺点

  • 不适用于所有的领域
  • 在游戏等领域,可能不需要 FSM 的预期特性(expected character)
  • 状态转移的顺序不灵活
  • 如果没有设计理念,那么大型的 FSM 将难以管理