确定最小堆(或其他奇异)状态机的功能


44

有关最小堆自动机的定义的一些说明,请参见文章末尾。

可以想象使用各种数据结构来存储供状态机使用的信息。例如,下推式自动机将信息存储在堆栈中,而图灵机使用磁带。已经证明,使用队列的状态机以及使用两个多个堆栈或磁带的状态机在功率上与图灵机相同。

想象一下一个最小堆机器。它的工作原理完全类似于下推式自动机,但以下情况除外:

  1. 不必查看添加到堆中的最后一件事,而只需查看堆中当前的最小元素(按机器定义顺序)。
  2. 不必删除当前添加到堆中的最后一个东西,而仅删除当前堆中最小的元素之一(按机器定义顺序)。
  3. 只能将元素的位置根据堆中的其他元素确定(以在每台计算机上定义的顺序),而不是在堆顶部添加元素。

只需不使用堆,该机器就可以接受所有常规语言。它也可以接受的语言通过加入一个 “S到堆,并除去一个 ”从堆S.当它读取b的。它可以接受多种其他无上下文语言。但是,它不能接受,例如,{ w ^ { b } * | w ^ = w ^ [R }{anbn{a,b}n0}aab{w{a,b}w=wR}(未经证明陈述)。编辑:还是可以?我不认为这可以,但是我以前很惊讶,而且我敢肯定,当我的假设使我变得...很好时,我会一直感到惊讶。

它可以接受任何上下文相关或图灵完备的语言吗?

更一般而言,朝着这个方向进行了哪些研究(如果有的话)?有什么结果(如果有)?我还对其他种类的奇异状态机感兴趣,可能是那些使用其他数据结构进行存储或各种访问限制(例如,如何限制LBA的TM)的机器。参考被赞赏。如果这个问题表明无知,我先向您道歉。


正式定义:

我在这里提供了最小堆自动机的一些更详细的定义,以阐明参考该材料的问题中的进一步讨论。

我们将类型1不确定的最小堆自动机定义为7元组,其中...

(Q,q0,A,Σ,Γ,Z0,δ)
  1. 是一组有限的非空状态;Q
  2. 是初始状态;q0Q
  3. 是一组接受状态;AQ
  4. 是一个有限的非空输入字母;Σ
  5. 是一个有限的,非空输入字母表,其中符号的重量 γ Γ瓦特γ Ñ,使得瓦特γ 1= 瓦特γ 2ΓγΓw(γ)N ;w(γ1)=w(γ2)γ1=γ2
  6. 是特殊底部的最堆符号;Z0Γ
  7. 为转换函数。δ:Q×(Σ{ϵ})×(Γ{Z0})P(Q×Γ)

过渡函数的工作原理是假设最初只有空堆。转换函数可以添加到堆的任意集合(有限的,但可能是空的或者用重复)的元素γ 1γ 2γ ķ∈ Γ。或者,转换函数可以删除权重w γ 最低的元素γ的实例。Z0γ1,γ2,...,γkΓγw(γ)堆上剩余的所有元素(即堆顶部的元素)的大小。过渡函数在确定任何给定过渡时只能使用最顶部(即,权重最小)的符号实例。

此外,定义了一个类型1的确定性最小堆自动机是一种1型非确定性最小堆自动机,其满足以下特性:对于所有字符串使得| x | = Ñσ ∈ Σ | δ Ñ + 1q 0X σ ÿ Ž 0| 1xσyΣ|x|=nσΣ|δn+1(q0,xσy,Z0)|1

还定义与第1类非确定性最小堆自动机完全相同的第2类非确定性最小堆自动机,除了以下更改之外:

  1. 是一个有限的,非空输入字母表,其中的符号的重量 γ Γ瓦特γ Ñ,使得瓦特γ 1= 瓦特γ 2,并不一定意味着 γ 1 = γ 2 ; 换句话说,不同的堆符号可以具有相同的权重。ΓγΓw(γ)Nw(γ1)=w(γ2)γ1=γ2
  2. 将具有相同权重的不同堆符号的实例添加到堆时,它们的相对顺序将根据后进先出(LIFO)类似于堆栈的顺序保留。

感谢Raphael指出了这个更自然的定义,该定义捕获(并扩展了)上下文无关的语言。


到目前为止,已显示一些结果:

  1. Type-1最小堆自动机可识别既不是上下文无关语言的子集也不是其超集的语言集。[ 12 ]
  2. 根据其定义,类型2最小堆自动机识别一组语言,这些语言是上下文无关语言的适当超集,以及类型1最小堆自动机接受的语言的适当超集。
  3. 类型1最小堆自动机接受的语言在联合,串联和Kleene星号下似乎是封闭的,但在补语[ 1 ],交集或差额下则不是;
  4. 类型1确定性最小堆自动机接受的语言似乎是类型1确定性最小堆自动机接受的语言的适当超集。

我可能还错过了其他一些结果。可能会有更多结果。


后续问题

  1. 倒退关闭?-开放
  2. 封闭之下互补?-不!
  3. 不确定性会增加力量吗?-是的?
  4. HALCSL
  5. 添加堆会增加类型1的功能吗?- 对于(?)的HAL1HAL2=HALkk>2
  6. 添加堆栈会增加Type-1的功率吗?-开放

1
顺便问一个好问题。我很想为这些自动机挖掘一个激进的引理。
拉斐尔

@Raphael:我认为您可以使用我的(更新的)证明来进行这样的引理:您需要在某些子字符串中“记住”线性信息以外的其他信息以正确匹配后续子字符串的任何语言都不能被解析最小堆自动机。我不确定是否可以使用真正的抽奖式引理-它最终也可能是引理的特例。
亚历克斯十布林克

@AlextenBrink由于可以使用堆符号号的组合来编码内容,因此我不确定线性绑定是否足够。
拉斐尔

Answers:


25

您可以使用这种类型的状态机识别规范的非上下文无关(但上下文敏感)语言。关键是,你添加标记到堆,每字符,并在解析字符,则添加“放大”令牌堆,所以他们只有当你已经解析所有在堆的底部,最终字符。{anbncn | n1}abb

堆符号是和,其中。我们消耗的所有输入符号,并添加符号来堆。如果遇到,则切换策略:随后遇到的每个我们都会从堆中删除,并向堆中添加。当我们遇到一个我们应该已经运行了 s到删除,然后每在剩余的输入我们删除从堆中。如果堆末尾为空,则字符串使用语言。显然,如果出现问题,我们拒绝。aba<baabbabcacb

更新:

语言最小堆自动机无法识别。假设我们确实有一个可以识别的最小堆自动机。我们在读取之后查看自动机所处的“状态” (输入的第一部分,因此是下一个)。我们唯一的状态是堆和自动它是在特定状态的内容,这意味着承认后,这个“国家”需要保持足够的信息以配合。EPAL={wwR|w{a,b}}EPALwwRwwR

特别地,为了做到这一点,必须有可能的不同“状态”(其中),因为有可能的单词由和字符组成。由于只有有限数量的状态和有限数量的堆字符,因此这意味着存在一个单词对于该单词,堆包含某个数量的指数的某个堆字符,例如。2nn=|w|2nabwx

我们首先证明确定性最小堆自动机定理,然后将此证明扩展到非确定性最小堆自动机。特别是,识别某种语言的确定性自动机不会使自己陷入无限循环,这是一个有用的属性。

我们将证明堆最多只能包含许多堆令牌,这些令牌在从输入中读取的字符数上是线性的。这立即排除了在堆上出现的次数是指数倍的情况,从而完成了最小堆自动机无法识别的证明。xEPAL

因为我们的自动机中只有有限数量的状态,并且因为确定性自动机不会将自己置于无限循环中,所以在读取输入信号时,它最多会将恒定数量的堆字符添加到堆中。类似地,在消耗一些堆符号,它最多只能添加一定数量的堆字符,这些堆字符严格大于,并且只能减少堆栈上符号的数量(否则我们将陷入无限循环)。yyy

因此,使用堆符号可能会导致(巨大的)更大的堆符号堆积,但是由于只有恒定数量的不同类型的堆符号,因此这只是一个不依赖于的常数。这意味着堆符号的数量最多是一些(大)常数乘以到目前为止读取的输入符号的数量。这就完成了确定性情况的证明。n

在非确定性情况下,证明是相似的,但是有点棘手:它没有在堆中添加最多一定数量的堆令牌,而是在堆中添加了任意数量的堆令牌。但是,关键是该数字不取决于。特别地,如果我们可以在确定后不确定地获得堆上的正确堆符号(识别),那么我们也可以不确定地选择与其他单词匹配的堆符号,从而识别,因此与最小堆自动机准确识别矛盾。nwwRwwwREPAL

更新3:我将严格地讲最后一个论点(关于非确定论)。通过上述参数,必须存在无限多个单词这样对于每个,在识别出,堆将包含元素(请注意,我们可以讨论因为我们有无限的单词集。由于我们无法通过确定性手段在堆上获得那么多元素,因此我们必须具有某种形式的循环,在这种循环中,我们首先不确定性地选择向堆中添加更多元素(不消耗输入),然后选择退出此循环。循环,并且我们必须遍历此循环次。W{a,b}wWwω(|w|)O(f(|w|))ω(1)

取使用的所有此类循环的集合。因为只有状态,所以此集合的大小为,并且其所有子集的集合也为。现在请注意,执行路径的“确定性”部分只能对令牌的起作用,这意味着很多指数的不同单词必须具有其“确定性”部分贡献相同的执行路径令牌到堆。特别是,获取更多令牌的唯一方法是采用上面确定的循环。WO(1)O(1)O(1)O(|w|)

结合这些观察结果,这意味着必须有两个不同的词,和说,它们的执行路径的“确定性”部分为堆贡献了相同的令牌,并且通过采用上述循环的某些子集来区分它们次数不同,但使用相同的循环子集(请记住,这些循环中只有)。w ^ 1Ww1w2O(1)

现在,我们可以显示最小堆自动机也可以识别:我们遵循上述的执行路径,但是我们遍历循环的次数是遍历循环的次数。这用令牌填充最小堆,以使被接受为后缀,从而完成了证明。w1w2w1w2w2

更新2:

在我看来,上述意味着我们可以仅使用对数空间来模拟确定性的最小堆自动机:我们为最小堆中的每种字符保留一个计数器。如上所示,此计数器最多为,因此只能使用空间进行存储(因为这些计数器只有恒定数目)。这给我们:O(n)O(logn)

DHALL

HALNL

其中是由确定性最小堆自动机识别的语言集。DHAL


1
+1可提供出色的洞察力,看来您已经完全理解了我的意思。我对这样的机器不能识别回文症的评估正确吗?由于未保留添加符号的顺序,因此似乎不可能。
Patrick87 2012年

@ Patrick87:我现在正在考虑这个问题:)
亚历克斯·十布林克

@Raphael关于具有对数资源限制的图灵机的非常酷的观察,你们两个在研究这些自动机方面做得非常出色。您知道,我只是抛出了最小堆自动机,作为我感兴趣的事物的一个例子,但它似乎已广受欢迎。关于这种自动机还能回答什么其他问题?DHAL = HAL吗?HAL的关闭属性是什么?进一步的探索是否值得,如果是的话,是应该留在这里还是将其提出新的问题?再次感谢您的宝贵见解。
Patrick87 2012年

1
@Raphael:我已经完全严格了这一部分。没错,必须足够大-我在左右部分掩盖了一些细节。n
Alex 10 Brink 2012年

1
@Raphael:的确如此。,因此由空间层次定理和一些包含项对进行。CSL=NLINSPACEDHALCSL
亚历克斯(Alex)10 Brink 2012年

19

这是我们(相信)知道的:

  • HALCFL(类型1,类型2)
  • CFLHAL(类型1)
  • CFLHAL(根据定义,类型2)
  • CSLHAL(类型1,类型2)

请参阅下面的详细信息和其他注意事项。


HALCFL

答案的这一部分与类型1和类型2有关。

具有有限,完全有序堆字母的最小堆自动机(HA)接受。L={anbncnnN}CSLCFL

假设:与PDA一样,我们的转换函数使用最上面的堆符号并写回任意数量的堆符号。堆最初包含一个专有符号,该符号大于所有其他堆符号。$

设一个最小堆自动机A=(Q,ΣI,ΣH,,q0,QF)

  • Q={q0,q1,q2,qf}状态集
  • ΣI={a,b,c}输入字母。
  • ΣH=a,b,$堆字母,顺序。a<b<$
  • QF={qf}
  •  (Q×ΣI×ΣH)×(Q×ΣH)
    • (q0,a,σ)(q0,aσ)对于所有σΣH
    • (q0,b,a)(q1,b)
    • (q1,b,a)(q1,b)
    • (q1,c,b)(q2,ε)
    • (q2,c,b)(q2,ε)
    • (q2,c,$)(qf,ε)

自动机将输入中的每个写入一个到堆中。当发生时,它就会消耗多达为有过,写一个的堆,每发现。这不会打扰计数,因为堆方便地将放在顶部。只有从堆中取出所有后,才被接受;只有找到与一样多的(以及与),才会接受具有空堆和最终状态的信息。aabbabbaaccbaA

因此,。L(A)=L


CFLHAL

答案的这一部分仅与类型1相关。

考虑的组偶数回文的,并假设有HA与。EPAL={wwRw{a,b}}AL(A)=L

猜想:我们找到其中和这样,在分别读取和之后,处于相同状态并具有相同的堆内容。由于接受和,因此它也接受(和),这与。w1,w2{a,b}w1w2|w1|=|w2|Aw1w2Aw1w1Rw2w2Rw1w2REPALw2w1RL(A)=EPAL


CSLHAL

答案的这一部分与类型1和类型2有关。

我们在(用于类型1)上使用的相同推理可以用来表明上下文相关语言不在。 { 瓦特瓦特| 瓦特{ 一个b } * } ħ 大号EPAL{www{a,b}}HAL


HAL?CSL

这对类型1和类型2仍然开放。


其他类固醇

HA似乎与Embedded Pushdown Automata接受的温和上下文相关语言的子集正交:虽然HA可以模拟有限数量的堆叠堆栈,但是它们不能任意模拟很多(如EPA可以)。但是,HA可以访问当前不在顶部的堆栈的顶部符号(EPA无法访问)。


+1,反应出色。本质上等同于Brink的方法,对吗?尽管如此,其严谨性和精确性仍然十分出色。您是否考虑过此类机器是否可以接受所有CFL?这似乎是不可能的,因为订单信息会被堆丢失...
Patrick87,2012年

亚历克斯也有同样的想法,是的。很高兴您可以从中得到一些东西。我为另一个方向添加了一个想法,但是有一个(巨大?)空白。明天需要头脑清醒地思考一下,也许是在狙击一些同事。
拉斐尔

我觉得我应该包括一个正确性证明,以便获得更多的严谨积分。;)我想通过对的归纳应该不会太难。n
拉斐尔

我想到的是您标记为猜想的证明大纲,我觉得这很有说服力...而且,这是次要的技术要点,我认为您使用的是等长回文的语言,不是全部回文...虽然证明当然可以以任何一种方式起作用(请注意,它也适用于简单的回文,所以HAL甚至不如DPDA强,这是另一个结果)。
Patrick87 2012年

@ Patrick87问题是给定的HA在读取符号后可能有比单词更多的可能配置,特别是如果我们允许将符号放置在堆上的转换,则尤其如此。εnε
拉斐尔
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.