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

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

5
3部グラフでのチーム構築
政府は、1 人の錬金術師、1人のビルダー、1人のコンピューター科学者で構成されるチームを作りたいと考えています。 良好な協力を得るためには、3人のチームメンバーがお互いを好むことが重要です。 したがって、政府は各専門職の人の候補者を集め、「好み」のグラフを作成します。間にエッジがある場合、これは、三分かれたグラフであり、そしてときに限り好き。kkkaaabbbaaabbb (次の場合の関係、すなわち、対称でなく推移はない「ように」という注意好き、次に好きだが、場合好き及び好き必ずしも次に、好き。)aaabbbbbbaaaaaabbbbbbcccaaaccc チームを作成することは常に可能ですか?もちろん違います。たとえば、錬金術師がビルダーを好きではない可能性があります。 ただし、「好きな」グラフに次のプロパティがあるとします。3人の錬金術師と3人のビルダーの各グループには、互いに似ている少なくとも1つの錬金術師とビルダーのペアがあります。錬金術師-コンピューター論者とビルダー-コンピューター論者のための同上。 この特性を考えると、3人のメンバー全員がお互いを好きなチームを作成することは常に可能ですか?もしそうなら、政府が収集しなければならないであろう各タイプ()の候補者の最小数はいくつですか?kkk kを見つけ、それが最小であることを証明したいと思います。 関連する可能性のあるサブ質問は次のとおりです錬金術師とビルダーのグループで、お互いに好きなペアの最小数はいくつですか?以下のため、質問の前提で、その数は1どの程度である?kkkkkkk = 3k=3k=3k > 3k>3k>3 3番目の質問は、この種の問題の名前は何ですか?


1
有向グラフの最大独立セットを見つける方法は?
私はこの問題を解決しようとしています。 問題:与えられたnnn 正の整数、あなたの仕事は2つの数がないように整数の最大数を選択することです a,ba,ba, b その中で aaa で割り切れる bbb。 最大独立セットとこのセットのサイズを見つける必要があります。サイズは、ケーニッヒの定理によって見つけることができます。しかし、どのようにして最大独立セットを見つけることができますか(つまり、どの頂点がセットの一部であるか)。 私もいくつか検索をして、ここで何かを見つけました: If removing a vertex does not change minimum path cover then I can get the desired result without that vertex. しかし、私は根本的な定理を理解していません。どんな助けも大いに役立ちます。

1
グラフのオイラー化のための非力アルゴリズムはありますか?
いくつかの無向、非加重、接続された、そして潜在的に並列化されたグラフを考える GGG、オイラー回路は、すべての頂点の次数が偶数である場合に構築されます。GGG 奇数の次数の頂点が2つ以上あるグラフ(2の倍数のみが存在する場合があります)では、グラフを「乳化」し、必要に応じて、奇数の頂点を他の頂点を介して追加のエッジで接続する必要があります。 オイラー化の最適なケースは、エッジのみの構成です。ここで、は奇数の頂点の数ですが、これは、各奇数の頂点に隣接するパートナーが存在する場合にのみ該当するため、両方の頂点を1つのエッジと両方を均等にします。n / 2n/2n/2んんn そうは言っても、ほとんどのグラフは以上のエッジを必要とします。人間として、私たちは常に互いに隣接している奇数の頂点の各ペアを選択し、残りに対して試行錯誤を使用することによってグラフをオイラー化する傾向があります。ただし、これは常に機能するとは限りません。n / 2ん/2n/2 例えば、以下のグラフに、選択すると、隣接する奇数の頂点の対の間のエッジを追加する及び使用接続するエッジを Eulerizationすなわちコストで結果を縁。ただし、代わりにとを接続することを選択すると、隣接する奇数の頂点を使用しなかったとしても、エッジを使用するオイラー化が生成されます。1 ↔ 21↔21\leftrightarrow 25553 ↔ 43↔43\leftrightarrow 46661 ↔ 41↔41\leftrightarrow 42 ↔ 32↔32\leftrightarrow 3555 いくつかのエッジと接続する必要がある奇数の頂点のペアの数は有限であるため、この問題は少なくともブルートフォースで解決できることは確かです。具体的には、(Mathematicaによると)で、接続する奇数の頂点のペアの可能なセットがあります。各頂点をそのパートナーにリンクして、それぞれを通過することができます(無向グラフで2つの頂点間の最短経路を見つけることは、おそらくそれ自体の課題であり、Wikipediaがに時間の複雑さを与えることはできません)。2n / 2Γ (n + 12)/π−−√2ん/2Γ(ん+12)/π2^{n/2} \Gamma(\frac{n+1}{2})/\sqrt{\pi} 結局、取引全体はおそらく多項式時間、指数時間、階乗時間で実行され、かなり厄介です。パスをオイラー化するアルゴリズムがあるかどうかについて、いくつかの基本的な調査を行いましたが、それを見つけることができないようです。 グラフィック用のMathematicaコード: GraphPlot[ {1 -> 2, 2 -> 5, 5 -> 3, 3 -> 6, 6 -> 3, 6 -> …


1
特定のプロパティを使用したグラフ生成のアルゴリズム
いくつかの一般的なプロパティ(たとえば、クラスタリング係数、平均最短経路長、次数分布など)を満たすグラフを生成するために提案された多数のアルゴリズムが存在する場合があります。 私の質問は特定のケースに関するものです。異なるクラスタリング係数と平均最短パス長を使用して、いくつかの無向の通常のグラフ(つまり、これらのグラフのすべてのノードが同じ数の隣接ノードを持っている)を生成したいと思います。より一般的には、次数の分布を修正することで、異なるクラスタリング係数と平均最短経路長を持つグラフを生成したいと思います。 これを行うためのよく知られたアルゴリズムは何ですか(または実際に何かありますか?)、同じ目的で推奨されるソフトウェアは何ですか?

1
ばらばらのセットのデータ構造の実用的なアプリケーション
エッジがグラフに動的に追加されるとき、素集合のデータ構造が無向グラフの接続されたコンポーネントを追跡するために使用されることを知っています。また、それがクラスカルの最小全域木アルゴリズムで使用されていることも知っています。このデータ構造の他の可能なアプリケーションは何ですか?

2
関係構成を計算する
定義:を自己ループのないDAGとし、およびをグラフとします。G=(V,E)G=(V,E)G=(V,E)X⊆GX⊆GX \subseteq GY⊆GY⊆GY \subseteq G 入力:。出力:リレーショナル構成リレーショナル構成 in。X,YX,YX,Y X∘YX∘YX \circ YO( | E| | V| )O(|E||V|)\mathcal{O}(|E||V|) ケース1:。およびに対する2つのforループ:ランタイム。|E|≤|V||E|≤|V||E| \le |V|E(X)E(X)E(X)E(Y)E(Y)E(Y)≤O(|E|2)≤O(|E||V|)≤O(|E|2)≤O(|E||V|) \le \mathcal{O}(|E|^2) \le \mathcal{O}(|E||V|) ケース2:|V|≤|E||V|≤|E||V| \le |E| グラフを描く:(。エッジをから黒、赤と呼びます。(V(G),E(X)∪E(Y))(V(G),E(X)∪E(Y))(V(G),E(X) \cup E(Y))(O(|V|)+O(|2E|)))(O(|V|)+O(|2E|)))(O(|V|)+\mathcal{O}(|2E|)))E(X)E(X)E(X)E(Y)E(Y)E(Y) トポロジカルにソートします(Kahn:)。最初のレベルをにすると、エッジはレベルから高いレベルに移動します。O(|V|)+O(|E|)O(|V|)+O(|E|)\mathcal{O}(|V|) + \mathcal{O}(|E|)000 このグラフを2回描画します。 最初のコピーで、偶数レベルで始まるすべての赤いエッジと奇数レベルで始まるすべての黒いエッジを削除します:。O(E)O(E)\mathcal{O}(E) 2番目のコピーでは、「黒の偶数」と「赤の奇数」をすべて削除します:。O(E)O(E)\mathcal{O}(E) 最初のコピーの場合: レベルすべてのノードuuu2i2i2i レベルすべてのノードvvv2i+12i+12i+1 レポートエッジ(実行時)。(u,v)(u,v)(u,v)O(V2)≤O(EV)O(V2)≤O(EV)\mathcal{O}(V^2) \le \mathcal{O}(EV) 2番目のコピーの場合: " " についても同じです。2i+12i+12i+1 報告されたノードを結合し、重複する を破棄します(グラフ表現でこれが可能であることを願っています)。O(V2)&lt;=O(EV)O(V2)&lt;=O(EV)\mathcal{O}(V^2) <= \mathcal{O}(EV) いくつかの人が私のアルゴリズムを調べて、 合ってます …

1
貪欲な選択とマトロイド(greedoids)
貪欲なアプローチについての資料を調べていたとき、マトロイド(貪欲)に関する知識が問題への適切なアプローチに役立つことを知りました。マトロイドについて読んだ後、私はマトロイドが何であるかを大まかに理解しました。しかし、与えられた最適化問題を解決するためにマトロイドの概念をどのように使用しますか? たとえば、活動選択問題を考えてみましょう。問題を解決するためにマトロイド理論を使用する手順は何ですか?

1
グラフをテストするアルゴリズム
グラフを与えられたアルゴリズムを探しています GGG そして自然数 ttt、決定する GGG です ttt-推移的。 この問題がP、NP、NPC、またはその複雑さのクラスに関するその他の興味深い事実にあるかどうかを知ることにも興味があります。

2
サボテングラフのエッジのバランスのとれた重み付け
与えられたサボテン、私たちは、このような方法という点で、その辺を重み付けしたいです 各頂点について、頂点に入射するエッジの重みの合計は1以下です。 すべてのエッジの重みの合計が最大化されます。 明らかにその答えは ん2ん2\frac{n}{2} ために んんn 頂点(Σd私= 2 DΣd私=2D\sum d_i = 2D どこ d私d私d_i 1つの頂点の合計であり、 DDDすべてのエッジの合計です)。この境界は、各エッジを1/2に重み付けすることにより、サイクルグラフで達成できます。 木に貪欲なアルゴリズムを見つけました。葉に付随するエッジに1を割り当て、繰り返しパスでグラフからそれらとその近傍を削除します。これにより、サボテンが相互接続された一連のサイクルまで剪定されます。この時点で、残りのサイクルは相互接続されておらず、各エッジに1/2の重みが付けられていると想定しました。これは9/10のテストケースを取得しましたが、もちろん不完全です。 では、サボテンの一般的な問題をどのように解決すればよいでしょうか?私は完全な解決策よりもヒントを好みますが、どちらでもかまいません。 この質問には、InterviewStreet CompanySprintからの問題が含まれます。私はすでに競争しましたが、問題についてのいくつかの考えが欲しいです(解決策はリリースされていません、そして私はこの問題について壁に頭をぶつけています)

2
このグラフ操作に正式な名前はありますか?
ある方法でグラフを変更する小さな関数を書いていて、その操作に正式な名前があるかどうか疑問に思っていました。この操作は2つの異なるエッジを取り、各エッジの既存のノード間に新しいノードを挿入してから、2つの新しいノード間にエッジを追加します。例えば: add new nodes a and b to the graph let edge1 = (x,y), let edge2 = (u,v) delete edge (x,y) create edges (x,a), (a,y) delete edge(u,v) create edges(u,b), (b,v) create edge (a,b)


2
2部グラフの最小頂点カバーを最大フローに削減
二部グラフの最小頂点カバーが最大フロー問題に削減できることを示すことは可能ですか?または、最小カットの問題(次に、max-flow min-cutの定理に従うと、主張は成立します)。 直感的に:各フローについて、1つのエンドポイントを選択すると、2部グラフの最小頂点カバーになります。しかし、それを厳密に示すことはできますか?

2
スパースグラフの低次ノード
LETグラフを有することn個の頂点のいずれも単離されていない、及びN-1エッジ、N \ GEQ 2。Gに1次の頂点が少なくとも2つ含まれていることを示します。G=(V,E)G=(V,E)G = (V,E)nnnn−1n−1n−1n≥2n≥2n \geq 2GGG プロパティ\ sum_ {v \ in V} \ operatorname {deg}(v)= 2 | E |を使用してこの問題を解決しようとしました ∑v∈Vdeg(v)=2|E|∑v∈Vdeg⁡(v)=2|E|\sum_{v \in V} \operatorname{deg}(v) = 2|E|。この問題は、鳩の巣の原理を使用して解決できますか?

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