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

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


2
サブセット番号
修正K ≥ 5k≥5k\ge5。十分な大きさのについて、サイズんんnが{ 1 .. n }{1 ..ん}\{1..n\}のすべてのサブセットにn / kん/kn/kを正の整数で正確にラベル付けします{ 1 ... T}{1 ...T}\{1...T\}。このラベル付けが次のプロパティを満たすようにしたい:整数のセットSSSあり、st 場合kkkサイズのサブセットn / kん/kn/k交差する(すなわち、これらのセットの和集合は、すべてのセットを形成しない{ 1 .. n }{1 ..ん}\{1..n\})は、そのラベルの合計はであるSSS。 そうでなければ、それらのラベルの合計はありませんSSS。 そこに存在するかK ≥ 5k≥5k\ge5とラベリング、ST T⋅ | S| =O( 1.99ん)T⋅|S|=O(1.99ん)T\cdot|S|=O(1.99^n)? たとえば、任意のkkkに対して、次の方法でサブセットにラベルを付けることができます。 T= 2んT=2んT=2^n、各サブセットが有するんんnその数のビットは:最初のビットが同じである111サブセットが含まれているときに限り111第2のビットが同じで、111サブセットが含まときに限り222などそれは、参照することは容易だSSS唯一の要素含ま2ん− 12ん−12^n-1。しかし、ここでT⋅ | S| =Θ( 2ん)T⋅|S|=Θ(2ん)T\cdot|S|=\Theta(2^n)。もっと上手くできる?

3
互いに素なパスのすべてのペアを列挙する
有向グラフ所与と2つの頂点S 、T ∈ Vを。単純なパスの組P 1、P 2からSへのtは、それらがエッジを共有していない場合、エッジ互いに素です。G = (V、E)G=(V,E)G = (V,E)S 、T ∈ Vs,t∈Vs,t \in Vp1、p2p1,p2p_1,p_2sssttt max flowを使用すると、からtへのエッジの互いに素なパスのペアがあるかどうかを簡単に判断できます。ここで、sからtまでのエッジの素なパスのすべてのペアを列挙する多項式の時間遅延アルゴリズムはありますか?ssstttsssttt

1
短くて太いパスを見つける
動機:標準の拡張パスmaxflowアルゴリズムでは、内側のループは、有向の重み付きグラフでソースからシンクへのパスを見つける必要があります。理論的には、不合理なエッジキャパシティが存在する場合でもアルゴリズムが終了するためには、検出したパスに制限を加える必要があることはよく知られています。たとえば、Edmonds-Karpアルゴリズムは、最短経路を見つけるように指示します。 経験的に、太いパス(これにはもっと良い用語がありますか?)のパスも見つけたいと思うかもしれません。たとえば、容量スケーリングを使用する場合、少なくとものフローに耐えられる最短パスを見つけます。パスの長さに制限はありません。パスが見つからなくなったら、を減らして繰り返します。ϵεϵ\epsilonεϵ\epsilon max-flowの非常に具体的なアプリケーションの拡張パスの選択を最適化することに興味があり、短いパスと太いパスの間のこのトレードオフを調査したいと思います。(注:常に問題を解決する必要はありません。最短のウォールタイムでフローの最大の下限を見つけることに最も興味があります。) 質問:最短経路アプローチと容量スケーリングアプローチの間を補間する標準的な方法はありますか?つまり、理想的には、いくつかのパラメータが、太さとトレードオフするパスの長さを制御する、短くて太いパスを見つけるアルゴリズムがありますか?極端な場合は、一方の端で最短パスを、もう一方の端で容量スケーリングスタイルのパスを回復できるようにしたいと考えています。

2
ランダムグラフで短いサイクルを見つけるにはどのくらい時間がかかりますか?
ましょうG∼G(n,n−1/2)G∼G(n,n−1/2)G \sim G(n, n^{-1/2})上のランダムグラフである≈n3/2≈n3/2\approx n^{3/2}エッジ。非常に高い確率で、GGGは444サイクルが多数あります。私たちの目標は、これらの444サイクルのいずれかをできるだけ早く出力することです。 隣接リスト形式でGGGにアクセスできるとすると、Oで一定の確率で成功できます(√O(n−−√)O(n)O(\sqrt{n})任意のノードの選択以下の通り時間vvvランダム生成を開始222から出発-pathsをvvv。エンドポイントを共有する222つの異なる2つのパスが見つかったら、完了です。可能なエンドポイントはnnnあり、誕生日のパラドックスによって、約 √を発見した後、一定の確率で成功しますn−−√n\sqrt{n}それらの n。 もっと上手くできる?特に、一定の確率で成功する一定時間アルゴリズムは可能ですか?

2
無理な重みを持つ最大フローアルゴリズムの反例?
一部の重みが非合理的である場合、ファットパイプヒューリスティック(max-flowの2つのアルゴリズム)を使用するFord-FulkersonまたはEdmonds-Karpは停止する必要がないことがわかっています。実際、それらは間違った値に収束することさえあります!ただし、私が文献で見つけることができるすべての例[以下の参照とその中の参照]は、単一の非合理的な値のみを使用しています。共役黄金比、および有理であるか、ϕの有理倍数である他の値。私の主な質問は:φ』= (5–√− 1 )/ 2ϕ′=(5−1)/2\phi' = (\sqrt{5}-1)/2φ』ϕ′\phi' 一般的な質問:他の不合理な値はどうなりますか? 例(ただし、投稿するためにこれらすべてに回答する必要があるとは思わない-誰でも、または上記の一般的な質問に該当する他の質問への回答が興味深いと思います): 任意のなど反例一方の構築物(のかさえショーの有無)、できますか?α ∈ Rα∈R\alpha \in \mathbb{R} より弱く:そこの例は、不合理な値は、使用することが知られている本質的に異なるから?それは、いくつか存在する、あるαの有理倍数でないφ ' (またはより強くないQは、(φ '))と、すべての重みがにあるフォード・フルカーソン及び/又はエドモンズ-カープに反例が存在するようにQ(α )?φ』ϕ′\phi'αα\alphaϕ′ϕ′\phi'Q(ϕ′)Q(ϕ′)\mathbb{Q}(\phi')Q(α)Q(α)\mathbb{Q}(\alpha) 他の方向では、不合理が存在する例えば、そのフォードフルカーソン(それぞれ、エドモンズ-カープ。)に正しい値で停止すべてのグラフの重みからのすべてであるQ ∪ { Q α :Q ∈ Q }?(またはより強く、Q(α )から?)αα\alphaQ∪{qα:q∈Q}Q∪{qα:q∈Q}\mathbb{Q} \cup \{q\alpha : q \in \mathbb{Q}\}Q(α)Q(α)\mathbb{Q}(\alpha) すべての場合において、実際のRAMモデルのようなものを想定して、正確な算術および実数の正確な比較が一定の時間で行われるようにします。 (任意の実際の重みがあっても、多項式時間で実行されることが知られている他のmax-flowアルゴリズムがあります。これが、このタイプの質問がさらに調査されなかった理由かもしれません。しかし、私の学部生アルゴリズムクラスでこれらのアルゴリズムを教えたばかりです、私はまだこれに興味があります。) 参考文献 Ford-Fulkersonの最小限の反例はZwick TCS 1999によって与えられました エドモンズ・カープの反例は、キーランネまたはキーラン・マスによって与えられました。オーパー。解像度 1980年、それが最小限のものかどうかはわかりません。 これらは両方ともジェフエリクソンの講義ノートにあり、最初のセクションは23.5節にあり、2番目は講義23の演習14です。

1
このパスの問題の複雑さはわかっていますか?
インスタンス: Anがグラフ無向頂点区別2つと整数であり、。S ≠ T K ≥ 0GGGs≠ts≠ts\neq tk≥0k≥0k\geq 0 質問:パスが最大で三角形と交差するように、にパスが存在しますか?(この問題では、パスに三角形からのエッジが少なくとも1つ含まれている場合、パスは三角形と交差すると言われます。)G ks−ts−ts-tGGGkkk

1
最大の「公平な」マッチング
グラフの最大重みマッチングのバリエーションに興味があります。これを「最大公正マッチング」と呼びます。 グラフがいっぱいで(つまりE=V×VE=V×VE=V\times V)、頂点の数が偶数であり、重みが利益関数によって与えられると仮定し。一致する与えられると、エッジ利益が一致するによって示されます。p:(V2)→Np:(V2)→Np:{V\choose 2}\to \mathbb NMMMM(v)M(v)M(v)vvv 一致するは、任意の2つの頂点について、公平に一致するiffです: MMMu,v∈Vu,v∈Vu,v\in V(∀w∈V: p({w,v})≥p({w,u}))→M(v)≥M(u)(∀w∈V: p({w,v})≥p({w,u}))→M(v)≥M(u)(\forall w\in V:\ \ p(\{w,v\})\geq p(\{w,u\}))\to M(v)\geq M(u) つまり、任意の頂点、を頂点一致させると、それを頂点一致させるよりも高い利益が得られる場合、公平な一致で十分です。w∈Vw∈Vw\in VwwwvvvuuuM(v)≥M(u)M(v)≥M(u)M(v)\geq M(u) 最大の公平なマッチングを効率的に見つけることができますか? 興味深いケースは、グラフが2部構成であり、公平性が片側にのみ適用される場合です。つまり、であると想定し、利益関数が与えられます。G=(L∪R,L×R)G=(L∪R,L×R)G=(L\cup R,L\times R)p:L×R→Np:L×R→Np:L\times R\to \mathbb N A フェア二部マッチングがでマッチングあるような任意の2つの頂点のための: GGGu,v∈Lu,v∈Lu,v\in L(∀w∈R: p({v,w})≥p({u,w}))→M(v)≥M(u)(∀w∈R: p({v,w})≥p({u,w}))→M(v)≥M(u)(\forall w\in R:\ \ p(\{v,w\})\geq p(\{u,w\}))\to M(v)\geq M(u) 最大ウェイトの公平な2部マッチングをどれくらい速く見つけることができますか? この問題の動機は、2つの部分からなる特殊なケースにあります。ワーカーとタスクがあり、ワーカーが作業から利益を生み出すことができると仮定します。ここで問題になるのは、合理的な設計をすることです(ある意味では、労働者は「はぎ取られた」とは感じません)一方で、総ペイオフを最大化します(割り当てメカニズムの力と社会的利益の間にはトレードオフがあります)。nnnmmmiiipi,jpi,jp_{i,j}jjj 労働者の仕事への割り当ての社会福祉(または工場の利益)を利益の合計として定義する場合。 ジョブアサイナの機能に関するさまざまなシナリオを見ると、次の結果が得られます。 任意のワーカーを任意のジョブに割り当てることが許可されている場合は、工場を効率的に最適化できます(最大重量のマッチングを見つけるだけです)。 すべてのワーカーが自分でタスクを選択した場合、自分の仕事が選択されると想定して(各ジョブで選択できるのは1つの仕事のみ)、タスクを選択した最も適格なワーカーである場合、ワーカーは「貪欲」に収束します。 '平衡。その理由は、最も多く稼ぐことができるワーカー()が最も収益性の高いジョブを選択する、などです。マッチングの貪欲アルゴリズムの近似率により、これは可能な最大の社会福祉の2近似を与えるはずです。i=argmaximaxjpi,ji=argmaximaxjpi,ji=\mbox{argmax}_i \max_j p_{i,j} …

2
有限のツリー幅の平面グラフの列挙
私は次の問題のリファレンスを探しています:整数および与えられ、個の頂点とツリー幅上のすべての非同型平面グラフを列挙します。私は理論と実際の両方の結果に興味がありますが、と可能な限り大きな値でコーディングして実行できるほとんどの実用的なアルゴリズムです(とと考えてください)。すでに回答がある場合は、以下のとりとめのない説明を無視してください。K N ≤ K N K K ≤ 5 N ≤ 15んnnkkkんnn≤ K≤k\leq kんnnkkkK ≤ 5k≤5k \leq 5N ≤ 15n≤15n \leq 15 次のアプローチは、個の頂点とtreewidthすべての非同形グラフを列挙するために(つまり、平面性制約が削除された場合)、大丈夫です。≤ Kんnn≤ K≤k\leq k (a)個の頂点とtreewidth上のすべての非同型グラフを列挙します。≤ Kn − 1n−1n-1≤ K≤k\leq k 各頂点の(b)は上頂点とツリー幅、すべてのクリーク上の頂点にあらゆる部分集合のエッジの、作るから新たな頂点追加することによって、隣接。個の頂点とtreewidth上のgrah のリストにを追加します。N - 1 ≤ K C ≤ K G 、S C G ' G - S V …

1
準二次時間で類似のベクトルを見つける
ましょう、我々はと呼ぶ関数である類似度関数。類似性関数の例は、コサイン距離、ノルム、ハミング距離、ジャカード類似性などです。d:{0,1}k×{0,1}k→Rd:{0,1}k×{0,1}k→Rd:\{0,1\}^k\times \{0,1\}^k \to \mathbb{R}l2l2l_2 長さバイナリベクトルを考えます:。nnnkkkv⃗ ∈({0,1}k)nv→∈({0,1}k)n\vec{v} \in (\{0,1\}^k)^n 私たちの目標は、類似するベクトルをグループ化することです。より正式には、ノードがベクトルで、エッジが類似するベクトルを表す類似性グラフを計算します()。d(v,u)≤ϵd(v,u)≤ϵd(v,u) \leq \epsilon nnnとは非常に大きな数値であり、2つの長さベクトルを比較するとコストがかかるため、総当たりの操作をすべて実行することはできません。大幅に少ない操作で類似性グラフを計算したいと考えています。kkkkkkO(n2)O(n2)O(n^2) これは可能ですか?そうでない場合、類似性グラフのすべてのエッジに加えて、多くても他のエッジを含むグラフの近似を計算できますか?O(1)O(1)O(1)


1
グラフの準同型のカウントの複雑さ
準同型グラフからのグラフにG ' = (V '、Eは')のマッピングであるFからVにV 」ようにあれば、XとYが隣接しているE次いでfを(X )とf (y )はE 'で隣接しています。グラフGの準同型G=(V,E)G=(V、E)G = (V, E)G′=(V′,E′)G』=(V』、E』)G' = (V', E')fffVVVV′V』V'xバツxyyyEEEf(x)f(バツ)f(x)f(y)f(y)f(y)E』E』E'GGGからそれ自身への準同型です。それは固定小数点フリーないがあれば、Xように、F (X )= Xがあり、非自明でそれが同一でない場合。GGGバツバツxf(x )= xf(バツ)=バツf(x) = x 私は最近、正則(およびグラフ)自己同型、つまりその逆も同型である全単射の同型に関連する質問をしました。自己同型の数え上げ(およびその存在の決定)に関連する研究を見つけましたが、検索したところ、自己同型に関連する結果は見つかりませんでした。 したがって、私の質問:グラフ与えられた場合、Gの自明でない準同型の存在を決定すること、または同型の数を数えることの複雑さは何ですか?固定小数点のない準同型についても同じ質問です。GGGGGG 私はこの回答で与えられた議論は準同型写像にまで及び、有向二部グラフまたはポセットの場合は一般的なグラフの問題よりも簡単ではないことを正当化すると思います(一般的なグラフの問題はこの場合に減少します)が、その複雑さはありません決定するのは簡単に思えます。別のグラフから準同型の存在を決定することであることが知られているNP困難(それはグラフ彩色を一般化として、これは明らかである)が、それは、グラフからの準同型に検索を制限するように思える自体、簡単に問題を作るかもしれませんしたがって、これはこれらの問題の複雑さを判断するのに役立ちません。

2
推移的完了/パス存在オラクルの計算
いくつかの質問(があった1、2、3、このようなものが可能であるなら、私は考えて作られた、ここで推移完了について): 我々は、入力有向グラフ取得を前提とGGGと型のクエリに応答したいと思います「(U 、V )∈ G+(あなた、v)∈G+(u,v)\in G^+?」、グラフの推移完了に2つの頂点間のエッジが存在する場合、すなわち尋ねるGGG?(等価的に、「からパスがあなたあなたuにvvvでGGG?」)。 与えられたGGG後、時間f(n 、m )f(ん、メートル)f(n,m)前処理を実行でき、時間クエリに応答する必要があると仮定します。g(n 、m )g(ん、メートル)g(n,m) 明らかに、(つまり、前処理が許可されていない)の場合、実行できる最善の方法は、時間内にクエリに応答することです。(から DFSを実行し、パスが存在する場合はtrueを返します)。f= 0f=0f=0g(n )= Ω (n + m )g(ん)=Ω(ん+メートル)g(n)=\Omega(n+m)あなたあなたuvvv 別の些細な結果は、その場合f= Ω (M I N { N ⋅ M 、Nω} )f=Ω(メートル私ん{ん⋅メートル、んω})f=\Omega(min\{n\cdot m,n^\omega\})あなたは推移閉包を計算した後でクエリに答えることができる。O (1 )O(1)O(1) 途中の何かはどうですか?許可されている場合、たとえば前処理時間で、よりも速くクエリに回答できますか?多分それを改善しますか?f= n2f=ん2f=n^2O (m + n )O(メートル+ん)O(m+n)O (n )O(ん)O(n) もう1つのバリエーションは前処理時間があるが、スペースしかない場合、前処理を使用してよりも効率的にクエリに答えることができますか?P O LのY(n 、m )poly(ん、メートル)poly(n,m)o (n2)o(ん2)o(n^2)O (n + …

2
グラフのサイクル数
多くのサイクルのどのCkCkC_k (K ≥ 3 )(k≥3)(k \geq 3)であるんんn 頂点グラフグラフは、任意のサイクル持たないように、CメートルCメートルC_m (m > k )(メートル>k)(m>k)。 たとえば、n = 5ん=5n=5、k = 3k=3k=3場合、グラフには最大で2つのC3C3C_3ため、GGGはC kがありません(k > 3 )。Ck(k > 3 )。Ck(k>3)。C_k (k > 3). 上記の条件を満たすO (n )O(ん)O(n)サイクルがあると思います。 誰か助けてもらえますか?

1
一般的な重み付き無向グラフから最適な並列化を見つける
重なり合う画像の「ブレンド」セットの問題を解決しています。これらのセットは、次のような無向の重み付きグラフで表すことができます。 各ノードは画像を表します。重なっている画像はエッジで接続されています。エッジの重みはオーバーラップエリアのサイズを表します(大きいオーバーラップをブレンドすると、全体的な品質が向上します)。 アルゴリズムは通常、エッジを削除します。順次または並行して実行できます。ただし、ブレンドが発生すると、ノードがマージされ、グラフ構造が変化します。したがって、並列化は、それら自体が重複していない接続されたコンポーネントでのみ可能です! このような重複しないコンポーネントは、DBとFEGです。これらのコンポーネントでブレンドアルゴリズムを安全に並行して実行できます。結果は次のグラフになります(マージされたノードは緑色で表示されます)。 これで、2つの接続されたコンポーネントがオーバーラップしている(コンポーネント間に直接エッジがある)ため、これ以上の並列化は不可能です。 アルゴリズムの並列バージョンは次のようになります。 1. Find connected components (no two are connected directly) and create task for each. 2. Run the tasks in parallel. 3. Update graph. 4. Until single node remains, continue with 1. トリッキーな部分は最初のステップです:接続されたコンポーネントの最良のセットを見つける方法? 1つの方法は、特定の反復でコンポーネントの最大数を単純に見つける貪欲なアルゴリズムです。貪欲なアルゴリズムは、最初は並列化を最大化しますが、後で多くの反復を犠牲にします。 最適なソリューションは、並列化を最大化し、同時に反復回数を最小化するために、各反復で適切な量の接続コンポーネントをもたらすことです(最適化には2つの変数があります)。 私は、バックトラッキング以外の最適化アルゴリズム、つまり可能なすべての進化の空間を検索し、最大の並列化を持つものを選択することは考えられません。 エッジの重みは無視できますが、大きいバージョンのブレンドには時間がかかるため、アルゴリズムの改良版ではそれが考慮される場合があります(たとえば、サイズ200のエリアのブレンドには、サイズ100の2つのエリアの約2倍の時間がかかります)。重みを考慮に入れると、コンポーネントを選択する際の戦略が向上する可能性があります(アルゴリズムの全体的な実行時間の高速化)。 最大の並列化と最小の反復回数が得られるようにグラフの一部を選択する最良の戦略を見つける、そのような最適化アルゴリズムの手がかりはありますか?

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