单磁带三态TM可以识别的语言类别


9

我有一段时间对图灵机只有一个磁带和三个状态(即开始状态)感到好奇 q0,接受状态和拒绝状态)。请注意,我允许使用任意(有限)的磁带字母(即,磁带字母不限于等于输入字母)。qacceptqreject

为了方便起见,请调用此类TM识别的语言类别。我对这堂课有几个疑问:C3

  1. 以前是否研究过?C3
  2. 是否知道等于其他任何感兴趣的复杂性/可计算性类别?C3
  3. 类对模型的更改是否健壮。例如,如果允许在单个过渡期间使用所使用的TM(而不是始终向左或向右移动),或者如果使磁带在两个方向(而不是仅向右)都是无限的,则该类3状态1磁带TM更改可识别的语言种类?C3
  4. 如何涉及类正规语言的,?(特别是,每种常规语言都使用吗?)C3RegularC3

(相当粗略的)搜索仅显示此cs.stackexchange帖子该帖子相关但没有回答我的问题和本文,但我没有足够详细地阅读以确保它确实涉及类,而不是相似但不同的类(本文声称证明(1)每种语言都是可判定的,并且(2)和是具有非空交集的不同类)。正如在cs.stackexchange帖子的评论中所指出的那样,可以将这类TM视为非常​​特殊的细胞自动机,因此也许了解细胞自动机理论文献的人可能会有所帮助。C3C3C3Regular


1
如果您只有一种非终止状态和一盘磁带(输入磁带),则您的机器将无法记住其读取的任何内容。因此,它可以完全接受或拒绝包含来自输​​入字母的确定符号的输入。
David G

4
机器不记得读取的内容,但是可以用其他内容重写读取的内容。所以我真的不明白为什么您给出的表征是正确的。(即,我可以想到一个接受并拒绝的简单机器;这里的行为并不完全由输入中的符号决定)。01011
Mikhail Rudoy '17

1
你是对的,我的直觉是错误的。
David G

Answers:


7

野兽非常强大,例如我们可以建立一个TMM 接受形式的每个字符串

LY={r0n1mAmn}

并拒绝表格中的每个字符串

LN={r0n1mAm>n}

这个想法是要改造第一个 r 进入 R然后让头部到达琴弦的中间,然后做“无状态”之字形;如果达到A 之前 R 然后它接受。

非正式说明:

  • rR 并向右移动(准备拒绝)
  • 0c 然后向右移动(向中心移动)
  • 1> 然后向左移动(标记a 1,为下一次从左到右的穿越做准备,然后向左走)
  • c< 然后向右移动(标记为a 0,为下一个从右到左的交叉路口做准备,然后向右走)
  • <> 然后向左走(从左到右交叉,为下一个从右到左做准备)
  • >< 然后向右走(从右向左交叉,为下一个从左向右做准备)
  • A 接受 R 拒绝
  • 在空白 b 拒绝

例:

  :r 0 0 0 1 1 A
   R:0 0 0 1 1 A
   R c:0 0 1 1 A
   R c c:0 1 1 A
   R c c c:1 1 A
   R c c:c > 1 A
   R c c <:> 1 A
   R c c < <:1 A
   R c c <:< > A
   R c c:< > > A
   R c:c > > > A
   R c <:> > > A
   ...
   R c < < < <:A ACCEPT

这种曲折技术用于Rogozhin构造的最小的2状态通用图灵机(具有18个符号)(Rogozhin 1996. TCS,168(2):215–240))。

应该注意一些事实以证明 M 暂停所有输入(请注意,它会拒绝空白输入,并且所有非暂停符号“会聚”为 < 要么 > 这不会导致无限循环)。

正如DavidG所说,该语言 L(M) 被认可 M 是...的超集 LY (即 LYL(M)),但不包含来自的任何字符串 LN (即 L(M)LN=),并且-正如MikhailRudoy所评论的-足以证明 L(M) 不正常。

确实如果 L(M) 然后是定期的 L(M){r01A}=LY={r0n1mAmn}将是有规律的(这不是通过简单地应用抽水引理);导致矛盾。

所以 L(M) 是不规则的

...但是像所有超级英雄一样 C3 有致命弱点:它甚至无法识别正常人:

L={12n}

非正式地,它只能使用最左边的 b1...b 是空白符号)或右雾 1b...作为一个钩子,在另一个方向“扩展”;但是最终的“接受”或“拒绝”不能在对面的空白符号上,因此只能在广告的内部1s,并从足够长的输入开始,可以对其进行“伪造”扩展。

最后-阅读本文后-我可以确认其中所述的单态TM与您的 C3 类...(所以这里没有新内容:-)...作者用来证明其包含非常规语言的语言与我的语言非常相似。


1
我非常喜欢答案(+1)。但是,所描述的TM接受不同的语言。例如,它也接受字符串rrrrr00011AAAA,r000000r0000r0000r00011A,r00011A11111111(在A之后,可以是任何东西,而不是一个)……
David G

@DavidG:你是对的!我没有考虑太多...我试图解决它。
Marzio De Biasi

4
实际上,即使通过 L 不是所描述的TM所识别的语言,则该语言绝对不是常规的:如果该TM是 M, 然后 L(M)r01A=L 因此是矛盾的简短证明(如果 L(M) 那是正常的 L(M)r01A=L也将是定期的;矛盾)可以表明L(M)不正常。
Mikhail Rudoy '17

3
@MikhailRudoy:是的!我有同样的想法。我打开cstheory编辑答案,并看到了您的评论。让我们看看我是否可以考虑您的评论来重写答案……
Marzio De Biasi

5

我低估了 C3...实际上离Hypercomputation不太远 !

(我将其作为单独的答案发布,以提高清晰度)

我们可以建立一个单一状态的图灵机 M 接受以下形式的字符串:

LY={a0n1mRm2n}

并拒绝以下形式的字符串:

LN={a0n1mRm<2n}

这个想法和构造类似于上一个答案:转换第一个 a 进入 A,让头部到达字符串的中间,然后执行“无状态”之字形,但是在上半部分以这种方式过渡“实现”“二进制计数器”: Z(零)将头弹回右侧,然后将Z 变成一个 S (一个)下次头部到达 S,将其转换为 )并让头部向左移动;当头到达) 转换成 Z。字符串的后半部分表现为一元计数器。

过渡是:

  • rR 并向右移动(准备拒绝)
  • 0Z 并向右移动(向中心移动,将二进制计数器设置为0 ..)
  • 1> 然后向左移动(标记a 1 并减少一元计数器,为下一个从左到右的穿越做准备,然后弹回到二进制计数器)
  • >< 然后向右走(字符串后半部分的从右到左交叉,为下一个从左到右做准备)
  • <> 然后向左走(字符串后半部分的从左到右交叉,为下一个从右到左的准备)
  • ZS 并向右移动(将数字转换为1,然后向右跳向一元计数器)
  • S) 然后向左移动(清除数字,让头部像“携带”一样向左移动,为第一部分的下一个从左到右做准备)
  • )Z 并向右移动(将零设置为会导致反弹的位置,然后让头部向右移动)
  • A 接受 R 拒绝
  • 在空白 b 拒绝

例:

 :a 0 0 0 1 1 1 1 1 1 1 1 R
  A:0 0 0 1 1 1 1 1 1 1 1 R
  A Z:0 0 1 1 1 1 1 1 1 1 R
  ...
  A Z Z Z:1 1 1 1 1 1 1 1 R
  A Z Z:Z > 1 1 1 1 1 1 1 R
  A Z Z S:> 1 1 1 1 1 1 1 R
  A Z Z S <:1 1 1 1 1 1 1 R
  A Z Z S:< > 1 1 1 1 1 1 R
  A Z Z:S > > 1 1 1 1 1 1 R
  A Z:Z ) > > 1 1 1 1 1 1 R
  A Z S:) > > 1 1 1 1 1 1 R
  A Z S Z:> > 1 1 1 1 1 1 R
  ...
  A Z S:Z > > > 1 1 1 1 1 R
  ...
  A Z S S < < <:1 1 1 1 1 R
  ...
  A S:) ) > > > > 1 1 1 1 R
  ...
 :A ) ) ) > > > > > > > > R ---> ACCEPT

应该注意一些事实以证明 M 暂停所有输入(请注意,它拒绝空白输入,并且所有非暂停符号“循环”通过 (,S,Z 要么 <,> 这不会导致无限循环)。

语言 L(M) 是...的超集 LYLYL(M)),并且不包含来自的字符串 LNL(M)LN=)。

假设 L(M)Context Free,然后-通过CFL的闭包属性,使其与常规语言相交{r01A} 产生CF语言:

L(M){r01A}={a0n1mRm2n}=LY

但是通过简单地将Ogden引理用于CFL,我们可以证明LYCFL:选择足够长的时间 sLY 并标记所有 0s; 至少可以抽出一个零,无论抽出多少1s 在抽水机中,指数的增长 2n 导致一个字符串 LY)。

所以 L(M) 不是上下文无关的

...现在我想知道这是另一个“重新发明轮子”的答案,还是新的(小的)结果。


嗯,这里的语言可以在与coNLOGTIME一样低的类中进行计算,因此它并不完全需要超计算。(事实上​​,LYLN即使在DLOGTIME中也可以分开。)
EmilJeřábek'17

@EmilJeřábek:我说“不要太远” ...不要扼杀那个小班级的野心... :-)
Marzio De Biasi

2

在这个答案中,假设图灵机具有双向无限大的磁带。该声明不适用于单向无限磁带。

我先定义语言的类别 C3作为类所有语言的可判定由一个磁带图灵机与3种状态(C3 was defined as the class of languages recognizable by one-tape Turing machines with 3 states). I introduced the class C3 because in my original answer, I unconsciously swaped the classes C3 and C3 (I only considered the class C3).

This answer is more a complement to @MarzioDeBiasi answers. He showed that the classes C3 and C3 are not contained in CFL and thus contain quite interesting languages. However, as I will show in this post, each language L in C3 has the property that the set {1n;nN{0}} is either in L or in its complement LC. Thus C3 is also very restrictive, eg. it contains only trivial unary languages {}, {ε}, {1n;nN} and {1n;nN{0}}. The class C3 contains a bit more unary languages. However, it holds that if LC3 and 1nL for n1, then 1mL for all mn. A simple corollary is that not all regular languages are in C3 nor in C3. Also the language {1} is not in C3 nor in C3.


For the claim (in bold) about C3, it is enough to prove that a one-tape Turing machine M with 3 states that always halts either accepts or rejects all strings from {1n;nN{0}}. Suppose that a string of the form 1n, nN{0}, is given to M. There are three cases:

1) When M reads 1, it accepts or rejects.

2) When M reads 1, it moves the head to the left. If we want M to halt on this input, it must accept, reject or move to the right on the blank symbol. Hence, it never visits the cell to the right of the initial cell of the tape. If it would, it would run forever on input 1.

3) When M reads 1, it moves the head to the right. It follows that after n steps, the content of the tape is An where A is some symbol from the tape alphabet and the head of M is on the leftmost blank symbol to the right of the last A. If we want M to halt on this input, it must accept, reject or move to the left on the blank symbol. As in case 2), the head of M will now never visit the cell directly to the left of the rightmost A. If it would, then M would run forever on input 1.

It is clear that in all three cases M accepts all strings from the set {1n;nN{0}} or it rejects them all.


The proof of the claim (in bold) about C3 follows the same line as above. We take a one-tape 3-state Turing machine M that accepts a string 1n for some n1. Suppose M is given an input 1m for mn. We have to prove that M accepts this input. We have 3 cases:

1) When M reads 1, it accepts.

2) When M reads 1, it moves the head to the left. Because M accepts the input 1n, it has to accept or move to the right on the blank symbol. Hence, it never visits the nth cell to the right of the initial cell. If it would, it would run forever on input 1n.

3) When M reads 1, it moves the head to the right. It follows that after m steps, the content of the tape is Am where A is some symbol from the tape alphabet and the head of M is on the leftmost blank symbol to the right of the last A. Because M accepts the input 1n, it must accept or move to the left on the blank symbol. As in case 2), the head of M will now never visit the nth cell to the left of the rightmost A. This is because on the input 1n, M does not visit the cell directly left of the initial cell, because it contains the blank symbol and if it would read it, it would run forever.

It is clear that in all three cases M accepts all strings from the set {1m;mn}.


First of all, nowhere in the question does it say that M must halt on all inputs, so that screws up some of the logic in this answer. Beyond that, the logic in several of the cases doesn't make sense to me. For example, in case 3, if M moves left on both blank and A, then M will visit the cell directly left of the rightmost A (in direct contrast to the claim from the answer.)
Mikhail Rudoy

Nice; another way to state it is: if Σ={1} (unary languages) then k s.t. 1kL(M)L(M)={1nn>0} ...
Marzio De Biasi

@MikhailRudoy, to first clarify the case 3: if the head moves left on both A and blank symbol, then it will move left forever and will not halt. If it ever (say after 100 steps) visits the cell directly left of the rightmost A, then in the case of input 1 it never halts (in this case the cell directly left of the rightmost A will contain the blank symbol).
David G

@MikhailRudoy, it is true that I assumed that a Turing machine has to halt. I will edit the answer to include also the possibility that it runs forever. The result is similar.
David G

3
@MikhailRudoy: BTW the hatling problem is decidable for 1 state Turing machines; see Gabor T. Herman, The uniform halting problem for generalized one-state turing machines. The model described there is a little bit different from yours: the TM accepts if it ends in a mortal configuration (there is no Accept/Reject); but the result also applies to your model (just Halt the TM on the symbols that lead to your extra Accept/Reject states).
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.