タグ付けされた質問 「transitive-closure」

1
エッジの追加ごとにO(N ^ 2)よりも優れたオンライン推移閉包
私は、エッジの追加ごとにO(N ^ 2)未満の時間複雑度を持つ有向非巡回グラフの推移的閉包を維持するためのオンラインアルゴリズムを探しています。私の現在のアルゴリズムは次のようなものです。 For every new edge u->v connect all nodes in Pred(u) \cup { u } with all nodes in Succ(v) \ \cup { v }. O(N ^ 2)エッジの場合、これは、たとえばFloyd-Warshallよりもはるかに悪いO(N ^ 4)の総時間複雑度に変換されます。

2
推移的完了/パス存在オラクルの計算
いくつかの質問(があった1、2、3、このようなものが可能であるなら、私は考えて作られた、ここで推移完了について): 我々は、入力有向グラフ取得を前提とGGGと型のクエリに応答したいと思います「(U 、V )∈ G+(あなた、v)∈G+(u,v)\in G^+?」、グラフの推移完了に2つの頂点間のエッジが存在する場合、すなわち尋ねるGGG?(等価的に、「からパスがあなたあなたuにvvvでGGG?」)。 与えられたGGG後、時間f(n 、m )f(ん、メートル)f(n,m)前処理を実行でき、時間クエリに応答する必要があると仮定します。g(n 、m )g(ん、メートル)g(n,m) 明らかに、(つまり、前処理が許可されていない)の場合、実行できる最善の方法は、時間内にクエリに応答することです。(から DFSを実行し、パスが存在する場合はtrueを返します)。f= 0f=0f=0g(n )= Ω (n + m )g(ん)=Ω(ん+メートル)g(n)=\Omega(n+m)あなたあなたuvvv 別の些細な結果は、その場合f= Ω (M I N { N ⋅ M 、Nω} )f=Ω(メートル私ん{ん⋅メートル、んω})f=\Omega(min\{n\cdot m,n^\omega\})あなたは推移閉包を計算した後でクエリに答えることができる。O (1 )O(1)O(1) 途中の何かはどうですか?許可されている場合、たとえば前処理時間で、よりも速くクエリに回答できますか?多分それを改善しますか?f= n2f=ん2f=n^2O (m + n )O(メートル+ん)O(m+n)O (n )O(ん)O(n) もう1つのバリエーションは前処理時間があるが、スペースしかない場合、前処理を使用してよりも効率的にクエリに答えることができますか?P O LのY(n 、m )poly(ん、メートル)poly(n,m)o (n2)o(ん2)o(n^2)O (n + …

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