证明这种语言是否可判定和可识别

时间:2017-04-01 21:05:58

标签: computation-theory turing-machines formal-languages decidable

如果L1和L2是语言,我们有一种新语言

INTERLACE(L1, L2) = {w1v1w2v2 . . . wnvn | w1w2 . . . wn ∈ L1, v1v2 . . . vn ∈ L2}.

例如,如果abc ∈ L1123 ∈ L2,则a1b2c3 ∈ INTERLACE(L1, L2)

如何证明INTERLACE是:

  1. decidable?
  2. 可识别?
  3. 我知道如何显示这种语言是正常的。 对于可判定的我不太确定..

    这就是我的想法:

      

    要显示在操作INTERLACE下关闭可判定语言的类需要显示如果A和B是两种可判定语言,那么可以找到INTERLACE语言是否可判定的方法。假设分别由AB可判定语言和M1M2两个TM决定。

    我想我必须说如何构建识别语言的DFA?

1 个答案:

答案 0 :(得分:2)

L1L2 decidable ==> INTERLACE(L1, L2)可判定的

来自Wikipedia的引文:

  

递归(也是 decidable )语言的概念有两个等效的主要定义:
     ......      2.递归语言是一种形式语言,其中存在图灵机,当呈现任何有限输入字符串时,如果字符串在语言中则停止并接受,否则停止和拒绝。

使用此定义:

  • 如果L1L2是可判定的,则存在算法(或图灵机)M1M2,以便:

    • M1接受所有输入w ∈ L1并拒绝所有输入w ∉ L1
    • M2接受所有输入v ∈ L2并拒绝所有输入v ∉ L2
  • 现在让我们构建算法M,接受所有输入x ∈ INTERLACE(L1, L2)并拒绝所有输入x ∉ INTERLACE(L1, L2),如下所示:

    • 给出输入x1 x2 .. xn
    • 如果n为奇数,则拒绝输入,否则(n为偶数):
    • 为输入M1运行x1 x3 x5 .. xn-1。如果M1拒绝此输入,则M拒绝其输入并完成,否则(M1接受其输入):
    • 为输入M2运行x2 x4 x6 .. xn。如果M2拒绝此输入,则M拒绝其输入,否则M接受其输入。

可以很容易地证明MINTERLACE(L1, L2)的决策算法,因此,语言是可判定的。

L1L2 recognizable ==> INTERLACE(L1, L2)可识别的

来自Wikipedia的引文:

  

递归可枚举(也是可识别的)语言有三种等效定义:
     ......      3.递归可枚举语言是一种形式语言,其中存在图灵机(或其他可计算函数),当呈现语言中的任何字符串作为输入时将暂停和接受,但是当呈现时可以停止和拒绝或循环。不在语言中的字符串。将此与递归语言进行对比,后者要求图灵机在所有情况下都停止。

该证明非常类似于“可判定”财产的证明。

  • 如果L1L2可识别,则存在算法R1R2,以便:

    • R1接受所有输入w ∈ L1并拒绝或永久循环所有输入w ∉ L1
    • R2接受所有输入v ∈ L2并拒绝或永久循环所有输入v ∉ L2
  • 让我们构建算法R,接受所有输入x ∈ INTERLACE(L1, L2)并拒绝或永久循环所有输入x ∉ INTERLACE(L1, L2)

    • 给出输入x1 x2 .. xn
    • 如果n为奇数,则拒绝输入,否则(n为偶数):
    • 为输入R1运行x1 x3 x5 .. xn-1。如果R1永远循环,那么R也会永远循环(“自动”)。如果R1拒绝此输入,则R会拒绝其输入并完成,否则(如果R1接受其输入):
    • 为输入R2运行x2 x4 x6 .. xn。如果R2永远循环,那么R也会永远循环。如果R2拒绝此输入,则R拒绝其输入,否则R接受其输入。

P.S。你几乎就在那里,实际上;)