概念
有限状态自动机是一种模型。它的内部有多种状态,并在给定的输入下,会切换到另外的状态。
定义有限状态自动机是一个五元组:M=(Q, Σ, δ, q0, F),其中:
- Q:所有状态的非空有限集合。∀q∈Q,q是M的一个状态。
- Σ:输入字母表。即所有输入必须在这个字母表中。
- δ:状态转移函数。规定了状态机在某种状态时,接受到特定的输入时会跳转到哪个(或哪些)状态。
- q0:M的开始状态。
- F:M的接收状态。当有限自动状态机运行到这一状态时,表示之前的输入是可接受的。F可以是一组状态,但必须被Q包含。
当状态转移函数规定了跳转到哪一个状态时,这个状态机被称为确定的有限状态自动机(DFA),当状态转移函数规定了跳转到至少一个状态时,这个状态机被称为不确定的有限状态自动机(NFA)。
不确定的有限自动状态机
如果一个状态机在同一状态接收到相同输入时,可能会转移到多种不同的状态,那么这个状态机就是不确定的状态机。
状态机通常使用状态图来描述。在状态图中,每一个圆都表示一个状态。接受状态一般用两个同心圆表示。箭头表示在给定输入下的状态转移。
在上面的状态机中,共有三个状态:1、2、3。其中