图灵可识别=>可枚举


10

我得到了从枚举器转到图灵机的证明(继续运行枚举器,看看它是否与输入匹配),但是我看不到另一种方式。

根据我的笔记和这本书(计算理论简介-Sipser),要从图灵机中获取图灵枚举器,我们基本上会写出所有字母组合。然后,您可以在此输入上运行TM,如果它接受将其打印出来,则用无限的新字符串重复广告替换。

我遇到的问题肯定是这要求语言是可决定的。否则,它可能会陷入某个无限循环中的第三个单词,注定永远不会接受或拒绝,当然也绝不会打印出整个语言。

我想念什么?

Answers:


9

缺少的是对字符串运行Turing Machine 以获得枚举器的方式。而不是生成每个字符串,而是运行M,然后在M接受时输出此字符串(如您所确定的那样将不起作用),您可以执行以下操作,它采用了在不同字符串上模拟M的许多实例的策略。平行”。中号中号中号中号

假定带具有内容 ,其中瓦特正在考虑一些单词和š 是的当前状态中号 操作上瓦特。这表示正在模拟M的n个副本。w ^ 被保存,所以我们知道原来的输入了。w1个小号1个wñ小号ñw一世小号一世中号w一世ñ中号w一世

现在运行以下循环

  1. 在结束时,磁带写入从下一个字符串,与初始配置沿小号中号,即,写入瓦特小号wΣ小号中号w小号
  2. 模拟磁带上每个副本一个步骤。(大概使用其他胶带。)中号
  3. 如果任何进入接受状态,请将相应的字符串放在输出磁带上。从磁带中删除此M实例。中号中号
  4. 如果任何进入拒绝状态,请从磁带中删除该M实例。中号中号
  5. 转到步骤1。

这不是很难说所有的字符串所接受中号最终将在磁带上输出。wΣ中号


4
亦称“燕尾”。
卡夫
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.