图灵机可以决定的语言


11

令 有图灵机R决定(我不是说承认)语言吗?大号

L={MM is a Turing Machine and L(M)=}.

L

似乎用来显示同样适用。{AA is a DFA and L(A)=}


1
你尝试了什么?例如,您能为空语言想到DFA吗?请记住,DFA可以认为是非常有限的TM。
肖尔

1
当然。从开始状态开始,无论输入磁带上有什么内容,都进入“暂停拒绝”状态。这明确接受语言中的每个字符串,并拒绝语言中不包含的每个字符串。
Patrick87 2013年

8
@mahdisaeedi:后者是一个完全不同的问题!您在问是否可以确定给定的TM是否识别空语言-答案是否定的,请参阅赖斯定理
Shaull 2013年

Answers:


9

通过标记,您可能意味着可及性分析-寻找从初始状态到接受状态的路径。确实,如果没有这样的路径,DFA的语言将是空的。

让我们从一个示例开始,以了解为什么它在TM中失败。考虑一个TM,它在中忽略它的输入,但在磁带上写一个a,向右移动磁头,进入状态q 1,然后在q 1中,它再次忽略输入,写一个,向左移动磁头,然后走至q 2。在q 2中,如果读取a,则写入a,将磁头向右移动并返回q 1q0aq1q1aq2q2aaq1

也就是说,机器仅写入并在两个状态(q 1q 2)之间交替,并且在磁带上始终有两个相邻的aaq1q2a

现在,我们从添加一个过渡,即当读取b时,过渡到接受状态并停止。q2b

该机器的语言为空。确实,运行总是卡在循环中,并且永远不会进入接受状态。但是,存在通往接受状态的状态路径。那么出了什么问题?q1q2

好吧,从直觉上讲,TM的``状态''不足以描述运行的继续。为了获得所有信息,您需要配置 TM,其中包括状态,磁头位置和磁带内容。如果您找到接受配置的配置路径(称为run),则该语言确实是非空的,并且是iff条件。

在配置图上使用可达性分析的问题在于它可能是无限的。这就是为什么无法确定语言是否为空的原因。

这也是识别语言非空性的原因-您可以在无限配置图上执行BFS。如果存在通往接受状态的路径,则最终会找到它。但是,如果没有,您可能会陷入无限搜索中。


TM的转换函数如下:F(Q T)->(Q T * {L,R})。您可以编写忽略输入的功能吗?
msn 2013年

是。在这种情况下,F q 1a = F q 1b = q 2a L F q 2a = F(q0,a)=F(q0,b)=(q1,a,R)F(q1,a)=F(q1,b)=(q2,a,L) F q 2b = q a c ca L (但从未达到后者)。F(q2,a)=(q1,a,R)F(q2,b)=(qacc,a,L)
Shaull 2013年

9

由于赖斯定理 A是不可确定,该定理指出部分函数的非平凡性质是不可确定的。A

  1. 有一个不接受任何字符串的TM。(直接进入拒绝状态)。
  2. 有一个TM可以接受每个字符串。(直接进入接受状态)。

这意味着由元素计算的函数具有非平凡的属性。因此,A是不可决定的。AA

仅在假设以状态转移表等特殊方式对DFA进行编码的情况下才能确定 E(由于赖斯定理,我们无法确定TM是否仅接受常规语言!)。在这种情况下,莱斯定理不适用,因为确定 E时需要元素的特定编码。因此,我们不仅仅决定部分功能。EE

(也就是说,如果问题出在确定某个特定的TM是DFA还是DFA可计算的,并且它接受的语言为空,则根据莱斯定理无法确定请注意,在这种情况下,A = EEA=E


6

另一个提示:尽量减少停机问题,以L

(最初的提示是使用莱斯定理,但是在这种情况下,直接证明也非常简单。)


@Yuval_Filmus说这种语言甚至无法识别图灵是否正确?
sashas 2015年

1
你怎么看?你能证明你的要求吗?如果是这样,则无需提出问题。
Yuval Filmus

1

引理1:如果L不可确定,则L的补码也是如此。

我们知道,暂停问题HTM是无法确定的。因此,根据停止问题的引理1补,HTMc也是不确定的。

HTM ={M,x M is a TM and M halts on input x }

HTMc ={M,x M is a TM and M loops on input x }

ETM ={M M is a TM and L(M) = }

假设ETM是可确定的。我们将降低HTMcETM -换句话说,我们将展示如何构建一个图灵机MHTMc是决定HTMc使用TM,METM是决定ETM。这给我们带来了一个矛盾,因为我们知道HTMc是不确定的,因此MHTMc不存在。“减少”一词仅意味着通过将给定问题转换成我们已经知道要解决的另一个问题来解决该问题。因此,用于HTMc的图灵机可以构造如下:

MHTMc上输入=”M,x

1.为执行以下操作的TM M1构造代码:

M1 =“在输入w

1.模拟Mx

2.接受,如果M暂停“。

2.运行METMM1

3.接受如果METM接受,拒绝否则“。

至关重要的是要了解,TM M1从未真正进行过仿真-这样的仿真可能会陷入无限循环。我们正在做的是构造M1的代码。

M1被构造成使得在任何输入w给它,它将模拟M与输入xM可能会在x暂停或循环,因此可能有两种情况:

1. 如果Mx上暂停,则M1接受所有输入wM E T M将拒绝M 1L M 1MxMETMM1L(M1)

2.如果Mx循环,则M1还将针对为其提供的每个输入w循环。无论如何,因为METM决定者将拒绝输入并停止输入M1因为L(M1)=

Correctness:由于METM总是暂停(由我们的假设),MHTMc也总是暂停。MHTMc接受如果METM接受,也就是如果L(M1)=这恰好如果M上循环x
MHTMc拒绝如果METM拒绝在 M暂停 x时发生的L(M1)。因此,中号ħ Ç Ť 中号决定 ħ Ç Ť 中号这是一个矛盾作为 ħ Ç Ť 中号是不可判定。MxMHTMcHTMcHTMc


Nb:

R为从HTMcETM的还原。

减少带来:

ⅰ)M,xHTMcR(M,x)ETM

中号上输入环路X当且仅当由识别的语言R(M,x)接受没有

ⅱ)M,xHTMcR(M,x)ETM

中号上输入暂停X当且仅当由识别的语言R(M,x)接受的东西


0

校对矛盾,(我们知道这是不可判定)。ATM={M,wM is a Turing Machine which accepts w}

假定存在,以决定一个TM 大号RTML

然后使用可以将用于TM S T M的构造,这是A T M的决定因素RTMSTMATM

“在输入中号瓦特,其中中号是一个TM的和编码瓦特是一个字符串:STM=definitionM,wMw

  1. 考虑输入w来修改,以使新M(称为M 1)拒绝所有不等于w的输入,其中w内置于其描述中。如果输入等于w,则M 1w运行M并输出M个输出。MwMM1wwwM1MwM

  2. 运行与输入中号1瓦特RTMM1,w

  3. 输出与 s输出相反的值。”RTM

存在一个图灵机除冰的假设,使我们能够构建决胜局一个牛逼中号,这是一个矛盾。LATM


的输入不是TM(没有额外的w)吗?你怎么跑[R ŧ 中号中号1w ^ RTMwRTMM1,w
xskxzr

-2

E = {| M是TM,L(M)=Φ}。E Turing可以识别吗?

E是一种语言,为了接受语言E,我们构建了图灵机。假设我们为语言E创建了图灵EM。

EM将作为其他图灵机的编码提供给输入,如果输入的机器M接受空语言,则它将是语言E的成员,否则将不是语言的成员。

假设我们有一个图灵机M,我们需要检查它是否接受空语言。图灵机EM具有M和字符串eps,a,b,aa,bb,...。将被丢弃,不包含在语言E中。现在,看看TM M陷入循环的可能性,因此M会继续运行,我们无法决定它是否可以接受或不接受任何东西。因此,给定的语言E不是RE。

PS:我认为这种给定的语言E的补充将是RE。


不幸的是,这种直觉的论点并不构成证明。确定E的方法可能不同,您的论据并未排除这一点。
Yuval Filmus

是的,但是我的解释方式可以使某人以外行语言理解。
Manu Thakur

该网站不适用于外行。它用于学术水平的理论计算机科学。
Yuval Filmus

2
您所要做的只是给出一个直观的论据,说明为什么特定的计算技术似乎无法解决该问题。但问题是要寻求一种证明,证明没有可行的技术可行。
David Richerby '17
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.