RAMマシンによってT(n)で計算可能なブール関数がDTIME(T(n)^ 2)にあることを証明します


10

問題は、Arora-Barakの著書「Computational Complexity — Modern Approach:」の演習1.9 です。


RAMチューリングマシンを、ランダムアクセスメモリを持つチューリングマシンとして定義します。これを次のように形式化します。マシンには、すべての空白に初期化される無限配列Aがあります。次のようにこの配列にアクセスします。マシンのワークテープの1つがアドレステープとして指定されています。また、マシンには、RとWで示される2つの特別なアルファベット記号と、q_accessで示される追加の状態があります。マシンがq_accessに入るときは常に、そのアドレステープに 'i'R(' i 'はiのバイナリ表現を表す)が含まれている場合、値A [i]がRシンボルの隣のセルに書き込まれます。そのテープに 'i'Wa(aはマシンのアルファベットの記号)が含まれている場合、A [i]は値aに設定されます。

ブール関数がRAM Tによって時間T n (ある時間構成可能なTの場合内で計算可能である場合、はD T I M ET n 2)にあることを示します。fT(n)TDTIME(T(n)2)


(アドレス値)追加のテープ記録のペアを使用して、自明な解は、であることが判明そのテープは、大きさのものとすることができるので、O T N 2O T n ペア、各ペアのアドレスはサイズO T n )にすることができます。DTIME(T(n)3)O(T(n)2)O(T(n))O(T(n))


22T(n)T(n)log(T(n))T(n)

1
T(n)O(T(n))O(2T(n))

3
AroraとBarakは、導入部で質問に対する他の投稿しない回答を明示的に要求することに注意してください。宿題に関するポリシーもご覧ください。
カヴェ

O(T(n)2)

詳細については、理論的なコンピューターサイエンスのハンドブックの最初の章を参照してください。
Kaveh

回答:


2

あなたはコメントに書き込みます

T(n)O(T(n))

同様の引数を使用して境界を改善できますか

O(T(n)2)O(T(n))O(T(n))

あなたは質問で言及しますか?作成者が使用する正確な定義を使用して、RAMで一定の時間内に実行可能な操作を覚えておく必要がある場合があります。


このヒントが、本の著者の希望を尊重するのに十分あいまいであると同時に、多少役立つことを願っています。(ヒューリスティック:問題がエクササイズとして与えられた場合、私は学生に多く伝えます。しかし、おそらく試験には参加していません。)
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.