推移性チェックと推移性クロージャ


9

有向グラフの推移性をチェックすることは、(漸近的な複雑さの観点から)有向グラフの推移的閉包を取るよりも簡単ですか?有向グラフが推移的であるかどうかを判断するために、よりも良い下限を知っていますか?Ω(n2)


1
推移的閉鎖全体を保管すると、余分なスペースが必要になります。一部のグラフでは、エッジを再訪せずに推移性チェックをフックおよびショートカットできるはずです。参照:並列接続アルゴリズム、Y Shiloach、U Vishkin-Journal of Algorithms、1982O(logn)
Chad Brewbaker 14年

1
ここで、Siek
Chad Brewbaker 14年

2
意味がわかりませんが、Ωの下限| V | 2は単純です。あるエッジeについてK n{ e }を検討してください。任意のアルゴリズムがいるかどうかを確認する必要が要求されますuがV Eすべてのためのu V Vは、そうでないと彼は尋ねなかったエッジが欠落しているいずれかになります。 O | V || E |nΩ(|V|2)Kn{e}e(u,v)Eu,vVO(|V||E|)これは推移閉包の計算にかかる時間なので、上限です。
RB

2
頂点を持つ有向グラフを考えてみます。ソース頂点s 1s k、中間頂点t 1t kはそれぞれs iの直後の頂点であり、シンク頂点u 1u kは各t iの直接の後継者です。有向グラフは各弧s iu j)の推移的推移ですn=3ks1,,skt1,,tksiu1,,ukti(si,uj)グラフに表示されます。これには、エッジをチェックする必要があります。一方、推移閉包を発見することで行うことができるO N ω時間、ω < 2.373は、行列乗算の指数です。これらは、最もよく知られている境界です。k2=(n/3)2=Ω(n2)O(nω)ω<2.373
アンドラス・サラモン

DAGに追加の構造が含まれている可能性がありますか、それとも完全に一般的な結果が必要ですか?
Niel de Beaudrap 14年

回答:


9

私は次のことを紹介します下:あなたはOを持っている場合()のグラフは、任意のための推移であるかどうかをチェックするための時間アルゴリズムε > 0(、あなたはOを持つN 3 - ε Aを検出するための)時間アルゴリズムを三角形n個のノードグラフ、ひいては(によってFOCS'10から用紙)は、O(必要があるだろう、N 3 - ε / 3を 2個のブールを乗算する時間アルゴリズム)N × Nの結果によって従って行列、及びフィッシャー70年代のマイヤー、これはO(n 3 n3εε>0n3εnn3ε/3n×n)推移閉包の時間アルゴリズム。n3ε/3

ノードGで三角形を検出するとします。次のグラフHを作成できます。Hそれぞれn個のノード上にパーティションI J K 持つ3つの部分からなるものです。ここで、Gの各ノードxは、パーツI J Kにコピーx Ix Jx K 持っています。Gの各エッジu v に有向エッジnGHHI,J,KnxGxI,xJ,xKI,J,K(u,v)Gおよびu Jv KGの各非エッジu v に対して、有向エッジu Iv K追加します。(uI,vJ)(uJ,vK)(u,v)G(uI,vK)

まず、に三角形u v wが含まれている場合、Hは推移的ではありません。これは、エッジu Iv Jv Jw KHにあるが、u Iw Kはそうでないためです。場合には、第2は、Hで推移的ではない、その後、いくつかのノードからいくつかの有向パスが存在しなければならないのは、いくつかのノードをTHようにGu,v,wH(uI,vJ),(vJ,wK)H(uI,wK)HstH Hの有向エッジではありません。しかし、最長の経路 Hが有する 2個のエッジを、任意のそのような経路の形式でなければならないのでU IV JV JW K及びU IW Kでない Hしたがって、 u v w Gの三角形を形成します。(s,t)HH2(uI,vJ),(vJ,wK)(uI,wK)Hu,v,wG


1
推移閉包を見つけることは、基本的に行列乗算と同じです。問題は、下限の指数を2から上げることができるか、または上限の指数を2.373から下げることができるかです。実証する推論の連鎖は、推移性をチェックするための最適なアルゴリズムでさえ、推移的閉包のO n 2.667時間アルゴリズムしか生成しないことを示していますが、すでにO n 2.373時間アルゴリズムがあります。O(n2)O(n2.667)O(n2.373)
アンドラス・サラモン

ポイントは、ブラックボックスの削減が存在することです。O()時間アルゴリズムは実用的ではありません。ただし、サブキュービック時間で実行される実用的な推移性チェックアルゴリズムは、上記の削減により、BMMの実用的なアルゴリズム、つまり推移閉包も意味します。また、実用的なアルゴリズムを気にしない場合でも、FOCS'10のペーパーでの指数の損失は不要である可能性が高く、三角形の検出はおそらくBMMと同等です。n2.373
virgi

ああ、もちろん、推移性の問題の硬さは、三角形の検出の推定硬さに基づいているだけです。そこにはより下限よく知られていることを注意三角形の検出のために、そして最高の上限は、O N ωn2O(nω)
virgi 2014年

我々はすでに任意の速い行列乗算法を使用することにより、subcubic実用的なアルゴリズムを持っている:インスタンスを参照cacm.acm.org/magazines/2014/2/...
アンドラス・サラモン

2
ω2.78


4

DAGが推移的であるかどうかを判断することは、一般的な有向グラフが推移的であるかどうかを判断するのと同じくらい難しいです(前の質問に戻ります:))。

O(f(n))

GGO(f(n)log(1δ))δ

 1. for $O(\log{\frac{1}{\delta}})$ iterations:

   1.1. Compute a random permutation on $V$. Denote the result by $<v_1,v_2,...,v_n>$.

   1.2. Set $G'=(V,E\cup \{(v_i,v_j)|i<j\})$ (i.e. compute a random acyclic orientation).

   1.3. If $G'$ (which is acyclic) is not transitive return false.

 2. return true.

G

Ge1=(vi,vj),e2=(vj,vk)E(vi,vk)EGe1,e2G16G16O(log(δ))δ


1
O(f(n))f(n)=Ω(n2)O(f(n))O(n2)O(n2)O(n2)O(f(n))

1

O(n+m)nm


2
一般的な有向グラフの推移性チェックに確率的線形時間アルゴリズムを提供するため、これはIMOとは思えません。私の回答を参照してください。
RB

0

xi(x)0xM(x)R

  1. xRM(x)

  2. i(x)xR

このアルゴリズムを問題や他のアプリケーションに使用できますか?


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