質問

$ l = {<!m、x !> 、 mid m's text {transition functionは右にのみ移動でき、m text {halts on} x } $。 $ l $が再帰的/決定可能であることを示す必要があります。

最初に$ m $のエンコーディングをチェックして、その遷移関数が正しく移動するかどうかを判断することを考えました(私はそれをすることができますか?)。もしそうなら、$ x $で$ m $を$ | q |+1 $ステップでシミュレートするようにしてください。

これは正しいです?

役に立ちましたか?

解決

$ q $は$ m $の状態セットであると仮定します。もしそうなら、このランタイムバウンドはあまり意味がありません。特に、3つの状態を持つチューリングマシンは、入力の最後に移動し、$ x $が偶数であるかどうかを確認できます。 3つのステップを待つだけでは明らかに十分ではありません。

次の質問は、そこにいるかどうかです ワンパスマシンを停止するランタイムの計算可能なバウンド。残念ながら、$ m $は任意の量のステップの後に非決定的で停止する可能性があります。

したがって、シミュレーション中に$ m $を決定し(計算可能)、すべてのパスにバインドされたものを探します。今、私たちはどこかに到達しています:入力を消費した後、2つのケースがあります。 $ m $が停止するか、ループに入ります。 (空のテープに右に移動するだけなので、そのようなループを検出できます。

物事をまとめると、$ m $の決定をシミュレートします。 $ x $が消費されるまですべてのブランチを実行し、次に別の$ | q | cdot | sigma_t | $ステップ、$ q $の状態、$ sigma_t $ $ $ m $のテープアルファベットのために実行します。この時点で、$ m $は停止またはループ(このブランチ)のいずれかで、これを2回目の現在の状態とテープ記号のペアで検出します。計算可能なバウンドまで多くの分岐を確認する必要があるため、$ l $は再帰的です。


  1. $ m $は、頭を動かしていない場合はすでにここでループするかもしれませんが、それも検出できます。
ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top