《软件开发的形式化方法-古天龙》笔记(2)

第二章 有限状态机及其扩展

2.1 有限状态机

2.1.1 基本概念

有限状态机是一个五元组M = \left ( Q,\Sigma ,\delta ,q_{0},F \right ),分别为有限状态集合,有限输入字符集合,状态转移函数,初始状态,终结状态集合。

状态转移矩阵:行表示状态机当前所处的状态,列表示将要到达的下一个状态,行列交叉处表示输入字符。

状态转移表

状态转移图

有限字母表:由有限任意符号组成的非空集合,简称字母表,用\Sigma表示

字符串:由字符组成的限序列

  • 空串\varepsilon
  • 字符串长度:|a|
  • 字符串连接:一次把两个字符串串接在一起,用 · 表示,也可以略去不写
  • 字符串的重复连接:\alpha ^{n}表示字符串\alpha重复拼接n次

语言:给定字母表\Sigma上的字符串的集合,空语言用\Phi表示。字母表\Sigma上的所有字符串连同空串\varepsilon一起构成的语言用\Sigma^{*}表示

扩展转移函数\bar{\delta }:对于有限状态机M = \left ( Q,\Sigma ,\delta ,q_{0},F \right ),它的扩展转移函数\bar{\delta },是从Q \times \Sigma^{*}Q的映射,具体定义如下:

  1. \delta \left ( q,\varepsilon \right ) = q;
  2. \delta \left ( q, w\sigma \right ) = \delta\left ({\bar\delta\left ( q,w \right ),\sigma } \right ),其中q属于Q,w属于\Sigma^{*}\sigma属于\Sigma

有限状态机所接受的语言:设有M = \left ( Q,\Sigma ,\delta ,q_{0},F \right ),对于输入串x属于\Sigma^{*},有\delta \left ( q_{0} ,x\right ) = q^{'},q^{'}属于F,则称字符串x被有限状态机所接受。进一步地,被M所接受的全部字符构成的集合,称为有限状态机M所接受的语言。

有限状态机仅接受某一种字母表上的输入符号串并发生状态改变,但无任何字符串输出的自动机器。

Mooer机:输出与状态有关

Mealy机:输出与状态和输入有关


Mooer机形式定义为M = \left ( Q, \Sigma , \Delta , \delta , \lambda , q_{0}\right)分别表示为有限状态集合,有限输入字符集合,有限输出字符集合,状态转移函数,输入函数,初始状态。\deltaQ \times \Sigma \rightarrow 2^{Q}是状态转移函数

Mealy机形式定义为M = \left ( Q, \Sigma , \Delta , \delta , \lambda , q_{0}\right)分别表示为有限状态集合,有限输入字符集合,有限输出字符集合,状态转移函数,输入函数,初始状态。

  • \deltaQ \times \Sigma \rightarrow 2^{Q}是状态转移函数
  • \lambdaQ \times \Sigma \rightarrow \Delta是输出函数

2.1.2 有限状态机的复合

  • 同步积复合,一次只接受一个输入
  • 异步积复合,一次只接受一个输入,一次只改变一个状态

2.1.3 生产者-消费者系统

猜你喜欢

转载自blog.csdn.net/volunteer1024/article/details/89282935
今日推荐