タグ付けされた質問 「graph-algorithms」

ヒューリスティックを除くグラフのアルゴリズム。

5
グラフの特別なクラスの最大独立セットの近似アルゴリズム
P = NPでない限り、場合、最大独立集合(MIS)は係数内で近似するのが難しいことがわかります。より良い近似アルゴリズムが知られているグラフの特別なクラスは何ですか?n1−ϵn1−ϵn^{1-\epsilon}ϵ>0ϵ>0\epsilon > 0 多項式時間アルゴリズムが知られているグラフは何ですか?完全なグラフについてはこれが知られていますが、他に興味深いグラフのクラスはありますか?

10
重み付けされていないグラフでは簡単ですが、重み付けされたグラフでは難しい問題
多くのアルゴリズムグラフの問題は、重みなしグラフと重み付きグラフの両方で多項式時間で解決できます。いくつかの例は、最短経路、最小スパニングツリー、最長経路(有向非巡回グラフ)、最大フロー、最小カット、最大マッチング、最適な樹枝状突起、特定の最も密度の高いサブグラフ問題、最大非連結有向カット、特定のグラフクラスの最大クリーク、最大独立特定のグラフクラス、さまざまな最大ディスジョイントパス問題などで設定されます。 そこでは多項式時間で解けるされているいくつかの(おそらく大幅に少ないが)問題は、しかし、ある重み付けされない場合は、しかし、ハードになる(またはオープン状態を持っている)、加重ケース。以下に2つの例を示します。 所与完全グラフ-vertex、整数K ≥ 1、スパニング見つけるkは、エッジの最小可能数のサブグラフを-connected。これは、最適なグラフの構造を伝えるF. Hararyの定理を使用して、多項式時間で解くことができます。一方、エッジに重みが付けられている場合、最小重みk接続されたスパニングサブグラフを見つけることはN P -hardです。nnnK ≥ 1k≥1k\geq 1kkkkkkNPNPNP S. Chechik、MP Johnson、M。Parter、およびD. Pelegの最近の(2012年12月)論文(http://arxiv.org/pdf/1212.6176v1.pdfを参照 )は、とりわけ、パスの問題を考慮しています最小露出パスを呼び出します。ここで指定された2つのノード間のパスの1つのルックス、その結果、パス上のノードの数、プラスパスに隣人を持っているノードの数が最小です。彼らは、有界度のグラフでは、これは重み付けされていない場合のために多項式時間で解くが、となりすることができることを証明する度が4(注バインドさえして、重み付けされた場合には-hard:参照は質問への答えとして発見された何このパスの問題の複雑さは?)NPNPNP この性質の他の興味深い問題、つまり、加重バージョンに切り替えると「複雑さのジャンプ」が発生する場合はどうですか?

1
3次グラフでは簡単ですが、最大次数3のグラフでは難しい問題はありますか?
キュービックグラフは、すべての頂点が次数3のグラフです。それらは広範囲に研究されており、いくつかのNP困難な問題は、キュービックグラフのサブクラスに制限されてもNP困難のままですが、他のいくつかはより簡単になることを知っています。立方グラフのスーパークラスは、最大次数持つグラフのクラスです。Δ ≤ 3Δ≤3\Delta \leq 3 3次グラフの多項式時間で解くことができる問題はありますが、最大次数グラフではNP困難です?Δ ≤ 3Δ≤3\Delta \leq 3

1
タワーディフェンス迷路を生成します。別名、重みのないグリッドグラフでK個の最も重要なノード(「ノード単位の阻止」)を見つけます。
タワーディフェンスゲームでは、開始、終了、および複数の壁を持つNxMグリッドがあります。 敵は壁を通過することなく、最初から最後まで最短経路を取ります(通常、グリッドに拘束されませんが、簡単にするために、そうだとしましょう。どちらの場合でも、彼らは斜めの「穴」を移動できません) 問題(少なくともこの質問の場合)は、最大K個の追加の壁を配置して、フィニッシュからの開始を完全にブロックせずに、敵がとらなければならないパスを最大化することです。たとえば、K = 14の場合 これは、「k個の最も重要なノード」問題と同じであると判断しました。 無向グラフG =(V、E)と2つのノードs、t∈Vが与えられた場合、k-most-vital-nodesは、sからtへの最短パスが除去により最大化されるk個のノードです。 Khachiyanら1は、グラフが重みなしで2部構成であっても、2倍以内のmax-shortest-pathの長さを近似してもNP-Hard (k、s、tが与えられる)であることを示しました。 しかし、すべてが失われるわけではありません。後で、L。Cai et al 2は、「二部置換グラフ」の場合、この問題は「交差モデル」を使用して擬似多項式時間で解決できることを示しました。 具体的には、重み付けされていないグリッドグラフでは何も見つけることができず、「2部置換グラフ」がどのように関連しているのかもわかりません。 私の問題に関連する研究が公開されていますか?完全に間違った場所を探しているのでしょうか?まともな擬似多項式近似アルゴリズムでさえうまく機能します。ありがとう! 1 L.ハチヤン、E。ボロス、K。ボリス、K。エルバシオーニ、V。グルビッチ、G。ルドルフ、およびJ.シャオ「短経路妨害問題について:合計およびノー​​ド単位の限定的妨害」、コンピューターシステムの理論43( 2008)、2004-233。 リンク。 2 L. CaiおよびJ. Mark Keil、「区間グラフで最も重要なk個のノードを見つける」。 リンク。 注:この質問は、ここにある私のstackoverflowの質問のフォローアップです。

5
現実世界の頂点カバーアプリケーション
Vertex Cover Problemの実際の用途は何ですか? Vertex Cover問題の理論的結果に基づいて実際に実装されたソフトウェアを使用している産業または研究プロジェクトはどれですか?特に、次の理論的結果のいずれかが使用済みソフトウェアに実装されていますか? 頂点カバーの近似アルゴリズム 頂点カバーの指数時間アルゴリズム Vertex Coverの固定パラメーターの扱いやすいアルゴリズム 頂点カバーのカーネル化アルゴリズム

7
グラフ内のツイン頂点を見つける
ましょうグラフです。頂点のX ∈ V、定義N (Xの)の(オープン)近傍であることがXでG。、であるN (X )= { Y ∈ VG = (V、E)G=(V,E)G=(V,E)X ∈ Vx∈Vx\in VN(x )N(x)N(x)バツxxGGG。uと vが同じ近隣ノードを持つ場合、つまり N (u )= N (v )の場合、 Gの 2つの頂点 u 、vを双子に定義します。N(x )= { y∈ V|{ x 、y} ∈ E}N(x)={y∈V|{x,y}∈E}N(x)=\{y\in V \,\vert\, \{x,y\}\in E\}あなた、vu,vu,vGGGあなたはuuvvvN(u )= N(v )N(u)=N(v)N(u)=N(v) 入力としてn個の頂点とm個のエッジに関するグラフ与えられた場合、そのようなペアが存在する場合、Gで双子のペアをどれだけ速く見つけることができますかGGGnnnmmmGGG 近傍を比較することにより、与えられた2つの頂点が時間に双子であるかどうかを確認できます。簡単なアルゴリズムは、双子を見つけることです。したがって、頂点のペアごとに、双子かどうかを確認します。これにはO (n 3)時間かかります(また、すべての双子のペアを検出します)。グラフ内に双子のペアを見つける(存在する場合)ための非常に高速な方法はありますか?この問題に対処する既知の研究はありますか?O (n )O(n)O(n)O (n3)O(n3)O(n^{3})


2
機能しないはずのMax-Cutアルゴリズム、理由は不明
OK、これは宿題の質問のように思えるかもしれませんが、ある意味ではそうです。学部のアルゴリズムクラスの宿題として、私は次の古典を与えました。 無向グラフ所与G=(V,E)G=(V,E)G=(V,E)、アルゴリズムを与えることを発見カット(S,S¯)(S,S¯)(S,\bar{S})ようにδ(S,S¯)≥|E|/2δ(S,S¯)≥|E|/2\delta(S,\bar{S})\geq |E|/2、δ(S,S¯)δ(S,S¯)\delta(S,\bar{S})カットを横切るエッジの数です。時間の複雑さはなければなりませんO(V+E)O(V+E)O(V+E)。 何らかの理由で、次の解決策がたくさんありました。今では時間がかかりすぎているので、グレーディングの問題ではありませんが、興味がありました。それは正しいように見えませんが、反例に対する私の試みはすべて失敗しています。ここにあります: Sを設定← ∅S←∅S←∅S\leftarrow \emptyset してみましょうvvvグラフの最大の次数頂点こと vvvをSに追加SSS vに隣接するすべてのエッジを削除しますvvv もしδ(S,S¯)&lt;|E|/2δ(S,S¯)&lt;|E|/2\delta(S,\bar{S}) < |E|/2戻る 手順5のEEEは元のグラフを指していることに注意してください。また、ステップ4をスキップした場合、これは明らかに間違っていることに注意してください(たとえば、2つの孤立したエッジを持つ三角形の結合)。 さて、どんな単純な証明にも次の問題があります-新しい頂点vvvを追加するとき、実際に削除するのかもしれませんd (v )の新しいエッジ|S||S||S|を追加しながら、カットからのエッジ(d (v )はエッジが削除されたグラフを指します)。問題は、これが私たちの原因に有害である場合、この頂点vの「使用」度はこれまでよりも高いため、以前に「選択されるべきだった」ということです。d(v)d(v)d(v)d(v)d(v)d(v)vvv これはよく知られたアルゴリズムですか?簡単な反例はありますか?

3
すべての最小セパレーターが独立したセットであるグラフ
背景: う無向グラフの2つの頂点であるG = (V 、E )。頂点集合S ⊆ Vであり、U 、V -separator場合、UとV の異なる連結成分に属するG - S。u 、v -separator Sの適切なサブセットがない場合、Sはu 、v -separatorであり、Sは最小u 、vあなた、vあなたは、vu, vG = (V、E)G=(V、E)G=(V,E)S⊆ VS⊆VS\subseteq Vあなた、vあなたは、vu,vあなたはあなたはuvvvG − SG−SG-Sあなた、vあなたは、vu,vSSSあなた、vあなたは、vu,vSSSあなた、vあなたは、vu,v-セパレータ。設定頂点頂点が存在する場合(最小)セパレータであるU 、VようにSは(最小)であり 、U 、Vの -separatorが。S⊆ VS⊆VS\subseteq Vあなた、vあなたは、vu, vSSSあなた、vあなたは、vu,v G.ディラックのよく知られた定理では、最小セパレータがすべてクリークである場合にのみ、グラフに少なくとも4つの長さの誘導サイクル(三角グラフまたは弦グラフと呼ばれる)がないと述べています。三角グラフが多項式時間で認識できることもよく知られています。 私の質問:すべての最小セパレーターが独立したセットであるグラフとは何ですか?これらのグラフは研究されていますか?そして、これらのグラフの認識の複雑さは何ですか?このようなグラフの例には、ツリーとサイクルが含まれます。

2
疎グラフで5サイクルを効率的に見つける。
(MathOverflowからクロスポスト) こんにちは、 私はこのスレッドを読んでいました:https : //mathoverflow.net/questions/16393/finding-a-cycle-of-fixed-length グラフで5サイクルを見つけたい。実際、私が本当に欲しいのは、少なくとも5の長さの最短の奇数サイクルですが、多分それはポイントの少し横にあります。目的のために、複雑性分析ではと同じように扱います。 nmmmnnn この場合、5サイクルを見つけるためにカラーコーディングよりも優れていますか?私の質問を具体的に定式化してみましょう。 長さ5のサイクルを検出するための時間アルゴリズムがあるような最小は何ですか?アルゴリズムとは何ですか?また、Coppersmith-Winograd高速行列乗算などの非実用的な方法を禁止する場合、このは何ですか?O (M α)ααα\alphaO(mα)O(mα)O(m^\alpha)αα\alpha

2
爪を見つけるために行列乗算を
爪は、。簡単なアルゴリズムは、O (n 4)時間で爪を検出します。これは、で行うことができ、O (N ω + 1)ここで、ωは次のように、高速行列乗算の指数である:によって誘導されるサブグラフ取るNを[ V ]の各頂点のためのV、及びその相補体で三角形を見つけます。K1,3K1,3K_{1,3}O(n4)O(n4)O(n^4)O(nω+1)O(nω+1)O(n^{\omega+1})ωω\omegaN[v]N[v]N[v]vvv o(nω+1)o(nω+1)o(n^{\omega+1})O(nc)O(nc)O(n^c)Ω (N ω)O(nmax(c,2))O(nmax(c,2))O(n^{\max{(c,2)}})Ω(nω)Ω(nω)\Omega(n^\omega) 質問: これに進展はありますか。それとも不可能を示す進歩はありますか? 時間アルゴリズムには他に自然な問題がありますか?O(nω+1)O(nω+1)O(n^{\omega+1}) リマーク: 爪のないグラフの認識ではなく、爪の検出を明示的に求めています。アルゴリズムは通常両方を解決しますが、例外はほとんどありません。 Handbook of Algorithms and Theoretical Computer Scienceで線形時間で見つけることができると主張されていますが、それはタイプミスにすぎません(「効率的なグラフ表現」を参照)。

1
セットファミリのセットインクルージョンポーズをどのくらい速く計算できますか?
ユニバースサブセットのセットファミリーが与えられます。ましょうし、答えがあると私たちが望む。FF\mathcal{F}UUUS1,S2∈FS1,S2∈FS_1,S_2 \in \mathcal FS1⊆S2S1⊆S2S_1 \subseteq S_2 私はこれに素早く答えることができるデータ構造を探しています。私のアプリケーションはグラフ理論からのもので、頂点とその近傍を削除すると孤立した頂点が残るかどうかを確認し、各頂点についてはそれが残すすべての孤立した頂点をリストします。 完全なポセットを作成するか、最終的にテーブルを作成して、どのセットが互いのサブセットであるかを正確に伝えます。|F|2|F|2|\mathcal{F}|^2 ましょ、および、と仮定するm=∑S∈F|S|m=∑S∈F|S|m = \sum_{S\in \mathcal{F}} |S|u=|U|u=|U|u = |U|n=|F|n=|F|n = |\mathcal{F}|u,n≤mu,n≤mu,n \leq m 我々が生成することができるに封じ込めマトリックス(二部グラフ)時間、次いで、全てのテーブルを作成することができにおける比較各セットのために、時間をすべての他のセットのすべての要素を介して、ループのないサブセットとしてセットをマークそれらは要素がでない場合。合計時間。n×un×un \times uO(un)O(un)O(un)n2n2n^2O(nm)O(nm)O(nm)S∈FS∈FS \in \mathcal{F}SSSSSSO(nm)O(nm)O(nm) 何かもっと速くできますか?特に、時間は可能ですか?O((n+u)2)O((n+u)2)O((n+u)^2) 関連記事をいくつか見つけました。 アルゴリズム を与えるサブセット部分順序(1995)を計算するための単純なサブ2次アルゴリズム。O(m2/log(m))O(m2/log(m))O(m^2 / log(m)) サブセット半順序:コンピューティングと組み合わせ論はやや上記だけでなく、上記の紙がで問題を解決することを主張向上時間、共通の要素を共有するセットの最大数であるが、私はこの結果を理解することができませんでしたが。O(md)O(md)O(md)ddd BetweenとO(nm)O(nm)O(nm)O(nα)O(nα)O(n^{\alpha})の記事で、著者は、行列乗算を使用して頂点の閉じた近傍を削除した後、接続されたコンポーネントをグラフで見つける方法を示しています。これを使用して、ランタイムがであるシングルトンであるすべてのコンポーネントを見つけることで、セットの包含ポーズを計算できます。O((n+u)2.79)O((n+u)2.79)O((n+u)^{2.79}) また、このフォーラムのディスカッションは関連しています: セットの包含をチェックする最も速い方法は何ですか? これは下限を意味します。O(n2−ϵ)O(n2−ϵ)O(n^{2-\epsilon})

2
ハイパーグラフの折れ線グラフを認識する
ハイパーグラフの線グラフ(単純な)グラフであるの縁部を有するの2つの縁部と頂点と隣接しているそれらが空でない共通部分を持っている場合。ハイパーグラフは、各エッジに最大個の頂点がある場合、ハイパーグラフです。G H H G r rHHHGGGHHHHHHGGGrrrrrr 次の問題の複雑さは何ですか:グラフ与えられ、が折れ線グラフであるようなハイパーグラフが存在しますか?3 H G HGGG333HHHGGGHHH ハイパーグラフの折れ線グラフを認識することは多項式であり、ハイパーグラフの折れ線グラフを認識することはNPであることが知られています(Poljak et al。、Discrete Appl。Math。3 (1981)301-312)。任意の固定のために-complete。 R R ≥ 4222rrrR ≥ 4r≥4r \ge 4 注:単純なハイパーグラフの場合、つまりすべてのハイパーエッジが異なる場合、Poljak et alの論文で証明されているように、問題はNP完全です。

5
複数のパスでst-connectivityのスペース使用量を削減しますか?
グラフ仮定と頂点のストリームとして提示されているエッジが、複数のパスがストリーム上許されます。n mGGGnnnmmm Monika Rauch Henzinger、Prabhakar Raghavan、およびSridar Rajagopalanは、データにパスが許可されている場合、 2つの与えられた頂点間にパスがあるかどうかを判断するためにスペースが必要であることを観察しました。(テクニカルレポートバージョンも参照してください。)ただし、実際にこの限界を達成するためのアルゴリズムは提供されていません。最適なアルゴリズムは、現実的なコンピューティングモデルで実際に空間を取ると仮定します。これは、一定サイズのポインターを使用してメモリのインデックスを作成できない場合、異なる頂点を区別する必要があるためです。G k O ((nΩ (n / k)Ω(n/k)\Omega(n/k)GGGkkknO ((nログn )/ k )O((nlogn)/k)O((n\, \log\, n)/k)nnn どのようにして、グラフの接続性を決定することができ使用して渡しO ((nはkkkスペース?O ((nログn )/ k )O((nlogn)/k)O((n\, \log\, n)/k) 1つのパスのみが許可されている場合、入力データは頂点のセットのパーティションとして保存でき、2つの異なるセットの頂点間にエッジが見られる場合はセットをマージできます。これには明らかにスペース。私の質問は k &gt; 1についてです。必要なスペースを減らすために、どうすればより多くのパスを使用できますか?O(nログn )O(nlogn)O(n\, \log\, n)k &gt; 1k&gt;1k > 1 (自明性を避けるために、は定数でアプリオリに制限できないパラメーターであり、スペースの制限はnとkの両方の関数を含む式です。)kkknnnkkk 更新:場合でも、n / 2頂点のみを保存する方法があると本当に便利です。または、kに関係なく、定数cに対して実際にはより強い下限c nがありますか?k = 2k=2k=2n / 2n/2n/2c ncncnccckkk

5
一般的なグラフで完全に一致する決定論的並列アルゴリズム?
複雑度クラスには、クラスにはないと推測されるいくつかの問題、つまり決定論的並列アルゴリズムの問​​題があります。最大流量の問題はその一例です。そして、にあると思われる問題がありますが、証拠はまだ見つかりません。N C N CPP\mathsf{P}N CNC\mathsf{NC}N CNC\mathsf{NC} 完璧なマッチング問題はグラフ理論で育てられ、最も根本的な問題の一つである:グラフ与えられた、我々はのための完璧なマッチング見つけなければならないGを。エドモンズによる美しい多項式時間ブロッサムアルゴリズム、および1986年のKarp、Upfal、Wigdersonによるランダム化された並列アルゴリズムにもかかわらず、インターネット上で見つけることができたように、グラフのいくつかのサブクラスのみがN Cアルゴリズムを持つことが知られています。GGGGGGN CNC\mathsf{NC} 2005年1月に、ブログComputational Complexityに、Perfect Matchingがかどうかは公開されていると主張する投稿があります。私の質問は:N CNC\mathsf{NC} それ以降、ランダム化されたアルゴリズムを超えた進展はありますか?N CNC\mathsf{NC} 私の興味を明確にするために、GENERALグラフを扱うアルゴリズムはどれも素晴らしいです。グラフのサブクラスのアルゴリズムも大丈夫ですが、それは私の注意にないかもしれません。皆さん、ありがとうございました! 12/27に編集: すべての助けてくれてありがとう、私はすべての結果を1つの図に要約しようとしています: 最も低い既知のクラスには、次の問題が含まれます。 一般的なグラフでのマッチング: [ KUW86 ]、R N C 2 [ CRS93 ]R N CRNC\mathsf{RNC}R N C2RNC2\mathsf{RNC}^2 二部平面/定数属グラフでのマッチング: / S P L [ DKT10 ] / [ DKTV10 ]U LUL\mathsf{UL}S P LSPL\mathsf{SPL} 総数が多項式の場合のマッチング: [ …

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