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

グラフ、エッジで接続されたノードの離散構造に関する質問。人気のフレーバーは、エッジキャパシティを持つツリーとネットワークです。

5
二部グラフの最大独立セット
私はバイパライトグラフの最大独立セットを見つけようとしています。 「1998年5月13日-ワシントン大学-CSE 521-ネットワークフローのアプリケーション」というメモで次のことがわかりました。 問題: 二部グラフ与えられると、可能な限り大きな独立集合を見つけます。ここで、およびです。セットの要素間にのエッジがない場合、セットは独立しています。G = (U、V、E)G=(U,V,E)G = (U,V,E)うん′∪ V′U′∪V′U' \cup V'うん′⊆ UU′⊆UU' \subseteq UV′⊆ VV′⊆VV' \subseteq VEEE 解決: 頂点フローグラフを作成します。各エッジには、から までの無限の容量エッジがあります。各には、からまで単位容量エッジがあり、各には、から までの単位容量エッジがあります。U∪V∪{s,t}U∪V∪{s,t}U \cup V \cup \{s,t\}(u,v)∈E(u,v)∈E(u,v) \in Euuuvvvu∈Uu∈Uu \in Usssuuuv∈Vv∈Vv \in Vvvvttt 有限容量カット検索と、と。レッツ と。セットは、カットを横切る無限の容量のエッジがないため、独立しています。カットのサイズは。これは、独立セットを可能な限り大きくするために、カットを可能な限り小さくします。(S,T)(S,T)(S,T)s∈Ss∈Ss \in St∈Tt∈Tt \in TU′=U∩SU′=U∩SU' = U \cap SV′=V∩TV′=V∩TV' = V \cap TU′∪V′U′∪V′U' \cup V'|U−U′|+|V−V′|=|U|+|V|−|U′∪V′||U−U′|+|V−V′|=|U|+|V|−|U′∪V′||U - U'| …

2
無向グラフ上の最短経路?
だから私はこの(多少基本的な)質問はここに属していると思った: サイズが100のノードのグラフが10x10のパターンで配列されているとします(チェス盤を考えてください)。グラフは無向であり、重み付けされていません。グラフを移動するには、3つのスペースを前方に移動し、1つのスペースを右または左に移動します(チェスナイトがボード上を移動するのと同様)。 開始ノードが固定されている場合、ボード上の他のノードへの最短パスをどのように見つけますか? 実行可能な移動であるノード間にのみエッジがあると想像しました。したがって、この情報が与えられたら、開始ノードから終了ノードまでの最短パスを見つけたいと思います。 私の最初の考えは、各エッジは重み1で重み付けされるということでした。しかし、グラフは無向であるため、ジクストラは理想的なフィットではありません。したがって、私は深さ優先検索の変更された形式を使用してそれを行うことにしました。 しかし、検索を使用して最短経路を取得する方法を視覚化することはできませんでした。 私が試したもう1つのことは、開始ノードをルートとしてツリー形式でグラフを配置し、次に希望の終了ノードを与えた最も浅い(最も低い行番号)結果を選択することでした...これはうまくいきましたが、非常に効率的ではなかったため、大きなグラフでは機能しません。 誰かが私にこの方向性を正しい方向に向けるようなアイデアを持っていますか? どうもありがとうございました。 (グラフの視覚化を試みましたが、評判が悪いためできませんでした)

4
有向グラフが重要なのはなぜですか?
この投稿を改善したいですか?引用や回答が正しい理由の説明など、この質問に対する詳細な回答を提供します。十分な詳細のない回答は、編集または削除できます。 有向グラフのMST、強い接続性、ルーティングなどのアルゴリズムについて読んでいます。 また最近では、有向グラフの動的でフォールトトレラントなアルゴリズムの研究が行われています。 しかし、下線グラフネットワークが「指示」される実用的なアプリケーションがあるかどうか疑問に思っていました。ソーシャルネットワーク以外に、鉄道/道路網、インターネットネットワークなど、考えられるすべての問題は、無向グラフのみを処理します。 編集1:これらはリンクが向けられているいくつかのシナリオをモデル化するために使用できることを理解していますが、これらのシナリオが実際にどのくらいの頻度で発生するのか、そして有向グラフのフォールトトレランスの研究はどれほど重要であるのか疑問に思っていました。

1
シェルピスキーグラフ上のハミルトニアンサイクルの数
私はこのフォーラムに初めて参加し、物理学者で脳を整えるためにこれを行います。そのため、最もエレガントな言語を使用しない場合は、恵みを示してください。他のタグがより適切だと思われる場合は、コメントを残してください。 私は、ハミルトニアンサイクルの数を次のシェルピンスキーグラフ計算する必要があるこの問題を解決しようとしています。(シェルピンスキーグラフの定義と写真については、上記のリンクも参照してください)C(n)C(n)C(n)nnnSnSnS_n 私はを見つけましたが、解決策が与えられた値一致しないため、何かを台無しにしたに違いありません。私の議論は非常に基本的な考えから成り立っており、間違いを見つけることはできません。どんな助けも大歓迎です。長いように見えても、フォローしている間にグラフを見れば、考えは些細なものになります。C(n)C(n)C(n)C(5)=71328803586048C(5)=71328803586048C(5) = 71328803586048 (a)与えられたグラフ、外側の角呼び出します。次に、次の数量を定義します。SnSnS_nA,B,CA,B,CA,B,C N(n):=N(n):=N(n) := からへのハミルトニアンパスの数。AAACCC N¯(n):=N¯(n):=\bar{N}(n) := を除く各ノードを1回訪問からへのパスの数。AAACCCBBB また、このようなパスをまたはタイプのパスと呼ぶことにします。NNNN¯N¯\bar{N} (b)ことが簡単にわかります。N(n)=N¯(n)N(n)=N¯(n)N(n)=\bar{N}(n) 理由は次のとおりですタイプのパスを考えてください。から始まるこのパスの形式はです。セグメントをに置き換えることにより、タイプのパスを取得します。この操作は、すべてのタイプのパスをタイプのパスに一意にマッピングします。NNNAAA(A,...,X1,B,X2,...,C)(A,...,X1,B,X2,...,C)(A,...,X_1,B,X_2,...,C)(X1,B,X2)(X1,B,X2)(X_1,B,X_2)(X1,X2)(X1,X2)(X_1,X_2)N¯N¯\bar{N}NNNN¯N¯\bar{N} (c)再帰を導出します。N(n+1)=2N(n)3N(n+1)=2N(n)3N(n+1)=2N(n)^3 検討から型経路にし、外側の隅subtrianglesを表すによってそれぞれ。タイプのパスは、からを介してまで、一度だけ各サブトライアングルを訪れることは明らかです。ここで、サブと接触するノードを考えます。(i)離れる前、または(ii)を入力した後、パスがこのポイントにアクセスする場合、2つの可能性があります。NNNAAABBBA,B,CA,B,CA,B,CTA,TB,TCTA,TB,TCT_A,T_B,T_CNNNTATAT_ATBTBT_BTCTCT_CZZZTATAT_ATCTCT_CTATAT_ATCTCT_C。これらの場合、内の3つのサブパスは、それぞれタイプ(i)または(ii)です。これを念頭に置いてカウントすることができますTA,TB,TCTA,TB,TCT_A,T_B,T_C N,N,N¯N,N,N¯N,N,\bar{N} N¯,N,NN¯,N,N\bar{N},N,N N(n+1)=N(n)N(n)N¯(n)+N¯(n)N(n)N(n)N(n+1)=N(n)N(n)N¯(n)+N¯(n)N(n)N(n)N(n+1)=N(n)N(n)\bar{N}(n)+\bar{N}(n)N(n)N(n)そして(b)で上に到達します再帰。 (D)我々は再帰解決の(c)とと得。N(1)=1N(1)=1N(1)=1N(n)=230+31+...+3n−2N(n)=230+31+...+3n−2N(n)=2^{3^0+3^1+...+3^{n-2}} (e)グラフハミルトニアンサイクルを考えます。3つのサブ三角形はそれぞれ2つのノードのみを介して他のサブ三角形に接続されているため、サイクルが1つの接続ノードを介して各サブ三角形に1回だけ入り、それを「塗りつぶし」、最後に他の接続ノードを介して離れることは明らかです。したがって、のハミルトニアンサイクルは、すべてが構造を持つサブトライアングルの3つの型サブパスで構成されます。ハミルトニアンサイクルの数について結論づけることができますSnSnS_nSnSnS_nNNNSn−1Sn−1S_{n-1} C(n)=N(n−1)3C(n)=N(n−1)3C(n) = N(n-1)^3。 ただし、場合は次のようになりますn=5n=5n=5 C(5)=N(4)3=81923=549755813888≠71328803586048C(5)=N(4)3=81923=549755813888≠71328803586048C(5) = N(4)^3 = 8192^3=549755813888 \neq 71328803586048 後者は問題のページに従って取得する必要があります(上記のリンク)。 ヘルプやコメントをありがとう。

4
この有限グラフ問題は決定可能ですか?どの要因が問題を決定可能にしますか?
次の問題が決定可能かどうか、およびその発見方法を知りたい。私が見るすべての問題は、「はい」または「いいえ」と言うことができます。そのため、ほとんどの問題とアルゴリズムは、ここで提供されるいくつかを除いて決定できますか? 入力:Aは有限有向グラフととと頂点と 質問:ずに経路と初期頂点とASの最終頂点が存在として?v u G u vGGGvvvあなたはuuGGGあなたはuuvvv

1
任意のカバーを頂点カバーに変換する
平面グラフが与えられ、各エッジの長さ平面stへの埋め込みを示すようにします。さらに、各点が含まれる点のセットがあります。さらに、任意の点、までの測地線距離が最大1のが存在することを保持します。(距離は内の最短距離として測定されます。)G 1 C C ∈ C G P G C ∈ C P GG = (V、E)G=(V,E)G=(V,E)GG\mathcal{G}111CCCC ∈ Cc∈Cc \in CGG\mathcal{G}pppGG\mathcal{G}c∈Cc∈Cc \in CpppGG\mathcal{G} 上記の条件に当てはまるが与えられた、簡単に頂点カバーに変換したり、別の言い方をすれば、同じカーディナリティのに変換したり、任意のを配置できると主張したい は頂点にあり、はカバーしています。、C '、C ∈ C ' G G C ' GCCCC′C′C'c∈C′c∈C′c \in C'GG\mathcal{G}GGGC′C′C'GGG 私のアプローチは、エッジの方向を決めて、円弧の終了頂点でのポイントを移動することでした。しかし、これまでのところ、からを生成する正しい方向を見つけることができませんでした。C ′ CCCCC′C′C'CCC 誰にもアイデアがありますか?

4
Floyd-Warshall、Dijkstra、Bellman-Fordアルゴリズムの違いは正しいですか?
私は3つを研究してきましたが、それらからの推測を​​以下に述べています。十分に正確に理解しているかどうかを誰かに教えてもらえますか?ありがとうございました。 ダイクストラアルゴリズムは、単一のソースがあり、あるノードから別のノードへの最小パスを知りたい場合にのみ使用されますが、このような場合は失敗します。 Floyd-Warshallアルゴリズムは、すべてのノードのいずれかがソースになる可能性がある場合に使用されるため、任意のソースノードから任意の宛先ノードに到達する最短距離が必要です。これは、負のサイクルがある場合にのみ失敗します。 ソースが1つしかない場合、Bellman-Fordはダイクストラのように使用されます。これは負の重みを処理でき、その動作は1つのソースを除き、Floyd-Warshallと同じですよね?(これは私が最も確信していないものです。)

6
重みのないグラフで最短パスを見つけるためにDFSを使用できないのはなぜですか?
「現状のまま」のDFSを使用しても、重み付けされていないグラフでは最短経路が見つからないことを理解しています。 しかし、DFSを微調整して、重みのないグラフで最短パスを見つけることができるのはなぜですか?件名に関するすべてのテキストは、単にそれを実行できないと述べています。私は(自分で試したことがなく)納得していません。 DFSが重み付けされていないグラフで最短パスを見つけることを可能にする変更を知っていますか?そうでない場合、アルゴリズムをそれほど難しくしているのは何ですか?

4
巨大なグラフでのダイクストラのアルゴリズム
私はダイクストラに非常に精通しており、アルゴリズムについて具体的な質問があります。35億ノード(すべてOpenStreetMapデータ)などの巨大なグラフがある場合、グラフをメモリに格納できないことは明らかなので、グラフはデータベースのディスクに保存されます。 そのようなグラフの最短経路を計算するために利用可能なライブラリがあります。彼らはどうやってこれをしますか?より具体的には、ダイクストラのアルゴリズムを実行するためにグラフの必要な部分をどのようにロードしますか? 訪問した各頂点の隣接リストを取得するには、統計データによると10,000ノードあたり約1,500のデータベースクエリが必要になるため、明らかにそうではありません。それはとても遅すぎるでしょう。 どうやってやっているの?自分で実装しようとしています。

4
グラフには2つまたは3つの異なる最小全域木がありますか?
特定のグラフGに2つの異なる最小全域木があるかどうかを検出する効率的な方法を見つけようとしています。また、3つの異なる最小スパニングツリーがあるかどうかを確認する方法を探しています。私が考えた素朴な解決策は、クラスカルのアルゴリズムを一度実行して、最小スパニングツリーの総重量を見つけることです。後で、グラフからエッジを削除してクラスカルのアルゴリズムを再度実行し、新しいツリーの重みが元の最小スパニングツリーの重みであるかどうかをチェックします。グラフの各エッジについても同様です。ランタイムはO(| V || E | log | V |)であり、これはまったく良くありません。もっと良い方法があると思います。 どんな提案でも役立つでしょう、事前に感謝します

1
Kクリーク問題の)アルゴリズム
クリーク問題は、必要なクリークのサイズが入力の一部である、よく知られた完全問題です。ただし、kクリーク問題には自明な多項式時間アルゴリズムがあります(が定数の場合は)。kが一定の場合、最もよく知られている上限に興味があります。NPNPNPO (nk)O(nk)O(n^k)kkk 実行時アルゴリズムはありますか? -timeアルゴリズムもよいです。また、そのようなアルゴリズムの存在に対する複雑性理論的な結果はありますか?O (nk − 1)O(nk−1)O(n^{k-1})o (nk)o(nk)o(n^k)

5
グラフの負の重みエッジの重要性は何ですか?
私は動的なプログラミング演習をしていて、Floyd-Warshallアルゴリズムを見つけました。どうやら、負の重みのエッジを持つことができますが、負のサイクルがないグラフのすべてのペアの最短パスを見つけます。 だから、負の重みのエッジの現実世界の重要性は何だろうか?わかりやすい英語の説明が役立つでしょう。

2
最短
ましょうGはGGグラフであり、およびlet Sss及びTはttの2つの頂点であるGGG。sとtの間のすべての最短パスのセットからランダムに均一かつ独立して最短sss - tttパスを効率的にサンプリングできますか?簡単にするために、Gは単純で、方向付けられておらず、重み付けされていないと仮定できます。ssttGG 多くの制限されたグラフでさえ、sssとtの間の最短経路の数ttはGのサイズで指数関数的GGです。したがって、実際にはすべての最短sss - tttパスを実際に計算することは避けたいと思います。一般的なケースについては知りませんが、いくつかの特別なグラフクラスでこれを達成できるようです。 これは、誰かが以前に考慮したに違いないように感じます。これに関する既存の研究はありますか、または実際にこれは一般的なグラフに対しても簡単ですか?

2
通常のエキスパンダーグラフを実際に構築する方法は?
n個の頂点のいくつかの小さな固定d(3または4など)のd正規展開グラフを作成する必要があります。 これを実際に行う最も簡単な方法は何ですか?エキスパンダーとして証明されているランダムなd-regularグラフの作成? また、拡張子であるマルグリス構造とラマヌジャングラフ、およびジグザグ製品を使用した構造についても読みました。ウィキペディアでは、わかりやすいが非常に短い概要を示しています。http://en.wikipedia.org/wiki/Expander_graph#cite_note-10 しかし、実際にはどの方法を選択しますか 私にとって、これらの方法はすべて実装が非常に複雑で、特に理解が難しく、非常に具体的であると思われます。d-regularエキスパンダーグラフのシーケンスを実際に生成するための、おそらく置換などに基づいた簡単な方法はありませんか? d-regular二部展開エキスパンダーグラフを作成する方が簡単でしょうか? 別の質問もあります:不良なd-regularエキスパンダーのファミリーはどうですか?そのような概念は理にかなっていますか?エクスパンダの意味で可能な限り悪いd-regularグラフ(もちろん接続されている)のファミリを構築できますか? 前もって感謝します。

1
有向非巡回グラフの推移閉包を取得するための効率的なアルゴリズム
グラフの問題を解決しようとしています(宿題ではなく、単にスキルを練習するためです)。DAGが与えられます。ここで、は頂点のセット、はエッジです。グラフは隣接リストとして表されるため、はすべての接続を含むセットです。私の仕事は、各頂点から到達可能な頂点を見つけることです。私が使用するソリューションは複雑さを持ち、 推移的閉包を持ちますが、ブログで読むと高速になる可能性がありますが、方法は明らかになりませんでした。DAGの推移的閉包問題を解決する別の方法(より複雑な方法)を教えてもらえますか?G(V,E)G(V,E)G(V,E)VVVEEEAvAvA_vvvvv∈Vv∈Vv\in VO(V3)O(V3)O(V^3)

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