【问题标题】:How to decide if a language is In R or RE or CoRE如何确定一种语言是 In R 还是 RE 还是 CoRE
【发布时间】:2019-07-12 05:41:28
【问题描述】:

我有这三种语言我不知道如何确定该语言是R还是RE还是coRE

L1={<M>| epsilon belongs to L(M)}
L2={<M><w>|M doesn't accept any prefix of w}
L3={<M>|there exists w where M accepts all the prefixes of w}

【问题讨论】:

    标签: turing-machines computation


    【解决方案1】:

    对于前两个,称为dovetailing 的技术可以帮助您证明语言是可枚举的。 对于 L_1: 给定所有图灵机的哥德尔编号,计算 M1(eps) 的第 1 步, 然后是 M2(eps) 的第 1 步,然后是 M1(eps) 的第 2 步, 1 个 M3(eps), 2 个 M2(eps), 3 个 M1(eps) ... 也就是以“步数”和“图灵机数x”为轴的坐标系的左下三角。

    如果 epsilon 在 L(Mx) 中,则它在 n 个步骤中被接受。使用您的方法,当您到达坐标 [x,n] 时,您将检测到这一点。对于每个 [x,n] 都是如此,因此您可以以这种方式枚举所有机器。

    由于一个词只有有限数量的前缀,你也可以通过像上面的每个前缀的坐标系(不是顺序的,而是交织的),将这种方法应用于 L2。所以 L2 也是可枚举的。

    对于 L3,存在 w 其中 M 接受 w 的所有前缀,那么对于仅包含 w 的第一个字母的字符串也是如此。所以你只需要检查它是否有有限的字母表符号,就像 L2 一样。

    关于这三种语言的递归性,例如阅读 answer 处理您的 L1。

    【讨论】:

      猜你喜欢
      • 2012-12-29
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 2011-11-09
      相关资源
      最近更新 更多