一元确定性双向自动机可识别的一元语言


17

2dca(双向确定性单计数器自动机)(Petersen,1994年)可以识别以下一元语言:

POWER={02nn0}.

2dca还可以识别其他任何非平凡的一元语言吗?

请注意,尚不清楚2dca是否可以识别吗?SQUARE={0n2n0}


定义:2dca是带有计数器的双向确定性有限自动机。2dca可以测试计数器的值是否为零,并在每一步中将计数器的值增加或减少1。


3
您可以添加一个链接到2DCA的定义吗?
Suresh Venkat 2012年

3
@SureshVenkat:我添加了参考和定义。
Abuzer Yakaryilmaz

1
@AbuzerYakaryilmaz:每固定它可以识别{ 0 ķ ÑÑ 0 }k{0kn:n0}
马兹奥德BIASI

@MarzioDeBiasi:算法用于可以很容易地推广到P ö W¯¯ Ë ř ķ = { 0 ķ Ñ | Ñ 0 },其中ķ 3。因此,这些语言对我来说微不足道。POWERPOWERk={0knn0}k3
Abuzer Yakaryilmaz

1
嗯,事实上,我认为这样就可以得出Marzio已经做出的相同观察结果,所以我所说的内容并不新鲜。不过,我仍然对是否需要多次阅读结束标记感兴趣。
domotorp

Answers:


6

这只是我在阅读Marvin L. Minsky,“邮递机的标签问题和图灵机理论中的其他主题的递归不可解性”时想到的一个想法;特别是著名的定理Ia:

定理Ia:我们可以 使用以下形式的指令I j 通过对两个整数S 1S 2进行运算的程序来表示任何部分递归函数:( i)ADD 1至S j,然后转到I j 1 ( ii)从S j减去1 ,如果S j0并转到I j 1,否则转到I j 2, 也就是说,我们可以构造一个以S 1开头的程序f(n)S1S2Ij
SjIj1
SjSj0Ij1Ij2
S 2 = 0,并最终以 S 1 = 2 f n S 2 = 0停止S1=2nS2=0S1=2f(n)S2=0

如果您在(半)无限磁带上有一个带有计数器的双向DFA,其中输入以一元形式给出:则DFA可以:$12n000...

  1. 读取一元输入(并将其存储在计数器中);
  2. 在工作带的一部分,并且使用来自所述距离1个 S作为第二计数器。01

因此它可以模拟一个图灵完整的两个计数器机器。

现在,如果您有一个在时间T n 上在标准Turing机器上运行的递归函数,则带有限计数器的一个计数器的双向DFA在有限的磁带上开始$ 1 m $f(n)T(n) $1m$(其中T 'n T n )可以:m=2n3T(n)T(n)T(n)

  1. 读取一元输入(并将其存储在计数器中);
  2. 返回最左边的符号;
  3. 以这种方式将计数器除以3,直到计数器包含:从状态q z 0q z 1q z 2右循环并减去1;如果在状态q z 0下计数器达到0,则转到最左边的符号加+1并继续除法循环;否则,添加1(如果处于状态q z 1)或2(如果处于状态q z 2)并转到最左侧的符号加上+ 3(即恢复未被3整除的计数器的先前值)并继续执行步骤4。2nqz0,qz1,qz2qz0qz1qz2
  4. 此时计数器包含 ;2n
  5. 使用右侧可用的T 'n 空间作为第二计数器来计算第二计数器的值是距最左边符号$的距离)。2f(n)T(n)$

因此,使用上述特殊输入编码(在有限磁带上为其留有足够的空间),带有一个计数器和一进制字母的双向DFA可以计算每个递归函数。

如果该方法是正确的,这将是有趣的原因了解如何选择,或者当它是足够选择一个大奇ķ » 2和输入编码为1 = 2 ñ ķ ñT(n)T(n)k21mm=2nkn


-1

不平凡的是,我假设您的意思是1dca无法接受的语言L。这里似乎是这样一种语言:

中心= {w | w在{0,1} *之上,对于某些x,y,w = x1y,使得| x | = | y |}

1dca无法接受此语言,但1nca可以接受。可以被2dca接受。细节留作练习。


2
OP请求一元语言(输入为$1n$
Marzio De Biasi
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.