自动机理论简述
因为本人从前仅仅是在学习算法竞赛时听说过自动机,但全然没有任何了解,今天在研究流密码的时候又涉及到了自动机理论的知识,所以考虑到是时候对自动机理论中的DFA和NFA概念及应用有一个系统的认识了,于是有了这篇文章,算是一个对自己学习的帮助也方便以后的复习与回顾。
这篇文章是本人自己边学习边整理出来的,主要参考了http://www.wikipedia.org/与刘汝佳先生编写的《算法竞赛入门经典(第2版)》 。出于对为维基百科词条编写人员与刘汝佳先生所付出的劳动的尊重,若转载,请注明出处。
鄙人才疏学浅,如有谬误,还请各位前辈批评指正。
一、自动机理论简述
自动机理论,是理论计算机科学的主干内容之一,他为计算机算法,计算机密码学提供了一定的技术支持。
自动机是有限状态机(FSM)的数学模型。
二、有限状态机的概念与分类
有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。
通俗点就是说,给你有限个状态,这有限个状态之间存在着转移和动作等行为,那么我们称他为有限状态机。
1.状态(state)存储关于过去的信息,就是说:它反映从系统开始到现在时刻的输入变化。
2.转移(transition)指示状态变更,并且用一定的条件来描述它,这种条件必须确使转移能够发生。
3.动作(action)是在给定时刻要进行的活动的描述。
我们通常使用状态图(图1为电梯门摩尔机的状态图)来表示有限状态机,虽然状态图并不够严谨,但是对于算法竞赛以及密码学来说是具有实践意义的。
图1
有限状态机的可以分为接受器(识别器,亦称序列检测器)与变换器。
1.接受器和识别器(也叫做序列检测器)产生一个二元输出,说要么“是”要么“否”来回答输入是否被机器接受。接受器不使用动作。
2.变换器分为两种Moore机和Mealy机。变换器使用动作。
上述有限状态机的分类进一步又可以分为确定型有限状态自动机和非确定型有限状态自动机。<