$ L_C={\ langle m_1 \ rangle、\ langle m_2 \ rangle)を減らします:L(m_1)\ cap l(m_2)\ Neq \ EmptySet \ $ to $ a_ {tm} $

cs.stackexchange https://cs.stackexchange.com/questions/120339

質問

$ l_c={\ langle m_1 \ rangle、\ langle m_2 \ rangle):l(m_1)\ cap l(m_2)\ Neq \ EfftySet \} $ $ a_ {tm}={\ langle m、w \ rangle:m $ $ w $ }}。

私の試してみてください: チューリングマシン $ n $ を使って、ユニバーサルな言語を決定するためのサブルーチンとしてユニバーサル言語を決定する$ u $ を使用して、$ n $ を作成します。 $ L_C $ $ n $ 、任意の入力 $ <\ langle m_1 \ rangle、\ langle m_2 \ rangle> $
$ 1。$ word $ w \ in \ un \ un \ in \ in \ ast $ を作成するプログラムを構築します。 。
$ 2. $ $ u $ $ \ langle m_1 、w \ rangle $ $ \ langle m_2、w \ rangle $
$ 3。$ $ u $ の両方を受け入れます。
$ 4。$ でない場合は、 $ 1 $

うまくいかないようです。 $ L(m_1)\ cap l(m_2)=emptyset $ $ n $ 永遠にループ(そのような $ w $ を見つけることができません)。

役に立ちましたか?

解決

あなたが求めている縮小の方向は少し奇妙です。通常、 $ a_ {tm} $ からを減らします。

おそらくあなたは他の方向について尋ねることを意味していましたか?

あなたの質問に対する答えの答え:あなたの試みは実際にはかなり近いので、ちょっとの修正が必要です。これはあなたが進むことができる方法です:

与えられた $ m_1、m_2 $ $ l_c $ の入力として、新しいマシンを構築する $ n $ は次のように機能します。入力 $ x $ $ n $ は、それをテープから $ x $ を消去してから、 $のシミュレーションを開始します。 M_1 $ $ m_2 $ $ w \ in \ sigma ^ * $ 、正規の順序で。ただし、 $ m_1 $ $ m_2 $ をシミュレートするためには、 all < / em>単語、私たちは停止するかもしれないように、任意に各単語でそれらを任意に実行することはできません(私たちは $ a_ {tm} $ を使用しません)。代わりに、 parallel でそれらを実行します。 $ m_1 $ $ m_2 $ $ \ sigma ^ * $ の各のそれぞれのそれぞれについて"Math-Container"> $ k $ 手順、そしてその後、 $ k $ を増やします。これはかなり一般的なトリックですが、それはかなり賢いです。

任意の時点で $ m_1 $ $ m_2 $ を受け入れると、 $ n $ を受け入れます。それ以外の場合は、 $ k $ を永遠に稼働させ続けます。

$ $ を送信して $ a_ {tm} $ $ $ n $ $ \ epsilon $ (そして他の任意の単語)のIFFを受け入れます。 $ m_1 $ $ m_2 $ の両方によって受け入れられる単語。

ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top