タグ付けされた質問 「graphs」

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

2
ダイクストラアルゴリズムとグラフの最短経路の幅優先探索
StackOverflowでこの質問をしました。ここに引っ越すように頼まれました。だからここにあります: これらが正しい場合、ダイクストラのアルゴリズムと有向グラフでの幅優先検索に関するいくつかの説明と入力が必要です。 ダイクストラのアルゴリズムは、サイクルがあるかどうかに関係なく、重み付きグラフでAノードからノードへの最短経路を見つけますF(負の重みがない限り)。 しかし、そのためにAは、グラフ内の他のすべてのノードへのすべてのパスが計算AさFれ、でノードのシーケンスを逆にすることで、からへのパスを取得しますprev。 BFS:非加重グラフでAノードからノードへの最短パスを見つけFますが、サイクルが検出された場合は失敗します。 ただし、BFSはノードAからノードFへのパスを計算するだけで、必ずしもノードAからのすべてのパスを計算するわけではありません。ノードFに早く到達した場合は、パスを返すだけです。

3
無向グラフを有向グラフのサブカテゴリとして扱う
概して、無向グラフは、各エッジ(v、w)に常にエッジ(w、v)がある有向グラフに非常に似ています。これは、無向グラフを有向グラフのサブセットとして表示することが許容される可能性があることを示唆しています(おそらく、エッジの追加/削除は一致するペアでのみ実行できるという追加の制限があります)。 ただし、教科書は通常、この扱いに従っておらず、無向グラフを有向グラフのサブカテゴリではなく、別の概念として定義することを好みます。その理由はありますか?

2
ソーシャルネットワークグラフの問題
ここに問題があります: 多数の人々を表すノードと接続されたグラフがあります。各ノード/人は、トランプ対クリントン、紙の本対キンドルなどのトピックについて意見を持っています 目標は、特定の順序でノードの特定のサブセットを選択することにより、グラフ内のすべてのノードが同じ意見を共有するようにすることです。 人Aの友人の過半数が切り札をサポートしているが、人Aはクリントンをサポートしている場合。人物Aが選択された場合、彼/彼女の意見は切り札に変わります。 人の友達の意見を均等に分ければ、選択した人の意見を決めることができます。 これをどのように証明できるかを考えて、私はアイデアを使い果たしています。たぶん、あなたの一部は私にいくつかの指針を与えることができます。

2
どのようにして、0と1の数が等しいすべてのバイナリシーケンスを効率的に生成しますか?
バイナリシーケンスの長さだけ順序付けられたシーケンスである各ようにのいずれかであるまたは。このようなすべてのバイナリシーケンスを生成するには、次の方法で明らかなバイナリツリー構造を使用できます。ルートは「空」ですが、左の子はそれぞれ既存の文字列にを追加し、右の子を追加し。ここで、各バイナリシーケンスは、ルートで始まり、リーフで終わる長さパスです。x 1、… 、x n x j 0 1 0 1 n + 1nnnx1,…,xnx1,…,xnx_1,\ldots,x_nxjxjx_j000111000111n+1n+1n+1 これが私の質問です: 正確にゼロと 1 を持つ、長さすべてのバイナリ文字列のみを生成したい場合は、もっと良いことはありますか?n n2n2n2nnnnnnn 「もっと上手くできるか」ということは、最初に上のツリー全体を構築し、次に「左」と「右」のエッジの数が等しいパスを見つけようとする愚かなアルゴリズムよりも複雑さを低くする必要があることを意味します。

2
グラフ彩色問題のNP完全性
代替処方 私は以下の問題に対する別の定式化を思いつきました。代替の定式化は、実際には以下の問題の特殊なケースであり、2部グラフを使用して問題を説明します。しかし、私は代替処方はまだNP難しいと私は信じています。代替の定式化では、問題の定義を単純化する着信ノードと発信ノードの互いに素なセットを使用します。 与えられた送信およびN受信ノード(それぞれ、図中の赤色および青色のノード)、及びセットW I jの大きさのN × Nの発信と着信頂点間の辺の重みの。この問題の目標は、図の太いエッジに色を付けて、すべての入力ノードに対して条件が成立するようにすることです。んnnんnnw私はjwijw_{ij}n × nn×nn \times n セットの出力頂点、セット { I i{ O私|i = 1 … n }{Oi|i=1…n}\{ O_i \; | \; i=1 \dots n \}入力頂点の、 N × Nの重み wは、I 、J ≥ 0との間の O I 'sおよび I 、Jのための I 、J = 1 ... nは、正の定数を β、色の最小数を見つけます。エッジに対する E I …


5
ダイグラフを可逆的な方法で無向グラフに変換する
私は、有向グラフ(有向グラフ)を無向グラフに可逆的に変換するアルゴリズムを探しています。つまり、無向グラフが与えられれば、有向グラフは再構築可能でなければなりません。これは無向グラフの頂点が増えることで発生することを理解していますが、気にしません。 これを行う方法を知っているか、参照を提案できますか?前もって感謝します。 更新:以下のAdrianNの回答について。それは良い出発点かもしれませんが、それが現在の形で機能するとは思いません。これが私がそうではないと思う理由の画像です: DWのコメントの後に更新:グラフの頂点はラベル付けされていないと見なします。解決策が頂点のラベル付けを伴う場合(AdrianNのように)、ラベル付けがどのように行われても、同じ(同形)無向グラフが得られるはずです。ラベル付けされた頂点を持つグラフの「同形」の私の定義は、2つのグラフに関連するラベル付けの順列があるということですが、ラベル付けされていないグラフの正確な定義はわかりません...

1
グラフに自明ではない自己同型があるかどうかを判断するための効率的なアルゴリズムはありますか?
私はラテン方格に関連する問題に取り組んでおり、本質的に決定問題に帰着する方法を求めています。 入力:有限の単純なグラフG。 出力:YESGが自明でない自己同型を持つNO場合、それ以外の場合。 したがって... 質問:グラフに自明でない自己同型があるかどうかを判断するための効率的なアルゴリズムはありますか? NautyまたはBliss(およびおそらく他のいくつかのパッケージ)を使用して、自己同型グループ全体を計算できますが、私はそれを必要としません。私が判断する必要があるのは、それが取るに​​足らないことかどうかです。 この決定問題は、理論的には「自己同型グループ全体を計算する」ことと理論的には同じくらい複雑である可能性があります。よく分かりません。 私の目的では、「効率的」とは基本的に「自己同型群全体を計算するよりも実際に速い」ことを意味しますが、その背後にある理論にも興味があります。

1
ペアワイズ問題を繰り返し解くよりも速くすべてのペア間のk最短経路を見つけることができますか?
グラフ内のすべてのペア間の最短パス(は10未満)を生成したいと思います。グラフは(実際には地下鉄の地図です):kkkkkk 正に重み付け 無向 疎 約100ノード 私の現在の計画は、各ペアに最短パスルーティングを適用することです。私は現在、より効率的な代替手段を探しています(おそらく動的プログラミングを使用)。kkk


3
グラフ理論を使用してフランス国立公文書館の配置問題を解決する方法は?
こんばんは!フランスの国立公文書館で実際にインターンシップをしているときに、グラフを使って解決したい状況に遭遇しました... I.ほこりっぽい状況 アーカイブコストを最小限に抑えるために、図書館の本の高さに従って配置を最適化したいと考えています。本の高さと厚さはわかっています。書籍は、高さ昇順で既に配置されています(これが最善の方法であるかどうかはわかりませんが、それが私たちのやり方です)。各本の厚さがわかっているので、各H iクラスについて、それらの配置に必要な厚さを決定し、L iと呼びます(たとえば、H i = 23の本H1,H2,…,HnH1,H2,…,HnH_1,H_2,\dots,H_nHiHiH_iLiLiL_i高さ c mの合計厚さは L i = 300Hi=23cmHi=23cmH_i = 23\,\mathrm{cm})。Li=300cmLi=300cmL_i = 300\,\mathrm{cm} ライブラリは、希望の長さと高さを示す棚をカスタム製造できます(奥行きの問題はありません)。高さと長さx iの棚のコストは F i + C i x iです。ここで、F iは固定コストで、C iは長さ単位あたりの棚のコストです。HiHiH_ixixix_iFi+CixiFi+CixiF_i+C_ix_iFiFiF_iCiCiC_i なお、高さの棚高さは帳簿保存するために使用することができ、H 、J とJ ≤ Iを。コストを最小限に抑えたい。HiHiH_iHjHjH_jj≤ij≤ij\leq i 私の家庭教師は、この問題を経路探索問題としてモデル化することを提案しました。モデルには、0からnまでのインデックスが付けられた個の頂点が含まれる場合があります。私のメンターは、私は評価動作するように既存の条件、各エッジの意義と方法をうまく示唆したV (I 、J )のエッジに関連した(I 、Jを)。他の解決策や洞察も大丈夫です。n+1n+1n+1000nnnv (i 、j )v(i,j)v(i,j)(私、j )(i,j)(i,j) たとえば、私たちは条約(フランスの歴史の暗黒期)に次のような配列を持っています。 iHiLiFiCi112cm100cm1000€5€/cm215cm300cm1200€6€/cm318cm200cm1100€7€/cm423cm300cm1600€9€/cmi1234Hi12cm15cm18cm23cmLi100cm300cm200cm300cmFi1000€1200€1100€1600€Ci5€/cm6€/cm7€/cm9€/cm\begin{array}{|c|rr} i & 1 & …

1
動的グラフの関連コンポーネント情報を維持するための最も効率的なアルゴリズムとデータ構造は何ですか?
無向有限スパースグラフがあり、次のクエリを効率的に実行できる必要があるとします。 私sCo n n e c te d(N1、N2)私sCoんんected(N1、N2)IsConnected(N_1, N_2) -戻るとの間の経路がある場合と、そうでなければN 1 N 2 FTTTN1N1N_1N2N2N_2FFF Co n n e c t e dNo de s (N)CoんんectedNodes(N)ConnectedNodes(N)から到達可能なノードのセットを返しますNNN これは、グラフの接続されたコンポーネントを事前に計算することで簡単に実行できます。どちらのクエリも時間で実行できます。O (1 )O(1)O(1) エッジを任意に追加できるようにする必要がある場合A ddEdge (N1、N2)あddEdge(N1、N2)AddEdge(N_1, N_2) -次に、コンポーネントを分離セットデータ構造に格納できます。エッジが追加されるたびに、異なるコンポーネントの2つのノードを接続する場合、それらのコンポーネントをマージします。これが追加されますO (1 )O(1)O(1)のコストA ddEdgeあddEdgeAddEdgeとO (私nverseAckermann(|Nodes|))O(InverseAckermann(|Nodes|))O(InverseAckermann(|Nodes|))へのコストIsConnectedIsConnectedIsConnectedとCo n n e ctedNode sCoんんectedNodesConnectedNodes(同様かもしれませんO (1 )O(1)O(1))。 エッジを任意に削除できるようにする必要がある場合、この状況を処理するのに最適なデータ構造は何ですか?知っていますか?要約すると、次の操作を効率的にサポートする必要があります。 私s Co n n e …

1
問題の名前は何ですか?(グラフを3つのカバーに分割)
この問題に名前があるかどうか疑問に思いました: その縁、赤、青、緑に着色されている、単純なグラフ所与、頂点着色あるそのようなすべてのエッジすなわち同じ色の端点がありますか?G=(V,B∪R∪G)G=(V,B∪R∪G)G=(V,B\cup R\cup G)c:V→{B,R,G}c:V→{B,R,G}c:V\to \{B,R,G\} また、これはNP完全であることがわかっていますか? これは、CSP(または2SATの一般化)の特殊​​なケースと見なすこともできます。各制約は、3つの値のいずれかを取る2つの変数の分離であり、同じ変数ペアに2つの制約はありません。

3
グラフ内のパスのコンパクトな表現
グラフの単純なパスのサブセットがあります。パスの長さはによって制限されます。ddd 選択したパス以外のパスが表示されないようにパスを表すことができる最もコンパクトな方法(メモリに関して)は何ですか? このパスのサブセットを何度も繰り返すアルゴリズムでこの表現を使用したいこと、そしてかなり高速にしたいことに注意してください。たとえば、標準の圧縮アルゴリズムは使用できません。 私の頭に浮かんだ表現の1つは、それらを1組の木として表現することでした。それを最適なツリー数に下げるのはNP困難だと思いますか?他にどんな表現が良いでしょうか?

1
2つのノード間のk最短経路を見つける
重み付き有向グラフ、および重み関数d (u 、v )が与えられると、通常はダイクストラのアルゴリズムを使用して最短経路を取得できます。私が興味を持っているのは、2 n d-最短経路、3 r d-最短経路などを取得する方法です。G = V、EG=V、EG=V,Ed(u 、v )d(あなた、v)d(u,v)2n 日2んd2^{nd}3r d3rd3^{rd} 質問: 重み付きグラフの2つのノード間のi番目に最短のパスを取得する効率的なアルゴリズムはありますか? 重み付きグラフの2つのノード間のk最短経路を取得するための効率的なアルゴリズムはありますか? 2番目の質問への回答は、最初の質問への回答への呼び出しよりも効率的に実行できるのではないでしょうか。kkk

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