是否有任何非自动机?


35

在自动机理论中,我们从一开始就将自动机视为有限自动机。我想知道的是,为什么自动机是有限的?明确地说,在一个有限的自动机中,它是什么-字母,语言,用正则表达式构成的字符串,还是什么?并且(理论上)有非自动机吗?


1
当然不是语言或“用正则表达式构成的字符串”;许多简单的正则表达式与无数个字符串匹配(但是它们可以由有限的自动机识别。)
Alexis

我问铭记的infinte一个问题:cs.stackexchange.com/questions/55864/...
话像贾里德

Answers:


34

通常会遇到的所有自动机模型都是有限表示的。否则,将会有无数的数量,这意味着它们不会被图灵完备模型捕获。或者,按照CS的想法,它们将毫无用处¹。

之所以称为“有限自动机”,是因为它们只有一组有限的配置(不包括输入字符串)。例如,下推式自动机具有可以包含任意内容的堆栈-有无限多种可能的配置。


注意:PDA的配置仍然有限!实际上,任何属于图灵可计算性的计算模型都必须具有可有限表示的配置,否则TM将无法模拟它们。


  1. 出于这个问题的目的,我在这里有意识地忽略了过度计算。

评论不作进一步讨论;此对话已转移至聊天
拉斐尔

32

全名是“有限状态自动机”。至关重要的部分是,自动机的状态可以完全由某些离散状态的有限集合的元素来表征。这意味着,如果自动机的(相关)状态涉及实数值变量,则存在无限数量的潜在状态(不考虑浮点表示的有限性),并且自动机不是有限的。

这在理论计算机科学中可能永远不会发生,但是在对实数序列建模的领域中并不太奇怪。隐马尔可夫模型可用于将一个数列建模为概率系统的输出,该概率系统由一个(状态不明的)(离散,有限)马尔可夫模型的每个状态的输出滤波器组成。过滤器从先前输出的向量(“自回归”模型)计算出下一个实值输出,但是底层的马尔可夫模型是有限的,因为其转移概率仅取决于当前的马尔可夫状态。

但是,本文全文)提出了一种变体,其中转换概率还取决于先前输出的实数向量。该系统的状态是离散马尔可夫状态和实数元组的组合(“混合状态马尔可夫模型”),因此它可以处于无限多个不同状态。

简而言之,非有限自动机在理论上是明确定义的,有时甚至会遇到。


1
全面披露:我是上述论文的作者之一。我不确定这是否被认为是适当的披露或无关紧要的自我促进……
Alexis

6
我认为在适当的地方引用自己的作品是完全可以的-如果您是某个主题的领先专家之一,我们很高兴有您!-像您这样简单地披露就足够了。谢谢!
拉斐尔

有限状态自动机不包括下推自动机,对吗?一直到实数状态是否有特定原因?我不确定我是否在这里遗漏了一些东西,说明为什么这个明显的例子不起作用,或者您只是碰巧选择了一个不寻常的例子而已。
Mehrdad

1
我认为他想问的是为什么您不使用下推式自动机等更传统的非FSA,而不是跳转到诸如实值状态变量之类的东西。
user2357112支持Monica's

1
好吧,主要是因为这就是我想到的例子!而且混合状态马尔可夫模型的“状态”由固定数量的参数组成,但是仍然存在无限数量的状态(定义为当前位置+转移概率),因为某些参数是实数(但会影响过渡,而不仅仅是输出)。在PDA的情况下,非无限性来自堆栈的无限大小。但是仍然只有有限数量的规则,这些规则的长度是有限的,因此仅一步之遥,就只有有限数量的可能行​​为。
Alexis

19

在有限的自动机中,有相当多的有限度:状态数,基础字母的大小以及机器接受的字符串的长度。

通过允许机器具有无限多个状态,您当然可以放宽这些机器上的有限性条件,但是如果您这样做,最终的机器将变得毫无意义,因为这样的机器可以设计为完全接受任何语言。


如果只有字母是无限的怎么办?例如,如果我们正在对自然数使用正则表达式该怎么办?那可能吗?
parvin

8
如果自动机是有限的,但是字母是无限的,则自动机将在每个状态之外具有有限数量的转换。与转换之一无关的任何字符都不会被自动机识别。结果,您可以将有限字母替换为仅包含出现在自动机转换中的字符的有限字母,并且自动机仍将接受完全相同的语言。
凯文-恢复莫妮卡

3
@parvin并非如此。然后,您需要在(有限数量的)状态之间进行无限数量的转换-您仍然无法表示。如果您使用谓词(例如“所有偶数输入都从A到B,所有奇数输入都从A到C”),则基本上可以将字母分解为有限数量的等价类。
Bergi '17

@Kevin,这取决于您如何定义“有限数量的转换”。考虑一个普通的(有限的)FSA,根据自然数的任何有限划分来选择下一个状态:例如,除以7的余数。或者考虑一个涉及实数的类似情况。状态图是完全有限的,但在无限字母上定义良好。
Alexis

@Parvin我会说答案是“是”(请参阅​​我以前的评论)。
Alexis

10

实际上,在自动机理论中(与Kleene,Rabin和Scott的渊源大相径庭),有许多形式的自动机不是有限的。出现这种情况有几个原因。

下推自动机例如,机是具有无限配置集的自动机(这些状态具有有限数量的状态,但实际情况是应将这些状态视为“无限自动机”)。

同样,存在无限自动机的其他示例,其状态空间是无限的,但是具有很多结构。例如,有人认为一类自动机具有状态空间(有限维)向量空间,以及线性函数的过渡函数(加上一些初始和最终事物)。这些被称为基域上的加权自动机(由于Schützenberger在61年提出)。这些可以最小化并进行相等性测试。其他示例包括(具有相同的表现力,但具有更好的基础和属性)。这种自动机的空虚是可以决定的。寄存器自动机(这些自动机具有一组有限的寄存器,并且可以处理无限个字母:这些自动机可以将字母与寄存器进行比较并将字母存储在寄存器中),以及更现代的名义自动机形式

一种一种üü一种,并且该状态属于L)。还有一个最终对象(具有状态语言!)。这两个对象的存在是从高层次上解释为什么确定性自动机可以最小化并与Myhill-Nerode同余紧密联系的一种方式。

总而言之,存在无限的自动机,但在讲座中首先研究的模型始终是有限状态的。


2

我认为问题是基于这样的结论:存在时就没有无限状态自动机,它们不值得提出。

在自动机理论中,存在着不同虚拟模型的力量等级。我学到的那个有4个(我记得,已经有一段时间了),我在Wikipedia上找到的那个有5个。在有限状态自动机中最弱的一个,图灵机最强。有一些概念比图灵机更强大,它被称为超计算。虚拟机的许多不同描述都属于这些级别之一。图灵机对于众多型号都具有相同水平的计算能力尤为著名。

至少已正式定义的无限状态自动机将落入这些级别之一。在显示无穷状态自动机的某种严格定义如何适合这些级别之一时,可能会有些有趣,但是除此之外,鉴于存在更多研究得很好的代表每个级别的虚拟机,它将没有太大用处。这类似于对十亿个磁带图灵机没有多大兴趣,因为它不会比一台磁带图灵机强大,但处理起来却更复杂。

现在,如果您碰巧发现了一个不等同于现有层次结构的无限状态自动机,那可能很有趣。但是如果不这样做,则无限状态自动机已经在现有层次结构中被捕获,并且考虑到处理无限性带来的额外复杂性,我们只是避免它们,就像避免任何过于复杂的Turing机器模型一样。


2

确定性有限状态机的(天真的)无限版本太强大了。这样的事情根本可以“记住”任何语言,因此从考虑它们的过程中可以学到的东西并不多。

例如,在一个二进制字母上,考虑一个无限高度的完整二进制树形式的自动机。您可以考虑作为输入的每个可能的字符串都唯一地对应于树的节点,因此您可以简单地通过使相应的节点接受状态来为任何语言构造一个决策程序。

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.