在状态机中,据说它只保存有关当前状态的信息,并根据输入,将下一个状态转换为。
如果存在其他条件,例如:
状态A(输入X)---> B国
国家B
(输入X)AND(SomeValue> = 100)--->国家C
(输入X)AND(SomeValue< 100)--->国家D
这仍然是状态机吗?
答案 0 :(得分:0)
状态机没有内存(如有限自动机),访问受到某种限制的内存(例如具有堆栈访问权限的下推自动机),或访问基本上无限制的内存(如图灵机或随机访问机) (内存))。我认为将所有这些东西称为状态机是公平的,因为它们会根据内部状态改变行为。
如果自动机没有写入内存,而只是读取内存,并且它无法“返回”并读取它之前读过的内存,那么无论它正在读取什么内存,它都相当于没有内存而只是简单响应它收到的正常输入。例如,一个无法写入并且只能从左到右读取其磁带的图灵机等同于有限自动机;无法将符号推入堆栈的下推自动机等同于有限自动机;等
如果自动机可以写入内存的内容并且能够最终读回那些内容 - 并且如果可以如此操作的内存量不固定 - 那么它仍然是状态机但不再等同于有限自动机。请注意,我说不能修复内存量:如果内存量是固定的,那么任何使用它的机器都相当于一个有限自动机,它对所有内存的每个可能配置都有重复状态。即使你现在使用的计算机也没有比有限自动机更强大的功能:事实上,你的计算机比普通的有限自动机强大得多,因为有无数的常规语言是任何可物理实现的计算机都无法接受的。