如果L1和L2是语言,我们有一种新语言
INTERLACE(L1, L2) = {w1v1w2v2 . . . wnvn | w1w2 . . . wn ∈ L1, v1v2 . . . vn ∈ L2}.
例如,如果abc ∈ L1
和123 ∈ L2
,则a1b2c3 ∈ INTERLACE(L1, L2)
如何证明INTERLACE
是:
我知道如何显示这种语言是正常的。 对于可判定的我不太确定..
这就是我的想法:
要显示在操作
INTERLACE
下关闭可判定语言的类需要显示如果A和B是两种可判定语言,那么可以找到INTERLACE
语言是否可判定的方法。假设分别由A
,B
可判定语言和M1
,M2
两个TM
决定。
我想我必须说如何构建识别语言的DFA?
答案 0 :(得分:2)
L1
和L2
decidable ==> INTERLACE(L1, L2)
可判定的来自Wikipedia
的引文:
递归(也是 decidable )语言的概念有两个等效的主要定义:
...... 2.递归语言是一种形式语言,其中存在图灵机,当呈现任何有限输入字符串时,如果字符串在语言中则停止并接受,否则停止和拒绝。
使用此定义:
如果L1
和L2
是可判定的,则存在算法(或图灵机)M1
和M2
,以便:
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
接受其输入。 可以很容易地证明M
是INTERLACE(L1, L2)
的决策算法,因此,语言是可判定的。
L1
和L2
recognizable ==> INTERLACE(L1, L2)
可识别的来自Wikipedia
的引文:
递归可枚举(也是可识别的)语言有三种等效定义:
...... 3.递归可枚举语言是一种形式语言,其中存在图灵机(或其他可计算函数),当呈现语言中的任何字符串作为输入时将暂停和接受,但是当呈现时可以停止和拒绝或循环。不在语言中的字符串。将此与递归语言进行对比,后者要求图灵机在所有情况下都停止。
该证明非常类似于“可判定”财产的证明。
如果L1
和L2
可识别,则存在算法R1
和R2
,以便:
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。你几乎就在那里,实际上;)