在自动机理论中,我们从一开始就将自动机视为有限自动机。我想知道的是,为什么自动机是有限的?明确地说,在一个有限的自动机中,它是什么-字母,语言,用正则表达式构成的字符串,还是什么?并且(理论上)有非自动机吗?
在自动机理论中,我们从一开始就将自动机视为有限自动机。我想知道的是,为什么自动机是有限的?明确地说,在一个有限的自动机中,它是什么-字母,语言,用正则表达式构成的字符串,还是什么?并且(理论上)有非自动机吗?
Answers:
全名是“有限状态自动机”。至关重要的部分是,自动机的状态可以完全由某些离散状态的有限集合的元素来表征。这意味着,如果自动机的(相关)状态涉及实数值变量,则存在无限数量的潜在状态(不考虑浮点表示的有限性),并且自动机不是有限的。
这在理论计算机科学中可能永远不会发生,但是在对实数序列建模的领域中并不太奇怪。隐马尔可夫模型可用于将一个数列建模为概率系统的输出,该概率系统由一个(状态不明的)(离散,有限)马尔可夫模型的每个状态的输出滤波器组成。过滤器从先前输出的向量(“自回归”模型)计算出下一个实值输出,但是底层的马尔可夫模型是有限的,因为其转移概率仅取决于当前的马尔可夫状态。
但是,本文(全文)提出了一种变体,其中转换概率还取决于先前输出的实数向量。该系统的状态是离散马尔可夫状态和实数元组的组合(“混合状态马尔可夫模型”),因此它可以处于无限多个不同状态。
简而言之,非有限自动机在理论上是明确定义的,有时甚至会遇到。
在有限的自动机中,有相当多的有限度:状态数,基础字母的大小以及机器接受的字符串的长度。
通过允许机器具有无限多个状态,您当然可以放宽这些机器上的有限性条件,但是如果您这样做,最终的机器将变得毫无意义,因为这样的机器可以设计为完全接受任何语言。
实际上,在自动机理论中(与Kleene,Rabin和Scott的渊源大相径庭),有许多形式的自动机不是有限的。出现这种情况有几个原因。
下推自动机例如,机是具有无限配置集的自动机(这些状态具有有限数量的状态,但实际情况是应将这些状态视为“无限自动机”)。
同样,存在无限自动机的其他示例,其状态空间是无限的,但是具有很多结构。例如,有人认为一类自动机具有状态空间(有限维)向量空间,以及线性函数的过渡函数(加上一些初始和最终事物)。这些被称为基域上的加权自动机(由于Schützenberger在61年提出)。这些可以最小化并进行相等性测试。其他示例包括(具有相同的表现力,但具有更好的基础和属性)。这种自动机的空虚是可以决定的。寄存器自动机(这些自动机具有一组有限的寄存器,并且可以处理无限个字母:这些自动机可以将字母与寄存器进行比较并将字母存储在寄存器中),以及更现代的名义自动机形式
,并且该状态属于L)。还有一个最终对象(具有状态语言!)。这两个对象的存在是从高层次上解释为什么确定性自动机可以最小化并与Myhill-Nerode同余紧密联系的一种方式。
总而言之,存在无限的自动机,但在讲座中首先研究的模型始终是有限状态的。
我认为问题是基于这样的结论:存在时就没有无限状态自动机,它们不值得提出。
在自动机理论中,存在着不同虚拟模型的力量等级。我学到的那个有4个(我记得,已经有一段时间了),我在Wikipedia上找到的那个有5个。在有限状态自动机中最弱的一个,图灵机最强。有一些概念比图灵机更强大,它被称为超计算。虚拟机的许多不同描述都属于这些级别之一。图灵机对于众多型号都具有相同水平的计算能力尤为著名。
至少已正式定义的无限状态自动机将落入这些级别之一。在显示无穷状态自动机的某种严格定义如何适合这些级别之一时,可能会有些有趣,但是除此之外,鉴于存在更多研究得很好的代表每个级别的虚拟机,它将没有太大用处。这类似于对十亿个磁带图灵机没有多大兴趣,因为它不会比一台磁带图灵机强大,但处理起来却更复杂。
现在,如果您碰巧发现了一个不等同于现有层次结构的无限状态自动机,那可能很有趣。但是如果不这样做,则无限状态自动机已经在现有层次结构中被捕获,并且考虑到处理无限性带来的额外复杂性,我们只是避免它们,就像避免任何过于复杂的Turing机器模型一样。
确定性有限状态机的(天真的)无限版本太强大了。这样的事情根本可以“记住”任何语言,因此从考虑它们的过程中可以学到的东西并不多。
例如,在一个二进制字母上,考虑一个无限高度的完整二进制树形式的自动机。您可以考虑作为输入的每个可能的字符串都唯一地对应于树的节点,因此您可以简单地通过使相应的节点接受状态来为任何语言构造一个决策程序。