有限自动机和有限状态机有什么区别?


16

我已经在数字时序电路设计中使用了FSM。但是我不熟悉有限自动机。有人可以帮助我理解两者之间的“基本”区别吗?


5
摘自Wikipedia:“ ...在自动机理论中,理论计算机科学的一个分支,确定性有限自动机(DFA)(也称为确定性有限状态机)是一种有限状态机,它接受/拒绝有限的符号串,并且仅产生每个输入字符串的自动机的唯一计算(或运行)...”。DFA是自动机理论中使用的首选术语,FSM是实际应用中使用的首选术语。
2013年

4
我认为FSM更具包容性,包括Mealy和Moore自动机。NFA是一种特定的模型。
拉斐尔

@Raphael:我同意你的观点,FSM的范围更广(甚至维基百科也对换能器,接受器,分类器和音序器进行了区分)。“ DFA”〜“ FSM接受器”(仅是/否输出的FSM)...此外,电路设计中的FSM通常使用输出...也许您可以将注释转换为答案。
2013年

就我个人而言,我使用FSM作为广义术语,包括DFA,NFA,Mealy和Moore机器,(有限状态)换能器等。只是具有有限状态空间且没有辅助内存的所有内容。
2013年

1
@Raphael在形式理论(或计算理论)中,我们更喜欢使用“自动机”一词-强调我们的机器是“自动的”机器(像计算机一样自我移动)-“自动”在某种意义上您已经定义了转换规则,则无需应用任何显式的智能程序来处理/分类字符串(您只需要在每个步骤中引用转换规则)即可。-尽管机器术语是彼此的同义词,但是机器术语在设备(而不是模型)的上下文中是首选。
Grijesh Chauhan 2014年

Answers:


12

据我了解,两者都有“状态”和“动作”,它们使机器根据输入信号从一种状态转移到另一种状态。因此,概念上的想法是相同的。细节有所不同。

在用于电路设计的FSM中,大多数输入信号假定为一位(二进制),而在有限状态自动机中,输入符号可以具有一般的“抽象”字母。其次,FSM还生成与达到的状态(也是二进制)相关的输出。在自动机术语中,这种“扩展”称为摩尔机。但是,自动机具有最终(或接受)状态,表示信号读取良好。最后,FSM主要是确定性的,即,对于处于特定状态的每个输入,都有一个下一个状态。在自动机理论中,人们还考虑了不确定性变体,人们可以在其中选择移动的位置。


6

根据我的经验以及Wikipedia的文章,有几种有限状态机,包括

到处流传的一些观念在动机上大相径庭。其中一些源自语言和/或可计算性理论,其他源自计算机体系结构。

请注意,您还可以更改几个范例以获得自动机,例如可以说仍然是有限状态自动机。

如您所见,TCS 101中讲授的香草有限自动机只是其中的一种,每种都有自己的(或多或少正式的)定义。


2

尽管他们俩所依赖的主要思想是相同的。两者都使用有限状态,并跳到另一个状态作为输入提要。但是,FSM是一台机器,例如Full adder或SR触发器,其位作为输入和输出。是的,FSA还具有位输出,非终止状态为0,终止状态为1,但这是一种抽象机制,因此没有看到。在表示它们的二合图中存在差异。另外,FSA是逻辑和计算设备,而FSM是数字逻辑设备。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.