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

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

1
クリークの定義の理解に問題がある
私の定義は言う クリークは、頂点のすべてのペアを接続するエッジを持つグラフです しかし、私が理解しているように、エッジは2つの頂点のみを接続します。同様。A − BA−BA-B 3つの頂点を接続する場合は、少なくとも2つのエッジが必要です。たとえば、です。A − B − CA−B−CA-B-C エッジが頂点のすべてのペアを接続する方法がわかりません。

1
長方形の構築サイクル
固定長サイクルを構築する必要があります。これには、 x長方形の内側にコーナーが含まれます。nnnkkkwwwhhh 例: w=5h=3w=5h=3w = 5\\h=3 n=12k=6n=12k=6n = 12\\k = 6 少なくともコーナーが必要であり、コーナーの数と非コーナー要素の数は偶数である必要があることはすでにわかっています。444 次に、指数関数的な時間の複雑さで実行される再帰的アルゴリズムを記述しますが、この処理をはるかに高速に実行できるという強い思いがあります。 問題は、どの正方形がサイクルに確実に含まれるかわからないため、すべての可能性をカバーするために最初のフィールドでアルゴリズムを実行することですが、いくつかのブランチを複数回検索していることを認識しています。w2w2\frac w2 また、サイクルが存在する場合、サイクルが(0、0)のコーナーまたは(0、1)のコーナーで始まることも発見しました このことをスピードアップする方法について誰かがアイデアを持っていますか? ごきげんよう!

2
DAGにエッジを追加するとサイクルが発生するかどうかを確認する
初めに:これはプログラミングコンテストの問題ですが、進行中の問題ではありません。残念ながら、公開されていないため、このタスクへのリンクは提供できません。それは、2011年にワルシャワコンピュータサイエンススクールが主催したポーランドのローカルプログラミングコンテストの1つからのものでした。 エッジのない頂点のあるグラフと、有向エッジのリストがあります。上の番目の第番目のエッジグラフに追加されています。グラフに1秒後にサイクルが発生することを知りたい。VVV (1≤V≤5⋅105)(1≤V≤5⋅105)(1 \le V \le 5 \cdot 10^5)EEE (1≤E≤5⋅105)(1≤E≤5⋅105)(1 \le E \le 5 \cdot 10^5)iiiiii 最も明白な解決策は、各エッジを追加した後にDFSを実行することですが、時間かかります。別の解決策は、トポロジー的にソートされたグラフを維持し、エッジを追加するときに、トポロジーの順序を乱さないように配置することです。これには最大で時間かかります。私はGoogleでいくつかの調査を行いましたが、これが最速のオンラインアルゴリズムのようです。O((V+E)2)O((V+E)2)O((V + E)^2)O(V2)O(V2)O(V^2) 事前にすべてのエッジを知っているので、オフラインアルゴリズムを使用できます。私が考えることができる最速のオフラインアルゴリズムは、バイナリ検索です。番目の2番目以降のグラフにサイクルが含まれている場合、明らかに他の2番目のサイクルがあります。したがって、バイナリ検索を実行してDFS時間を実行することで最小のを見つけることができます。それぞれが時間を費やすため、このソリューションの全体の複雑さは。kkkl≥kl≥kl \ge kkkkO(logE)O(log⁡E)O(\log E)O(V+E)O(V+E)O(V + E)O((V+E)logE)O((V+E)log⁡E)O((V + E) \log E) かなり高速ですが、もっと高速なオフラインアルゴリズムはあるのでしょうか。私が考えることができる1つのことは、このエッジがグラフに追加された時間に等しい各エッジの重みを与えることです。次に、このタスクは、最小の最大エッジウェイトを持つサイクルを見つけることと同じです。それがどこにつながっているかはわかりません。

1
長方形包含階層DAGの推移的な削減
私は、長方形包含階層DAGの推移的な削減を見つけるためのアルゴリズムを探しています。つまり、最初の長方形に2番目の長方形が含まれている場合、1つの長方形から別の長方形への有向エッジが存在します。O(|V|+|E|)O(|V|+|E|)O(|V| + |E|) つまり、できるだけ多くのエッジを削除して、uからvに到達できた場合、任意のvとuについて、エッジを削除した後でも到達できるようにします。 四角形は一意であると想定して、DAGを処理します。 これは、たとえば、Srikant / Agrawal 1996からの量的相関ルールマイニングで役立ちます。ここでは、超矩形の祖先に関心があります。近い祖先を決定することは、近い子孫を決定することに似ています。この種のルールマイニングは、Agrawal / Srikant 1994による標準(つまり「ブール」)相関ルールマイニングのAPRIORIアルゴリズムに関連しています。 同様の問題は、標準のDAGの推移的な削減です。これは次のとおり です。DAGの推移的な削減 参考文献 Agrawal、Srikant-相関ルールをマイニングするための高速アルゴリズム(1994) Agrikal、Srikant-大規模なリレーショナルテーブルでの量的相関ルールのマイニング(1996)

1
深さ優先検索の時間の複雑さ[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 3年前休業。 初心者の質問をすることを許してください。しかし、私はアルゴリズムと複雑さの初心者であり、特定のアルゴリズムの複雑さがどのようにして生じたのか理解するのが難しい場合があります。 コーメンのアルゴリズムの紹介から DFSアルゴリズムを読んでいましたが、これがアルゴリズムでした。 G -> graph G.V -> set of vertices in G u.π -> parent vertex of vertex u G.Adj[u] -> adjacency list of vertex u DFS(G) 1 for each vertex u ∈ G.V 2 u.color = WHITE 3 u.π = NIL 4 time = 0 …

2
グラフの独立セットのサイズの下限?
私は最近、k-SAT問題のすべてのインスタンスについて、 メートルメートルm 条項と んんn リテラル、少なくとも次のようなリテラルの割り当てがあります m (1 −2− k)メートル(1−2−k)m(1 - 2^{-k}) 条項は満たされています。 どんなグラフでもそのような(自明ではない)下限を表示できるかどうか疑問に思っていました G = (V、E)G=(V、E)G = (V,E) サイズの独立したセットがあります SSS どこ SSS 頂点や辺の数などに関数はありますか? 最適化バージョンでは、独立した最大のサブセットを見つけようとするため、下限が狭いほど良いです。したがって、そのような下限が存在するかどうか疑問に思っていましたが、どれだけタイトにできますか?

1
セット頂点からセットへの最短経路を見つける方法
私がグラフ、頂点のサブセット、および頂点の2番目のセット持っている場合、 2セット?つまり、すべての -パスの中で最短のパスを探しています。すべてのエッジの重みが正であると仮定することもできます。G=(V,E)G=(V,E)G=(V,E)S⊂VS⊂VS \subset VS′⊂(V∖S)S′⊂(V∖S)S' \subset (V\setminus S)SSSS′S′S' これが私がこれまでこの問題に取り組んだ方法です: 前の操作でフロイドワーシャルアルゴリズムを適用して計算されたグラフの距離行列情報がすでにあります。(d)(d)(d)GGG 次に、各頂点についてすべての頂点を反復処理し、行列最小値を持つペアを見つけます。SSSS′S′S'(s1,s2)(s1,s2)(s_1,s_2)ddd 次にダイクストラのアルゴリズムを使用してと間の最短経路を計算し、頂点セットと接続します。s1s1s_1s2s2s_2SSSS′S′S' これと同じ結果を達成するためのより効率的な方法はありますか?


2
すべてのコンピュータプログラムをグラフとして表すことはできますか?
先日考えていたところ、コンピュータープログラムはすべてグラフ(たとえば、抽象構文ツリー)として、または一般的な式を組み合わせると抽象構文グラフとして表現できるように思えました。 たぶん、どのコンピュータプログラムも、これらのグラフの1つ+それに付加された評価セマンティクスとして表すことができると思いました。これがチューリングマシンに対して普遍的に当てはまるかどうか誰かが知っているのであれば、私は興味があります(潜在的に無限のグラフを取得できると思いますが、これは数学なので問題ありません)。私はそれと、強力な型システムなどの多くのことを熟考してきましたが、この抽象化によく適合します(グラフに構造上の制約を課します)。型システムを独自のプログラムと見なして、それを別のグラフ+プログラムのグラフで動作する評価セマンティクスとして表すこともできます... これが既知の同等であるかどうかに興味があります。

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

1
グラフの最も一般的な祖先の類似アルゴリズム
私は型システムに取り組んでいて、最も低い共通の祖先に似ているように見える問題を見つけました。2つのタイプがある場合、同じターゲットタイプになる変換の最小シーケンスを見つける必要があります。単純なタイプツリーがある場合、結果を取得する方法はわかっていますが、残念ながら、もう少し複雑なグラフ構造があります。 そのグラフにはいくつかの重要なポイントがあります。これは単方向であり、ループは形成されません。タイプの数に制限がないため、静的に作成することはできません。パスの距離は一般的に非常に短いです。それは、多くのショートカットエッジを持つツリーのように「感じ」ます。 最初は最低の共通祖先を調べましたが、それは主にツリーアルゴリズムとして記述されています。私はそれを適応させることができるという希望をまだあきらめていません。他の可能性は、より一般的な経路探索アルゴリズムです。 私は誰かが以前にこの問題、または同様の問題を見たことがあることを願っています。何かが存在している必要があると思い込み、間違った用語/名前を検索しているだけであることは十分によく知られているようです。 これをより正式に説明するための私の試みは次のとおりです。 グラフがあり、各頂点に1組の出力エッジます。グラフは動的で、場合によっては無限なので、グラフ全体に対してG = \ {V、E =(V_x、V_y)\}の形式を作成する方法はありません。G = { V}G={V}G = \{ V \}V= { E=Vバツ}V={E=Vx}V = \{ E=V_x \}G = { V、E= (Vバツ、Vy)}G={V、E=(Vバツ、Vy)}G = \{V, E=(V_x,V_y)\} パスは、そのノードから利用可能なエッジのいずれかをたどることにより、頂点から形成されます。。このパスの長さは、シーケンス内の頂点の数と同じです。可能なサイクルはありません。2つのノード間のすべてのパスのセットは、として表されます。Pんメートルバツ=Vん、。。。、VメートルPんメートルバツ=Vん、。。。、VメートルPnm_x = V_n, ..., V_mPn m = {Vん、。。。、Vメートル}Pんメートル={Vん、。。。、Vメートル}Pnm = \{ V_n, ..., V_m \} は有限のステップ数で空であると判断できることに注意してください。セット全体を列挙することは実際には不可能です。Pn mPんメートルPnmPn mPんメートルPnm 問題は、2つの頂点から3番目の頂点への最短経路を見つけることです。すなわち、所与の、ある見つけるパスするようと存在し、最小です。Va、VbVa、VbV_a, V_bVcVcV_cPacバツPacバツPac_xPbcyPbcyPbc_yl e …

1
完全な二分木の極小値を見つける方法は?
完全な二分木の極小値を見つける方法は? 考慮してください nnn完全二分木-node、いくつかについて。各ノードは実数ラベル付けされています。ノードにラベルを付ける実数はすべて異なると想定できます。ノードラベルの場合は極小であるラベルよりも小さいすべてのノードのに接合されているエッジによって。TTTn=2d−1n=2d−1n = 2^d − 1dddv∈V(T)v∈V(T)v \in V(T)xvxvx_vv∈V(T)v∈V(T)v \in V(T)xvxvx_vxwxwx_wwwwvvv あなたは、それぞれの完全なバイナリツリー与えられているが、標識は唯一以下で指定された暗黙的な方法:各ノードのために、あなたは価値判断できすることにより、プロービングノード。極小値を見つける方法を示してのみ使用プローブのノードに。TTTvvvxvxvx_vvvvTTTO(logn)O(log⁡n)O(\log n) TTT 帰属:これは、Jon KleinbergとEva Tardosによる本「Algorithm Design」の第5章「Divide and Conquer」の問題6のようです。

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

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

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

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