チューリングマシンは、言語決めることができます


11

ましょ 決定チューリングマシンのR(Iは平均認識していない)の言語があり、Lは

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

L

がここでも機能することを示すために使用された同じ手法のようです。{AA is a DFA and L(A)=}


1
何を試しましたか?たとえば、空の言語のDFAについて考えることができますか?DFAは非常に限定されたTMと考えることができることを覚えておいてください。
Shaull、2013年

1
承知しました。入力テープの内容に関係なく、開始状態から「リジェクト停止」状態に移行します。これは、言語のすべての文字列を明示的に受け入れ、言語以外のすべての文字列を拒否します。
Patrick87 2013年

8
@mahdisaeedi:後者はまったく別の質問です!あなたは、与えられたTMが空の言語を認識するかどうかを決定することが決定可能であるかどうかを尋ねています-答えはノーです。ライスの定理
Shaull

回答:


9

マークすることは、おそらく到達可能性分析を意味します-初期状態から受け入れ状態へのパスを探します。実際、DFAの言語は、そのようなパスがない限り空です。

これがTMで失敗する理由の例から始めましょう。で入力を無視するが、テープにaを書き込み、ヘッドを右に移動して状態q 1に移動するTMについて考えます。次に、q 1で再び入力を無視してaを書き込み、ヘッドを左に移動して移動しますq 2。で、Q 2、読み込む場合、、それは書いて、頭を右に移動し、バックに入るQ 1q0aq1q1aq2q2aaq1

つまり、マシンは単にを書き込み 2つの状態(q 1q 2)を交互に切り替え、常にテープ上に2つの隣接するaがあります。aq1q2a

ここで、からの遷移を追加します。これは、読み取り時にbが受け入れ状態になり、停止することです。q2b

このマシンの言語は空です。実際、実行は常にループでスタックし、受け入れ状態になることはありません。それでも、受け入れ状態への状態パスがあります。それで何が悪かったのですか?q1q2

まあ、直感的には、TMの「状態」は、実行の継続を説明するのに十分な情報ではありません。すべての情報を取得するには、TM の構成が必要です。これには、状態、ヘッドの位置、およびテープの内容が含まれます。受け入れる構成への構成パス(runと呼ばれます)が見つかった場合、実際には言語は空ではなく、条件が異なります。

構成グラフで到達可能性分析を使用する場合の問題は、無限である可能性があることです。これが、言語の空虚さの決定が決定できない理由です。

これは、言語が空でないことを認識できる理由でもあります。無限の構成グラフで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

  1. 文字列を受け入れないTMがあります。(これは直接拒否状態になります)。
  2. すべての文字列を受け入れるTMがあります。(これは直接受け入れ状態になります)。

これは、要素によって計算される関数が重要なプロパティを持っていることを意味します。したがって、Aは決定可能ではありません。AA

は、DFAが状態遷移表などの特別な方法でエンコードされているという仮定の下でのみ決定可能です(ライスの定理のため、TMが通常の言語のみを受け入れるかどうかを決定することはできません)。この場合、ライスの定理は適用できません。Eを決定するには要素の特定のエンコーディングが必要だからです。したがって、部分的な関数を決定するだけではありません。EE

(つまり、特定のTMがDFA(またはDFA計算可能)であるかどうかを決定する問題があり、それが受け入れる言語が空である場合、はライスの定理によって決定不可能になります。この場合、A = Eであることに注意してください。。)EA=E


6

もう一つのヒント:に停止問題を減らしてみてくださいL

(元のヒントはライスの定理を使用することですが、この場合、直接証明も非常に簡単です。)


@Yuval_Filmusこの言語はチューリングすら認識できないと言ってもいいですか?
sashas 2015年

1
どう思いますか?あなたの主張を証明できますか?その場合、質問する必要はありません。
Yuval Filmus、2015年

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が決定可能であると仮定します。我々は減少しますHTMcするETM言い換えれば、我々はチューリングマシン構築する方法を紹介します- MHTMcを決定するHTMc TM、使用してMETMを決定するETMHTMcが決定不可能であることを知っているため、これは私たちに矛盾を与えます。したがって、MHTMc存在することはできません。「減らす」という言葉は、特定の問題を別の問題に変換して解決することを意味します。したがって、HTMcのTuring Machineは次のように構成できます。

MHTMc =「入力にM,x

1. 以下を行うTM、M1のコードを作成します。

M1 = "入力w

1. xでMをシミュレートします。x

2. M停止した場合は受け入れる。」

2.ファイル名を指定して実行METMM1

3. METM受け入れる場合は受け入れ、そうでない場合は拒否します。」

TM M1は実際にはシミュレーションされないことを理解することが重要です。このようなシミュレーションは無限ループになる可能性があります。我々がやっているすべてはのためのコードを構築であるM1

M1は、与えられた任意の入力wで、入力 xを使用してMをシミュレートするように構成されています。M xで停止またはループする可能性があるため、次の2つの場合があります。xMx

1. M1は、Mxで停止した場合、すべての入力w受け入れます。M E T Mは拒否されますM 1として、L M 1MxMETMM1L(M1)

2. Mxでループする場合、M1は与えられたすべての入力wに対してもループします。とにかく、METMそれは入力に拒否して停止する決定器M1としてL(M1)=

Correctness:以来METM常に停止(我々の仮定による)、MHTMcも常に停止します。MHTMcあれば受け入れMETM受け付ける場合には、L(M1)=どうなりM上でループx
MHTMcは、METMある不良L(M1)場合に起こるM上に停止x。したがって、MHTMcHTMcを決定できません。これは、HTMcを決定できないため、矛盾です。


Nb:

ましょうRはから減少でHTMcに対してETM

削減により以下が得られます。

I)M,xHTMcR(M,x)ETM

Mは、入力にループXによって認識される言語ときに限りR(M,x)何も受け付けません

II)M,xHTMcR(M,x)ETM

Mの入力に停止Xによって認識言語ときに限りR(M,x)何かを受け付け


0

矛盾によって証明(我々は決定不能である知っています)。ATM={M,wM is a Turing Machine which accepts w}

存在を前提と、決定TM LをRTML

次に、A T Mの決定要素であるTM S T Mの構築にを使用できます。RTMSTMATM

「入力にM wはここで、 Mは、 TMの符号化であり、 wは:文字列でありますSTM=definitionM,wMw

  1. 新しいMM 1と呼ぶ)がwに等しくないすべての入力を拒否するように、入力wを考慮して変更します。ここで、wはその説明に組み込まれています。入力に等しい場合、Wは、M 1つのランM上にWおよび出力どんなM個の出力。MwMM1wwwM1MwM

  2. ラン入力とM 1W RTMM1,w

  3. s 出力の反対を出力します。」RTM

以下のためのチューリングマシンの除氷が存在することを前提、私たちがためサイダー構築することを可能にするA T M矛盾です。LATM


a TM(余分なwなし)の入力ではありませんか?どのように実行しますR T MをM 1W RTMwRTMM1,w
xskxzr 2018年

-2

E = {| MはTMで、L(M)=Φ}です。Eチューリングは認識可能ですか?

Eは言語です。言語Eを受け入れるために、チューリングマシンを構築します。言語EのTuring EMを作成するとします。

EMは別のチューリングマシンのエンコーディングとして入力として提供されます。その入力されたマシンMが空の言語を受け入れる場合、それは言語Eのメンバーになります。それ以外の場合、言語のメンバーではありません。

Turing Machine Mがあるとすると、空の言語を受け入れるかどうかを確認する必要があります。チューリングマシンEMにはMと文字列eps、a、b、aa、bb、...があります。EMは、Mが少なくとも1つの入力で最終状態に到達できるかどうか、および少なくとも1つの入力を受け入れるかどうかをチェックします破棄され、言語Eには含まれません。ここで、TM Mがループに入り、Mが実行を続け、何も受け入れることができるか受け入れられないかを判断できなかった可能性を確認してください。したがって、この特定の言語EはREではありません。

PS:この特定の言語Eの補完はREになると思います。


残念ながら、この直感的な議論は証明にはなりません。Eを決定する別の方法がある可能性があり、これはあなたの議論によって排除されません。
Yuval Filmus

はい、正しいですが、私が説明した方法は、素人の言語で理解させることができます。
Manu Thakur 2017

このサイトは素人向けではありません。これは、学術レベルの理論的なコンピュータサイエンス向けです。
Yuval Filmus

2
特定の計算手法がこの問題を解決できないように見える理由について、直感的な引数を与えるだけです。しかし、問題は、可能性のあるテクニックが機能しないという証拠を求めることです。
David Richerby 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.