複数のパスでst-connectivityのスペース使用量を削減しますか?


20

グラフ仮定と頂点のストリームとして提示されているエッジが、複数のパスがストリーム上許されます。n mGnm

Monika Rauch Henzinger、Prabhakar Raghavan、およびSridar Rajagopalanは、データにパスが許可されている場合、 2つの与えられた頂点間にパスがあるかどうかを判断するためにスペースが必要であることを観察しました。(テクニカルレポートバージョンも参照してください。)ただし、実際にこの限界を達成するためのアルゴリズムは提供されていません。最適なアルゴリズムは、現実的なコンピューティングモデルで実際に空間を取ると仮定します。これは、一定サイズのポインターを使用してメモリのインデックスを作成できない場合、異なる頂点を区別する必要があるためです。G k O nΩ(n/k)GknO((nlogn)/k)n

どのようにして、グラフの接続性を決定することができ使用して渡しO nはkスペース?O((nlogn)/k)

1つのパスのみが許可されている場合、入力データは頂点のセットのパーティションとして保存でき、2つの異なるセットの頂点間にエッジが見られる場合はセットをマージできます。これには明らかにスペース。私の質問は k > 1についてです。必要なスペースを減らすために、どうすればより多くのパスを使用できますか?O(nlogn)k>1

(自明性を避けるために、は定数でアプリオリに制限できないパラメーターであり、スペースの制限はnkの両方の関数を含む式です。)knk


更新:場合でも、n / 2頂点のみを保存する方法があると本当に便利です。または、kに関係なく、定数cに対して実際にはより強い下限c nがありますか?k=2n/2cnck


関係なくどうですか?非常に大きくなる可能性がある場合、st-connectivityはO log 2 n 空間で解くことができるため、アルゴリズムの可能性がありますが、アゾトリチドが示すように、おそらくO n log n / k )ではありません。kOログ2nOnログn/k
domotorp

ランダム化アルゴリズムのGuhaおよびMcGregorのパス除去は逆方向に機能し、より多くのスペースを使用してより少ないパスを許可することに注意してください(ただし、目的の誤差が小さい場合、追加のスペースは大きくなります)。この質問は、より多くのパスを使用することで、スペース使用量を削減できるかどうかを尋ねます。
アンドラスサラモン

回答:


8

準線形空間と多項式時間を同時に実行するst-connectivityのアルゴリズムを見つけることは、長年の未解決の問題であり、目的のより簡単なタスクです。このようなアルゴリズムは、無向バージョンで知られていますが、これらでも大きな多項式時間を必要とします(kパスアルゴリズムによって暗示されるO(km)時間ではなく)。特に、指示されたケースが難しいように見える理由に関するTompaの論文への参照を参照してください。


1
M. Tompa、多項式時間を認めない2つのよく知られた推移閉包アルゴリズム、部分線形空間の実装、SIAM J. Comput。11(1)、130–137。 dx.doi.org/10.1137/0211010
アンドラスサラモン

このペーパーでは、「同時に実行されるst-connectivityのアルゴリズムサブリニアスペースと多項式時間」。

4

k=ΘnOログnOnm


3

k


ポインタをありがとう、これは興味深い論文です。プロセッサは、少なくともグラフと同じ大きさのデータ構造への共通アクセス権を持っているため、これはスペース使用量の削減には役立ちません。ラウンド数とプロセッサー数を活用してスペース使用量を削減する方法があれば、本当に興味深いでしょう。
アンドラスサラモン


1

Onログn/kkn/kstn/kn/kst

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