決定論的に「見える」ランダム化アルゴリズム?


31

内部のランダム性に関係なく常に同じ(正しい)回答を出力するが、予想される実行時間が既知の最速の実行時間よりも良いようにランダム性を活用する、検索問題のランダム化アルゴリズムの興味深い例はありますか問題の決定論的アルゴリズム?

特に、nと2nの間の素数を見つけるためのそのようなアルゴリズムがあるかどうか疑問に思っていました。既知の多項式時間決定論的アルゴリズムはありません。間隔でランダムな整数をサンプリングするだけで機能する単純なランダム化アルゴリズムがあります。これは素数定理のおかげで機能します。しかし、予想実行時間が2つの中間である上記の種類のアルゴリズムはありますか?

編集:私の質問をわずかに絞り込むために、多くの可能な正しい出力があり、しかもランダム化されたアルゴリズムがそのランダム性に依存しないものに落ち着く問題のために、このようなアルゴリズムが欲しかった。質問がおそらく完全に指定されていないことを理解しています...


3
いくつかの検索キーワードを提供するために、常に正しい答えを生成する(実行時間を短くするためにランダム性を使用する)ランダム化アルゴリズムは、ラスベガスアルゴリズム(モンテカルロアルゴリズムとは対照的)またはゼロエラーアルゴリズムと呼ばれ、関連する複雑度クラスはZPPです
伊藤剛

@剛:コメントありがとうございます。しかし、検索の問題に対するラスベガスタイプのアルゴリズムについては知りません。これは私の質問です。
arnab

あなたの質問に答えるユニークなナッシュ均衡を見つけるためのランダム化されたアルゴリズムがある場合。
ウォーレンシューディ

おそらく、誕生日の攻撃(en.wikipedia.org/wiki/Birthday_attack)に関連して、要件に合った問題があるのでしょうか?
ウォーレンシューディ

回答:


23

シャフィ・ゴールドワッサーは、彼女と共著者が数論的問題のためにまさにそのようなアルゴリズムを調査していることを私に伝えました!以下が知られています:

  1. Lenstraは、与えられた素数の2次の非剰余modを見つけるためのアルゴリズムがあることを示しました。

  2. GatとGoldwasserは、生成元を見つけるためのアルゴリズムが存在することを示しました。ここで、は素数形式与えられた素数です。 p2q+1qZpp2q+1q

(引用可能な参考文献については知りません。)と間の素数を見つけることについて私が尋ねた質問に関する継続的な研究もあります。2 nn2n

編集:GatとGoldwasserによる論文が公開されました:http : //eccc.hpi-web.de/report/2011/136/。しかし、この論文はと間の素数を見つける問題を解決しません。2 nn2n


1
バーチャル+1。これは本当に興味深いです、論文を探します。
アンドラスサラモン

2
メモにも関わらず、これが良い答えだという理由だけでこの答えを支持しました。私は、他の誰かに投稿された良い答えを支持することに何の問題もないとは思いません。これについてMetaで議論を始めました。
伊藤剛

1
メモを削除し、メタスレッドの説明に従って「コミュニティwiki」にしました。
arnab

arnabが言及したメタスレッドは、meta.cstheory.stackexchange.com / q / 607 / 873にあります。
MS Dousti

18

ランダム化されたデータ構造は重要ですか?

ソートされた連想マップのデータ構造であるスキップリストがあります。

挿入、取得、削除などの一般的な操作の実行時間は、(予想されるケースでは)バランスの取れた検索ツリーつまり実行時間と同等です。ただし、データ構造は、適切に行われた場合、検索ツリーの実装よりもはるかに優れた定数係数を持つと主張されることがあります(これは、ランダム性の優れた効率的なソースに大きく依存します)。より良い一定の要因は、おそらくリバランス(または同様の操作)を行う必要がないという事実に起因します。O(logn)


ありがとう!これは間違いなく重要であり、私の元の質問に対する重要な答えです。私は、多くの潜在的な解決策がある素粒子発見問題により類似した問題を望んでいました。
arnab

ジャンプリストをその一連の思考に追加します。
ラファエル

13

ケルナーとスピルマンのランダム化多項式時間シンプレックスアルゴリズムはどうですか?線形プログラムの最適な頂点を見つけます。多項式時間で実行されることが証明されている決定論的なシンプレックスアルゴリズムは知られておらず、それらの多くについて、アルゴリズムに指数関数的な時間がかかる病理学的インスタンスを構築できます。

もちろん、多項式時間の内点アルゴリズムがありますので、それはまさにあなたが探しているものではありません。


最適なポイントが複数ある場合、ケルナースピルマンは常に同じポイントを返しますか?
サショニコロフ

3
一般的な線形プログラムには最適点が1つしかないため、摂動を使用して、常に同じ最適点を返すケルナースピルマンのバリアントを作成できます。
ピーターショー

12

2nn2n

2n1

これは資格がありますか?


いいね!これは間違いなく適格ですが、実行時間の改善がより重要な、より重要な例を探していました。
arnab

ツリー構造は必要ありません。これは配列で機能します。
sdcvvc



3

最初の質問については、最初にクイックソートについて考えましたが、それは明らかです。

確率的アイデアを使用する文字列照合アルゴリズム(Nebel、2006)があります。ただし、これが既存の最速のアプローチであるかどうかはわかりますが、トレーニングにはサンプルが必要なようです。


中央値検出も高速ですが、劇的ではありません。
アラムハロー

3

次のSTACS '97の論文は、あなたのケースにとって興味深いかもしれません:テストインスタンス生成の複雑さ

概要:最近、渡辺は、特定のNP検索問題を平均して効率的に解決することを目的とするアルゴリズムの正確性と平均ケース動作をテストするための新しいフレームワークを提案しました。基本的なディストリビューションに似た方法で、認証済みインスタンスをランダムに生成するという考え方です。このアプローチについて説明し、NPオラクルへの非適応クエリを使用して、すべてのNP検索問題に対してテストインスタンスを生成できることを示します。さらに、ラスベガスとモンテカルロタイプのテストインスタンスジェネレーターを紹介し、これらのジェネレーターを使用して、アルゴリズムが平均して正しくかつ効率的であるかどうかを確認できることを示します。実際、すべてのRP検索問題用のモンテカルロジェネレーターと、すべてのZPP検索問題用のラスベガスジェネレーターを構築することは難しくありません。一方、

特に、結果12の384ページをご覧ください。

Z P用のラスベガスジェネレーターを構築するのは難しくありませんZPPRPZPPNPNPcoNP


2

[AKS]以前は、PrimalityにはcoRPおよびRPアルゴリズムがありました(coRPの場合はMiller-Rabin、RPの場合はAdleman-Huang)。自然なゼロエラー拡張は、エラーをプッシュするまで両方を同時に実行することです。1ncpolylog(n)


3
これは...テストして見つけられないを指し
ダナMoshkovitz

検索の問題にもっと興味がありました。意思決定の問題には、ラスベガスのアルゴリズムがあります。
arnab
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.