MIT《计算机科学数学》Chaper06-State Machine

来源:互联网 发布:以太网是什么网络 编辑:程序博客网 时间:2024/06/05 22:44

状态机:状态机是一种简单、抽象的用于描述每一步可能执行操作(输出)的模型,每一个步骤的输出都取决于输入和当前状态,一般所指的状态机都是有限状态机,如果当前状态是无限的,不能确定其个数(比如人物的状态这是无限的),则被称为无限状态机,状态机中若存在某个状态则说明该状态可达,若某些时候状态机出现多个可能的次态,则状态机不可定,其中每个状态机都有相应的“状态”与“变换”;

不变量原则:在状态机的状态转变过程中,存在着从初始态到现态或所有次态都不变量,这些量即使在状态的不断转变过程中也被保留下来,这些量被称为“不变量”;

部分正确:状态机的“部分正确性”不是指状态机每次可能出现正确或者不正确的结果,而是指状态机要么产生一个最终结果要么陷入一个循环中;其次,正确性的第二个含义是指状态机每次运行最终一定会产生一个最终值(要么是最终结果要么是一个状态);

衍生变量:衍生变量是指在状态机运行过程中那些用于标记状态的值,如状态机在状态转变过程中衍生变量逐渐变小,根据良序定理可知一定存在着最终的状态值,这时状态机进入最终状态,同时这些值往往可以用于算法分析;

由于本人离散数学基础一般,在网上也查了很多有关状态机这一部分资料,Tcp/IP就是一个典型的状态机,在编程中已经被大神们运用自如,有人用Ruby实现event-matchine,iOS实现的状态装换自动执行前期操作序列;除此之外《编译原理》中也有很多状态机的例子,还有很多要学习的呀!

原创粉丝点击