Pの問題のみを検討する場合、特定の問題について、既知の最速のワードRAMアルゴリズムと既知の最速のチューリングマシンアルゴリズムの間に大きなギャップはありますか?一般的に関心のある自然問題に大きなギャップがある場合、私は特に興味があります。
Pの問題のみを検討する場合、特定の問題について、既知の最速のワードRAMアルゴリズムと既知の最速のチューリングマシンアルゴリズムの間に大きなギャップはありますか?一般的に関心のある自然問題に大きなギャップがある場合、私は特に興味があります。
回答:
時間でRAMマシン上で計算できる問題は、チューリングマシンで最大で計算できることが知られています。あなたは、使用されるメモリの合計サイズを超えることはできませんことに注意することが必要それはあなたがより多くの書き込み操作をしたことを意味することから、使用すると、RAMメモリ、チューリングから何かを取り出すたびので、 machineは、最悪の場合、時間をかけて、テープから目的の要素を順番に見つけます。メモリアクセスに加えて、残りの操作にはほぼ同じ時間がかかります。そして、あなたは限界を得る。T (n )2 T (n )T (n )T (n )
以下の例では、アルゴリズムのことを証明している取り言葉-RAM上の問題を解決するためには、必要な場合がありますに1テープチューリング機械(TM )示されるすべての計算を正確に実行します。質問が1テープTMに関連していることを理解しています。これは私の回答でのみ使用します。これは、エミール・イェジャベクの発言に対処するための編集です。O (n log (n ))O (n 2 log (n )3)A
我々は見つけるでしょう、次のより一般的な結論を。TMはで解決できることを証明するためにの問題は解決にアルゴリズムにより RAMに、それはしない十分ラン TMに。巧妙なアルゴリズムが必要になる可能性があります。オーバーヘッドを証明したい場合も同様です。控えめに言っても、必要なときにいつでも賢いアルゴリズムの存在を証明することは、すぐにはほど遠いようです。これは、基本的にTMのすべてのRAM計算(アルゴリズム)をシミュレート/実行してTMの複雑さを通知することだけを提案する他の応答と一致していませんまたは。
問題:我々は、アレイ/テーブル与えられる用いて整数に格納された各ビット。我々は二番目の配列与えられると位置を、多数の記録各ビット。いずれかのため、我々は定義であれば MOD MOD。それ以外の場合、。出力。入力がテープとして与えられていると思い N = 2 k個のログ(N )dはログ(N )ログ(N )Tを∈ [ 0 .. ログ(N )- 1 ] X T = 1つのタブ [ I ] 2桁の数字で、Emil Jeaddressábekのコメントに対応します。
RAM上のアルゴリズムワードサイズのRAMは、バイナリ文字列入力を読み取るために =を必要としますデータ。しかし、データを読み取った後は、サイズのワードでのみ機能します。アルゴリズム、すべてのを通過して条件をテストすることにより、を計算します。のメインループはFOR:計算します。全体の複雑さは(データの読み取り)+(計算を行う)、はすべてRAM上のでそれを行うことができます。
1テープTMのアルゴリズム: 1テープTMは、固定に対して時間を必要とすると私は主張し。TMの観点から、決定するは、長さの2つのバイナリ文字列の等価性をテストすることと同じです。たとえば、MOD操作 MODは、ビットを削除することと同じです。このような場合、決定するは、長さビット文字列の等価テストと同等です。長さ 2つの文字列の等価性をテストすることはよく知られています1テープTM ではが必要ですが、現在、参照を実際に見つけることができません。しかし、私はpsで証明を提供します。TM がのメインループを実行する場合、ごとに少なくともを費やす必要があり、最終的に。
ps。私は平等、テストをビット列に表示ビットができない高速と列にpalyndromeテストよりもビット(palyndromeは、少なくとも取ることが知られている時間)。パリンドロームを解決するために、等価性テスト用の任意のTMアルゴリズムを変更できます。等価性テストTMが2つの整数で始まると仮定します。1つは頭の左側にあり、もう1つは右側にあります(これはTMの最も単純な入力フォームです)。左の位置を超える各移動は、右の位置をミラーリング(反映)できます。ミラーリングされたTMを構築します。最初のTMが(左側)の位置にあるときは常に、ミラーリングされたTMが位置(右側)にあります。TMが未満で等式テストを解いた場合、この変更されたミラー化TMは未満で回文を解決します。
また、いくつかの同等性テストTMアルゴリズムがそこにあり、それらはすべてジグザグになっている必要があるため、すべてが二次時間を必要とします。たとえば、Tourings Machineの例2を参照してください。 lec3.pdf