決定論が難しい効率的でシンプルなランダム化アルゴリズム


33

多くの問題について、非常にエレガントなランダム化アルゴリズムを知っているが、決定的な解決策がないか、より複雑なだけであるとよく耳にします。ただし、これについてはほんのいくつかの例を知っています。最も顕著に

  • ランダム化クイックソート(および関連する幾何学的アルゴリズム、たとえば凸包用)
  • ランダム化されたミンカット
  • 多項式IDテスト
  • クレーの測定問題

これらのうち、ランダム性を使用しないと多項式の同一性テストのみが本当に難しいようです。

ランダム化された解決策は非常にエレガントまたは非常に効率的ですが、決定論的解決策はそうではない問題の例をもっと知っていますか?理想的には、問題は素人向けの動機付けが容易でなければなりません(たとえば、多項式の同一性テストとは異なります)。


10
別の例は素数テストです。Miller–RabinおよびSolovay–Strassenの確率的素数テストは、非常にシンプルで効率的です。アグラワル、カヤル、サクセナによって解決された効率的な決定論的素数性テストを見つけることは、長年の未解決の問題でした。AKS検定は、決定論的な多項式検定の素数性検定です。ただし、確率的テストほど単純ではなく、効率的でもありません。
ユーリー

8
ランダム化された選択(中央値検出)は、決定論的よりもやや簡単です。LPを近似的に解き、カバーするためのランダム化アルゴリズムは、決定論的な対応物(KY07GK95)よりも(最悪の場合)高速です。多くのオンライン問題は、任意の決定論的アルゴリズムFK91よりも競争力のあるアルゴリズムをランダム化しました
ニールヤング

11
高次元の凸体の体積を計算すると、ランダム化による近似が認められます。決定論的アルゴリズムが優れた近似を提供できないことが知られています。したがって、ここではランダム化が不可欠です。(1+ϵ)
チャンドラチェクリ

5
@ChandraChekuriそれは良いコメントであり、さらに良い答えになるでしょう:)
Suresh Venkat

3
オラクルモデルの@ChandraChekuri、それ以外の場合はBPPP
Sasho Nikolov

回答:


36

ナットとボルトの選別

1992年にRawlinsによって次の問題が提案されました。n個のナットとn個のボルトのコレクションが与えられたとします。各ボルトは正確に1つのナットに適合します。それ以外の場合、ナットとボルトのサイズは異なります。サイズが近すぎるため、ボルトのペアまたはナットのペアを直接比較できません。ただし、ナットをボルトで締めて比較することはできます。一定の時間で、ボルトが大きすぎるか、小さすぎるか、またはナットにちょうどいいかどうかがわかります。あなたの仕事は、どのボルトが各ナットに適合するか、または同等に、サイズごとにナットとボルトを分類することです。

ランダム化されたクイックソートの単純なバリアントは、時間の問題を高い確率で解決します。ランダムなボルトを選びます。ナットを分割するために使用します。対応するナットを使用してボルトを分割します。そして再帰。ただし、で実行される決定論的アルゴリズムを見つけることは重要です。決定論的時間アルゴリズムは、1995年にBradfordによって、そしてKomlós、Ma、およびSzemerédiによって独立して最終的に発見されました。内部では、両方のアルゴリズムがAKS並列並べ替えネットワークのバリアントを使用しているため、時間制限の隠れた定数は非常に大きくなります。ランダム化アルゴリズムの隠された定数は4です。o n 2O n log n O n log n O(nlogn)o(n2)O(nlogn)O(nlogn)

  • ノガ・アロン、マヌエル・ブルム、アモス・フィアット、サンパス・カンナン、モニ・ノア、ラフェール・オストロフスキー。一致するナットとボルト。手続き 5th Ann ACM-SIAM Symp。離散アルゴリズム、690–696、1994
  • ノガ・アロン、フィリップ・G・ブラッドフォード、ルドルフ・フライシャー。ナットとボルトをより速く一致させます。通知する。手続き レット。59(3):123–127、1996。
  • フィリップG.ブラッドフォード。ナットとボルトを最適に一致させます。技術 議員。MPI-I-95-1-025、マックスプランク研究所のfürInformatikは、1995年http://domino.mpi-inf.mpg.de/internet/reports.nsf/NumberView/1995-1-025
  • フィリップ・G・ブラッドフォードとルドルフ・フライシャー。ナットとボルトをより速く一致させます。 手続き 6日。Int。シンプ アルゴリズム計算。、402–408、1995。講義ノートの計算。科学 1004。
  • ヤノス・コムロス、ユアン・マ、エンドレ・セメレディ。時間でのナットとボルトのマッチング。SIAM J.離散数学。11(3):347–372、1998。O(nlogn)
  • グレゴリー・J・E・ローリンズ。何と比較して?:アルゴリズム分析入門。コンピューターサイエンスプレス/ WHフリーマン、1992年。

2
これは美しい例ですが、オラクルの問題です。オラクルを削除する方法はありますか?
ピーターショー

98 Szemeredi論文へのリンクがありますか?これはどうですか?並行して、各ボルトを一意のナットと比較し、各ペアをソート順に並べます。一致した要素を削除します。log(n)ステップでは、ソートされたnbnbnbnbnbシーケンスをマージし、発生したマッチをキックアウトします。編集:ええ、nnnとbbbbの文字列の非比較性は、マージ手順で迷惑です。
チャドブルーベーカー

@ChadBrewbaker 1つを除くすべてのペアで、ボルトがナットより小さいと仮定します。(はい、これは可能です。)さて、あなたのアルゴリズムは何をしますか?つまり、「迷惑」=「問題全体」です。
ジェフ

私は、セメレディの論文を探していて、それがどれほど難しいかを大声で考えていました。はい、マージベースのアプローチは自明ではありません。しかし、平行グラフ接続性に関するVishkinの論文は、不可能ではないという直感を残しています。
チャドブルーベーカー

ナットとボルトの各比較では、グラフに有向エッジを追加するか、両方の頂点を削除する一致を取得します。目標は、直線的な量の作業でそれらの間のすべての一致を折りたたむように接続されたコンポーネントをマージし、線形空間に制限された接続されたコンポーネントのエッジのストレージサイズを維持することです。
チャドブルーベーカー

17

ポリタイムについて話しているだけでなく、調査する計算の多くのモデルを見ると、どこにでも例があります。

Logspace:無向ST接続(1979年以降のRLおよび2005年以降のLのみ)

NCの場合:2部グラフで完全に一致するものを並行して見つける(RNCで、NCであることがまだ知られていない)

インタラクティブな証明:決定論的なものはNPを与え、ランダム化されたものはPSPACEを行います。関連:決定論的にプルーフをチェックするには、すべてのプルーフを調べる必要がありますが、PCPプルーフでは、一定数のビットのみをチェックできます。

アルゴリズムメカニズムの設計:決定論的な対応物がない、多くのランダム化された真実の近似メカニズム。

通信の複雑さ:等式関数は、決定論的に線形通信を必要としますが、対数(または正確なモデルによっては一定)通信がランダムに必要です。

決定木:and-or木を評価するには、線形クエリが決定論的に必要ですが、ランダム化でははるかに少なくなります。これは、ゲームツリー評価のためのランダム化された準線形アルゴリズムを提供するアルファベータプルーニングと本質的に同等です。

ストリーミングモデル、分散コンピューティングモデル:以前の回答を参照してください。


12

ほとんどのストリーミングアルゴリズム

計算のストリーミングモデル(AMSbook)では、アルゴリズムは更新のオンラインシーケンスを処理し、準線形空間のみを保持するように制限されています。どの時点でも、アルゴリズムはクエリに応答できる必要があります。

多くの問題では、サブリニア空間のランダム化ストリーミングアルゴリズムが存在しますが、サブリニア空間の問題を解決できる決定論的アルゴリズムはありません。これは、ランダム化された通信と決定論的な通信の複雑さのギャップに関連しています。簡単な例は、個別のカウント問題です。各タイムステップ、アルゴリズムに整数が与えられ、を近似できるはずですすなわち、タイムステップまでに見られる個別の整数の数。定数近似を達成する決定論的アルゴリズムは空間を使用する必要があることを示すのは比較的簡単です(たとえば、講義ノートを参照してくださいtit[n]Dm=|{it:t=1m}|mΩ(n)Piotr Indyk)。一方、FlajoletとMartin の巧妙なサンプリングアルゴリズム(上記のリンクされたAMS論文のランダム性が制限された単純な分析)は、ビットで一定の近似を達成します。最新作の問題には、最適付与アルゴリズム演算近似。O(logn)O(1ϵ2+logn)1±ϵ


8

最大次数持つノードの分散ネットワーク最大独立集合を見つける。ランダム化された決定論的アルゴリズムを保持する既知の下限[3]があります。nΔmin(Ω(logΔ),Ω(logn))

以下は、同期ラウンドで進行する単純なランダム化分散アルゴリズム[1]です。(ラウンドでは、すべてのノードがローカル計算を実行し、その近隣にメッセージを送信できます。これらのメッセージは、次のラウンドの開始前に受信されることが保証されています。)u

  1. すべてのラウンドで、各アクティブノードは確率で自身をマークしますはの次数です。場合、単純に独立セットに入ります。(最初は、すべてのノードがアクティブです。)1 / d u d u > 0 u d u = 0 uu1/dudu>0udu=0u
  2. 場合その近傍でのみマークされたノードで、、独立したセットに入り、自分自身を無効にするために自分自身と通知隣国のすべてを無効にします。残りのアクティブノードの次数はそれに応じて減少します。つまり、非アクティブ化されたノードへのすべてのエッジが削除されます。Uuu
  3. そうでなく、マークされている隣接ノードがある場合、低次の頂点はマークを外してアクティブのままです。v

このアルゴリズムは、残りのエッジの半分がすべてのラウンドで削除されると主張することにより、ラウンドで高い確率で終了することが示され。対照的に、最速の既知の確定的分散アルゴリズム[2]はラウンドを取り、かなり複雑です。O n 1 / O(logn)O(n1/logn)


[1] Michael Luby:最大独立集合問題のための単純な並列アルゴリズム。SIAM J. Comput。15(4):1036-1053(1986) http://dx.doi.org/10.1137/0215074

[2] Alessandro Panconesi、Aravind Srinivasan:分散ネットワーク分解の複雑さについて。J. Algorithms 20(2):356-374(1996) http://dx.doi.org/10.1006/jagm.1996.0017

[3] Fabian Kuhn、Thomas Moscibroda、Roger Wattenhofer:ローカル計算:下限および上限。CoRR abs / 1011.5470(2010) http://arxiv.org/abs/1011.5470


生物学的システムに触発された最近のアルゴリズム(PODC 2013)は、単純なローカルフィードバックメカニズムを使用して、Lubyの性能と同等の性能を実現しています。 arxiv.org/abs/1211.0235
アンドラス・サラモン

6

プロセスの匿名リングでのリーダー選挙

IDを持たず、メッセージの受け渡しによって通信するプロセスのリングネットワークがあるとします。最初は、すべてのプロセスは同じ状態です。最終的に正確にプロセスが選択状態になり、他のすべてのプロセスが非選択状態になるように、分散アルゴリズムを設計します。これは、いわゆるリーダー選出問題であり、分散システムの基本的な対称性を破るタスクの1つであり、多くのアプリケーションがあります。1

匿名のリングには決定論的なリーダー選出アルゴリズムがないという単純な議論があります(例[1])。

モデル:各ラウンドで、すべてのプロセスがローカル計算を実行し、リング内の近隣にメッセージを送信し、近​​隣からメッセージを受信する同期ラウンドで計算が進むと想定します。

矛盾のために、そのような決定論的なリーダー選挙アルゴリズムがあると仮定しましょう。ラウンドの開始時に、すべてのプロセスが同じ状態にあることを示すだけで十分です。これは、選出された状態にプロセスがしかないことを意味するためです。プロセスにはIDがなく、ネットワークは対称的であるため、すべてのプロセスは同じ初期状態にあり、誘導ベースを提供します。R 0 1Ar01

誘導ステップのために、いくつかのラウンドを検討、すべてのプロセスがラウンドの開始時と同じ状態にあることを前提とし。したがって、アルゴリズムは決定論的であるため、すべてのプロセスはまったく同じ計算を実行し、ラウンド中にまったく同じメッセージを送信します。これは、間にすべてのプロセスがまったく同じメッセージを受信し、ラウンド開始までに同じ状態にあることを意味します。したがって、そのようなアルゴリズムは存在できません。、R A 、R 、R 、R + 1 Ar0rArrr+1A

場合一方のランダム化アルゴリズムであり、プロセスは、リングのサイズを知っている、対称性を破壊する簡単な方法は、範囲からランダムIDを生成することによって、あります固有のIDをもたらすであろう、高い確率ですべてのプロセスに対して。単純で素朴なアルゴリズムでは、すべてのプロセスがリングに沿ってそのIDを送信し、これまでに見られた最大のIDを含むメッセージのみを転送するようにプロセスに指示します。これにより、最大のIDを生成したプロセスのみがリング全体を通過し、リーダーとして自分自身を選択すると、独自のメッセージを受け取ることが保証されます。n [ 1 n 4 ]An[1,n4]


[1] Dana Angluin:プロセッサのネットワークにおけるローカルおよびグローバルプロパティ(拡張抄録)。STOC 1980:82-93。 http://doi.acm.org/10.1145/800141.804655


6

クエリモデルの多数の問題。

問題。2つ以上の色で着色されたボールのセットが与えられます。「ボールとボールは同じ色ですか?」という形式のクエリを使用して、そのような色が存在すると仮定して、多数色(つまり、n / 2回以上発生する色)のボールを見つけることが目標です。戦略は忘れてはなりません。つまり、クエリは前のクエリの結果に依存できません。i jnij

ランダム化アルゴリズム。ランダムなボールを選び、個以上のボールが同じ色を持っているかどうかを確認します。このアルゴリズムは、期待して時間で実行されます。O n n/2O(n)

決定論的アルゴリズムO(n)は非常に重要であり、エキスパンダーの優れたアプリケーションです。

FRK Chung、RL Graham、J。Mao、およびAC Yao、多数派および複数派の問題に対する忘却的および適応的戦略、Proc。COCOON 2005、pp。329–338。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.