RPの真のランダム性を(おそらく)コルモゴロフのランダム性に置き換えることはできますか?


10

コルモゴロフのランダム性RPに十分であることを示す試みはありましたか?「正解がYESの場合、確率的チューリングマシンはYESを確率で返す...」というステートメントで使用される確率は、その場合、常に適切に定義されますか?それとも、その確率には上限と下限しかありませんか?それとも、確率が明確に定義されている確率的なチューリングマシンが常に存在するだけでしょうか(少なくとも、下限は1/2より大きくなければなりません)。

ここでのクラスRPは比較的恣意的であり、コルモゴロフのランダム性よりも(疑似)ランダム性の弱い概念についてこの質問をすることもできます。しかし、コルモゴロフのランダム性は良い出発点のようです。


「確率」という言葉を理解することは、コルモゴロフのランダム性がRPで機能することを示す試みの一部です。ただし、考えられる1つのアプローチを説明し、それが何を意味するのか、そしてなぜ上限と下限について話し合ったのかを明確にしましょう。

してみましょうs(コルモゴロフランダム)文字列です。してみましょうA RPからの言語に対応する与えられた確率的チューリングマシンです。ランAsランダムビットのソースとしてn倍が、より以前に未使用のビットを消費し続けるs次々 。

以下のためのpns:=#YES result in first n runs of A on snp+s:=lim supnpns、P 、S + P S - S P S + = P S - S P 、S 1 - = P S 2 - S 1 S 2 P 1 / 2 P P S sps:=lim infnpnsp+spssp+s=pssps1=ps2s1s2p1/2ppss


2
質問が理解できません。「<ランダム性の概念>は<複雑さのクラス>には十分である」とはどういう意味ですか?RPは、コルモゴロフランダム文字列のオラクルを使用して多項式時間で逆ランダム化できます。
EmilJeřábek2017年

2
RPが「機能する」とはどういう意味かわかりません。また、最後のコメントもわかりません(RPマシンは、定義上、または不便な方法を使用した場合、一般性を失うことなく、常に多くのステップの後で停止します。定義)。
EmilJeřábek2017年

2
質問自体では、コロモゴロフのランダム文字列について話すときに「確率」が何を意味するのかも理解できません。ランダム分布から抽出される通常の「ランダム文字列」とは異なり、コルモゴロフランダムであることは、特定の文字列が持つ、または持たない実際のyes-noプロパティです。したがって、そのような文字列がアルゴリズムを受け入れるかどうかは確率変数ではなく、そのため、その確率について尋ねることは無意味です。
EmilJeřábek2017年

1
これに対する合理的なアプローチは、アルゴリズム的にランダムな文字列の「建設的なマルティンガレス」の視点を取ることです。特に、がをだまさない場合、これは「次のビット予測子」に変換され、次にがランダムではないことを示す賭け戦略に変換されることを期待できます。このアプローチが機能しても、と有意な収束率が得られるかどうかはわかりません。ただし、複雑さのクラス(キーワード:「リソース制限メジャー」)を研究するためのこのアプローチを使用する古いアプローチがあるようです。そのため、いくつかの希望があります。A s s p + p sAssp+p
Andrew Morgan

1
以前のコメントの関連ウィキペディアリンク(詳細は参照):建設的なマルティンガレス(3番目の定義を参照)、およびリソースに限定された測定
Andrew Morgan

回答:


13

ここで尋ねられる質問は、おおよそ「アルゴリズムのランダムビットのシーケンスを、適切に長いコルモゴロフランダム文字列から決定論的に描画されたビットに置き換えることができるという意味はありますか?」これは、少なくとも私が試みる質問です回答!(短い答えは「はい、ただし最初にエラー確率を増幅する場合のみ」です)


はい...

私たちは確かにここで何かを言うことができます。LET、いくつかの言語であるとlet入力として受け取りアルゴリズムでとランダムな文字列(にわたって均一分布)st。言い換えると、は、確率が最大ででエラーになるアルゴリズムです。A 、X 、R U F | X | { 0 1 } F | X |のPr [ A X R = L X ] > 1 - ε X A ε LAxrUf(|x|){0,1}f(|x|)Pr[A(x,r)=L(x)]>1ϵ(x)Aϵ()

ここで、が間違った答えを与えた場合つまり場合、これはを説明するいくつかの手段を提供し、特にとして説明できることに注意してください。-th文字列。これにより、はエラーになりこれを行うには、ハードコードされた、、、およびビットを備えたマシンを作成し、から選択肢を列挙するだけです。は、ような番目の選択肢が見つかるまで続きます。x r A x r L x r i A x です。x A i b = 1A(x,r)A(x,r)L(x)riAx.xAiR ' { 0 1 } F | X | iはrの' A X R 'Bb=1xLr{0,1}f(|x|)irA(x,r)b

これで、ランダム文字列の悪い選択であることを説明に利用できることがわかったので、説明を圧縮に変換するのに十分ないくつかの条件を見てみましょう。を説明するには、、、を説明するのに十分なビットが必要であり、その後、手順のコード(のコードと説明したルーチン)を説明し、長さ説明として与えるr x i b A | x | + | | + O 1 = | x | + log 22 f | x | ϵ x + O 1 = | x | + f | x |log 1 / ϵ rrxibA

|x|+|i|+O(1)=|x|+log2(2f(|x|)ϵ(x))+O(1)=|x|+f(|x|)log(1/ϵ(x))+O(1).

ことをリコール長さである、これは圧縮されて、場合例えば、場合。rf(|x|)r

log(1/ϵ(x))=|x|+ω(1),
ϵ(x)=1/22|x|

最後に、がコルモゴロフランダム文字列の場合、そのような圧縮はあり得ないことに注意してくださいのエラー確率が十分に小さい限り、ランダムビットのシーケンスの代わりにコルモゴロフランダム文字列がに応答させます。正しく!rAA

について私たちが活用している唯一のものは、そのエラー確率が小さいことです。実行時間が非常に長いかどうか、またはに片側または両側のエラーがあるかどうかは関係ありません。AAA

これを(またはまたは)の問題に戻すと、アルゴリズムのエラー確率を増幅する限り、ランダムビットの代わりにコルモゴロフランダム文字列を使用できることになります。RPcoRPBPP


...しかし、最初に増幅する場合のみ。

フォローアップの質問は、「エラーの可能性を増幅せずにこれを実行できるか」ということになるかもしれません。を決定し、エラー確率を持つ次のアルゴリズムを考えます。{ 0 1 } * 1 / 2 NA{0,1}1/2n

入力:x

  • 文字列を生成しますr{0,1}n
  • 場合、拒否します。r=x
  • 受け入れます。

すべての選択のためのことに注意してください、いくつかの選択肢があるというように上ERRS、すなわちの選択、我々はによって使用されるビットのランダムシーケンス置き換えることはできませんので、増幅せずにコルモゴロフランダムな文字列では、エラー確率です!x A x r x ArxAxr xA


出典に関するメモ:これが小説であるかどうかはわかりませんが、最初の議論を私の適格試験の筆記に含めましたが、最終的には改訂後にオンラインで利用できるようになります。


私の友人のPreetumは、代わりにかどうかを示すビットを単にエンコードできる場合に、マシンをエンコードしてを決定することの愚かさを指摘しました。これを反映するように答えを編集します。M X のx LMM(x)xL
ディランマッケイ

1
Mike Sipserは彼のクールな論文sciencedirect.com/science/article/pii/0022000088900359で同様の種類の圧縮引数を使用しました(彼が必要とする展開グラフは実際に明示的に構築されていることに注意してくださいdl.acm.org/citation.cfm?id=273915
Ryan Williams
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.