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

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

2
最短経路問題の「親族」
非負のエッジの重みと2つの区別された頂点s,ts,ts,t持つ接続された無向グラフを考えます。以下は、次のすべての形式のパスの問題です。パスのエッジの重みの関数が最小になるようなs−ts−ts-tパスを見つけます。この意味で、これらはすべて最短経路問題の「親戚​​」です。後者では、関数は単に合計です。 注:頂点が繰り返されない単純なパスを探しています。文献ではこれらの問題の標準的な名前が見つからなかったので、自分で名前を付けました。 最小の重みギャップを持つパス:s−ts−ts-tパスを見つけます。パスの最大と最小のエッジの重みの差が最小になるようにします。 最もスムーズなパス:パスの最大ステップサイズが最小になるようなs−ts−ts-tパスを見つけます。ステップサイズは、2つの連続するエッジ間の重みの差の絶対値です。 最小高度のパス:パスに沿ったステップサイズの合計によってパスの高度を定義します(上記のステップサイズの定義を参照)。高度が最小s−ts−ts-tパスを見つけます。 最小の素数の重みを持つパス:すべてのエッジの重みが正の整数であると仮定して、その重みが素数になるようなs−ts−ts-tパスを見つけます。そのようなパスがある場合は、プライムウェイトが可能な限り小さいものを見つけます。 質問:これらのパスの問題について何がわかっていますか?(そして、重みの異なる関数を適用して、同様の精神で考えられる他のもの。)一般に、エッジ重みのどの関数が多項式時間で最小化でき、どれがNP困難であるかについてのガイダンスはありますか? 注:たとえば、重みの合計を最小化するのは簡単ですが(これは古典的な最短パスの問題です)、パス上の重みの密接に関連する平均を最小化することはNP困難であることが興味深いです。(重み2をsssとttt付随するすべてのエッジに割り当て、重み1を他のすべてに割り当てます。次に、最小平均重みパスが最長s−ts−ts-tパスになります)。

1
同様のグラフクエリに対する効率的なグラフ同型
グラフG1、G2、およびG3を前提として、G1とG2、およびG1とG3の間の同型検定Fを実行します。G2とG3が非常に類似していて、G3が1つのノードを削除して1つのノードをG2から挿入することによって形成され、F(G1、G2)の結果がある場合、最初から計算せずにF(G1、G3)を計算できます。既存の最先端の方法を拡張することによって? たとえば、G2がノード2、3、4、5で形成され、G3がノード3、4、5、6で形成される場合、F(G1、G2)の結果を使用してF(G1、 G3)より効率的ですか?

3
時間の関数としての長さを持つ最短距離問題
動機 先日、私は公共交通機関で市内を旅行していましたが、2つの場所間の最短接続を見つける問題をモデル化した興味深いグラフ問題を作成しました。 我々は、すべての古典的な「最短経路問題を」知っている:有向グラフを考えるとエッジの長さW E ∈ R + 0、G = (V、E)G=(V,E)G=(V,E)と2つの頂点 S 、T ∈ V、の間の最短経路を見つける S及び Tを(すなわち、トータルエッジ長を最小パス)。負でないエッジ長を想定すると、さまざまなアルゴリズムがあり、問題は簡単です。we∈R+0,e∈Ewe∈R0+,e∈Ew_e\in\mathbb{R}_0^+,\,e\in Es,t∈Vs,t∈Vs,t\in Vsssttt これは、たとえば、歩いている場合に適したモデルです。頂点は道路ネットワークの交差点であり、各エッジには固定長があります(たとえば、メートル単位)。エッジの重みの別の可能な解釈ある時、それは他の頂点の1から行くために私たちを取ります。これは今私が興味を持っている解釈です。wewew_e 問題 次の状況をモデル化したいと思います。市内のA地点からB地点まで公共交通機関で移動し、時間を最小限にしたいと考えています。公共交通機関ネットワークは、予想通り、有向グラフとして簡単にモデル化できます。興味深い部分は、エッジの重み(そのモデル時間)です-公共交通機関(バスなど)は特定の間隔でのみ出発し、ストップごとに異なります(グラフの頂点)。つまり、エッジの重みは一定ではなく、エッジを使用する時間に応じて変化します。 G=(V,E)G=(V,E)G=(V,E) w:E×R+0→R+0w:E×R0+→R0+w\colon E\times \mathbb{R}_0^+\rightarrow\mathbb{R}_0^+vvvuuut=10t=10t=10555vvvt=8t=8t=8w(vu,8)=7w(vu,8)=7w(vu,8)=7w(vu,10)=5w(vu,10)=5w(vu,10)=5 P=v1v2…vk−1vkP=v1v2…vk−1vkP=v_1v_2\ldots v_{k-1} v_kk=1k=1k=1w(P)=0w(P)=0w(P)=0w(P)=w(P′)+w(vk−1vk,w(P′))w(P)=w(P′)+w(vk−1vk,w(P′))w(P)=w(P')+w(v_{k-1}v_k,w(P'))P′P′P'PPPvkvkv_k wwww(e,t)≤w(e,t+Δ)+Δ for all e∈E,Δ≥0,w(e,t)≤w(e,t+Δ)+Δ for all e∈E,Δ≥0,w(e,t)\leq w(e,t+\Delta)+\Delta \text{ for all }e\in E,\Delta\geq 0,ΔΔ\Delta 関数が「うまく動作する」場合、この問題を古典的な最短経路問題に減らすことができる可能性があります。しかし、重み関数がワイルドになったときに何が起こるかを尋ねることができます。そして、待機するという仮定を外した場合はどうなるでしょうか。 ご質問 私の質問は次のとおりです。 この問題は以前に尋ねられたことがありますか?当たり前のようです。 何か研究はありますか?主に重み関数の特性に関して、尋ねられ、研究されるべき様々な副問題があるように私には思えます。 この問題を(おそらくいくつかの仮定の下で)古典的な最短経路問題に減らすことはできますか?

2
単純な無向グラフでのランダムウォークと平均打撃時間
ましょうG=(V,E)G=(V,E)G=(V,E)上の単純無向グラフであるnnn頂点とmmmエッジ。 Gのランダムスパニングツリーを生成するためのウィルソンアルゴリズムの予想実行時間を決定しようとしています。、それがあることが示されているO (τ )ここで、τは、ある平均打撃時間:τ = Σ V ∈ V π (V )⋅ H (U 、V )、ここで:GGGO(τ)O(τ)O(\tau)ττ\tauτ=∑v∈Vπ(v)⋅H(u,v),τ=∑v∈Vπ(v)⋅H(u,v),\tau = \sum_{v \in V} \pi(v) \cdot H(u, v), ππ\piは定常分布です π(v)=d(v)2mπ(v)=d(v)2m\pi(v)=\frac{d(v)}{2m}、 uuuは任意の頂点であり、 H(u,v)H(u,v)H(u,v)は、ヒット時間(AKAアクセス時間)です。つまり、頂点 uから始まり、頂点アクセスするまでの予想ステップ数です。vvvuuu 平均打撃時間の一般的な上限は何ですか?そして、平均打撃時間を最大化する最悪の場合のグラフは何GGGですか? 私の質問を明確にするために、私は計算や詳細な証明を必要としません(将来的にこの質問に遭遇する他の人々にとって役立つかもしれませんが)。個人的には、引用で十分です。 この論文では、予想されるカバー時間(すべての頂点を訪れた最初の時間)で機能するBroderの別のアルゴリズムについて言及しています。そして、平均打撃時間は常にカバータイムよりも短いと言われています。しかし、それだけで拘束さ漸近与えΘ (n個)のための最もグラフ(すなわち、エクスパンダグラフでそれを対比する)Θ (nはログN )(幾分より包括的な定義に最もグラフのブローダーによってほとんどを)。Θ(n)Θ(n)\Theta(n)Θ(nlogn)Θ(nlog⁡n)\Theta(n \log n) これは、平均打撃時間が、カバー時間がΘ (n 3)であるグラフの例を示しています。これは後者の最悪のケースであることが知られているが、彼は前者の最悪のケースについて特に何も述べていません。これは、ウィルソンのアルゴリズムの最悪のケースがO (n 2)とO (n 3)の間のどこかに入る可能性があることを意味します。Θ(n2)Θ(n2)\Theta(n^2)Θ(n3)Θ(n3)\Theta(n^3)O(n2)O(n2)O(n^2)O(n3)O(n3)O(n^3) 私が知っているウィルソンのアルゴリズムの2つの公的に利用可能な実装があります。1つはBoost Graph Libraryにあり、もう1つはgraph-toolにあります。前者のドキュメンテーションは実行時間について言及していませんが、後者は述べています: ランダムグラフの一般的な実行時間はです。O (n ログn …

0
後方エッジのあるDAGの単純なパス
次の問題の複雑さは何ですか(?NP-hard?):∈∈\in 入力:有向非巡回グラフ、後方エッジの集合E ' ⊂ V × V、及び二つの異なるノードS及びT。D=(V,E)D=(V,E)D=(V,E)E′⊂V×VE′⊂V×VE'\subset V\times Vsssttt 質問:レッツに添加することにより形成されたグラフで表すDからエッジEを'。少なくとも1つの後方エッジを使用するG のsからtへの単純なパスはありますか?G=(V,E∪E′)G=(V,E∪E′)G=(V,E\cup E')DDDE′E′E'ssstttGGG 注:0)シンプルパスは、頂点が繰り返されないパスです。後方エッジは、DAGによって暗示される部分的な順序と矛盾するエッジです。1)DAGでの単純なPTimeソリューションを認める分離パス問題への自明な削減により、単純なパスに正確に1つのバックワードエッジ(または定数)を使用するように要求した場合、問題は簡単です(PerlおよびShiloach、JACM'78)。 2)素な経路の問題は、一般的なグラフではNP完全です(Fortune et al。、TCS'80)。

2
-有向(/加重)グラフでは難しいが無向(/無加重)グラフではFPTの問題はどのグラフの問題ですか?
NP完全性に関する同等の質問(重みの質問と指示された質問を参照)に続いて、パラメーター化された問題がこれらの属性によってどのように影響を受けるかを考えていました。 どの -hardグラフの問題は、W [ 1 ] -hardは有向グラフでは難しいが、固定パラメーターは無向グラフで扱いやすいですか?NPNPNPW[1]W[1]W[1] どのハードグラフの問題はW [ 1 ]-ハードですが、重み付けされたグラフではハードですが、重み付けされていないグラフでは扱いやすい固定パラメータですか?NPNPNPW[1]W[1]W[1] わかりました、それで私たちは監督されたバージョンでより難しくなる問題を抱えています。重みはどうですか?それらはパラメータ化された問題をより困難にすることができますか?

2
木にまたがる完全性
グラフのスパニングツリーは、その葉のセットがホストグラフに完全なサブグラフを生成する場合、完全性ツリーと呼ばれます。グラフ と整数kが与えられた場合、Gに最大k個の葉を持つ完全性ツリーが含まれているかどうかを決定する複雑さは何ですか?GGGkkkGGGkkk この質問をする理由は、独立ツリーの対応する問題 がNP完全であるためです。ここで、独立ツリーはスパニングツリーであり、そのリーフのセットはホストグラフの独立セットです。 もう1つの理由は、この質問 (および対応する回答)です。これは、ことが判明し、すべてのスパニングツリー場合に限り、完全木であるGが完全グラフやサイクルです。 GGGGGG

1
ユニオンクロージャの計算
家族所与せいぜいのn個の部分集合{ 1 、2 、... 、N }。ユニオンクロージャFは、Fの 1つ以上のセットのユニオンを取ることによって構築できるすべてのセットを含む別のセットファミリCです。作成者| C | Cのセット数を示します。FF\mathcal Fんnn{ 1 、2 、... 、N }{1,2,…,n}\{ 1, 2, \dots, n \}FF\mathcal FCC\mathcal CFF\mathcal F|C||C||\mathcal C|CC\mathcal C ユニオンクロージャを計算する最速の方法は何ですか? ユニオンクロージャと、2つの部分からなるグラフにすべての最大独立セットをリストすることの等価性を示したので、ユニオンクロージャのサイズの決定は#P完全であることがわかります。 しかし、内のすべての最大独立集合(または最大クリーク)リストする方法がありとのグラフの時間Nノードおよびmは築山らエッジ。1977。しかし、これは2部グラフに特化していません。O(|C|⋅nm)O(|C|⋅nm)O(|\mathcal C| \cdot nm)nnnmmm ランタイム付きの2部グラフのアルゴリズムを提供しました http://www.ii.uib.no/~martinv/Papers/BooleanWidth_I.pdf|C|⋅log|C|⋅n2|C|⋅log⁡|C|⋅n2|\mathcal C| \cdot \log |\mathcal C| \cdot n^2 我々の方法は、内の任意の要素という観察に基づいているいくつかの他の要素の組合により製造することができるC、元のセットのいずれか。したがって、Cに要素を追加するときはいつでも、n個の元のセットのいずれかで要素を拡張しようとします。これらのそれぞれについてのn ⋅ | C | セットがまだCにあるかどうかを確認する必要があります。Cをバイナリ検索ツリーとして保存するため、各検索にはログが必要です。C | ⋅ n個の時間。CCCCCCCCCnnnn⋅|C|n⋅|C|n …

1
平面グラフ上で共通のソースを持つ最小-最大の頂点の素なパスを見つける
平面非加重グラフ、および頂点のペアのコレクション与えられた(K ≥ 2は、見つける定数)Kからのパス(ソースを除く)頂点互いに素をSとT i最長経路の長さが最小になるようにします。(s 、t1)、… 、(s 、tk)(s,t1),…,(s,tk)(s,t_1),\dots,(s,t_k)K ≥ 2k≥2k\ge2kkkssstitit_i 質問:問題の多項式時間アルゴリズムはありますか? 関連する結果: 場合固定されていない問題はNP困難であっても、T 1 = ⋯ = T K。kkkt1=⋯=tkt1=⋯=tkt_1=\dots=t_k 入力グラフが重み付けされ、パスのソースが一致しない場合、つまりパスがある場合、問題はk = 2の場合でもNP困難です。(s1,t1),…,(sk,tk)(s1,t1),…,(sk,tk)(s_1,t_1),\dots,(s_k,t_k)k=2k=2k=2 異なる目的、つまり経路長の合計を最小化する問題は、 ソースを一致させるための最小コストフローアルゴリズムで解決可能。 一致しないソースと一般的な NP-hard ;kkk 一致しないソースと定数開かれています。kkk

1
有限グリッドでの行と列の順列によるセルの接続
次の簡単な問題が以前に検討されたかどうか、また解決策がわかっているかどうかを知りたいです。 Gを有限(MxN)グリッド、SをGのセルのサブセット(「クラム」)とします。2つのクラムは、座標が最大で1つ異なる場合(つまり、正方形として描画される場合、少なくとも1つのコーナーポイントを共有する場合)、(ローカルに)接続されていると言われます。 これで、グリッドの行と列を入れ替えることで、クラム(全体として設定)を接続することができます。言い換えると、目的は、行の順列と列の順列を考え出すことで、結果として生じるグリッド内の2つのクラムが(ローカルに)接続されたクラムのチェーンによって接続されるようにすることです。 質問:常に解決策はありますか? どうやって攻撃したらいいのかよくわかりません。より良いアイデアがないので、私はブルートフォースで解決策を探す生のプログラムを作成しました(ランダムに順列を生成し、結果のグリッドにクラムが接続されているかどうかをチェックします)。これまでのところ、プログラムは小さめの(10x10または7x14)グリッドでソリューションを発見しており、大きなグリッドは明らかに単純化した戦略の範囲外です(ソリューション全体でランダムにつまずくには時間がかかりすぎます)。 これは、プログラムによって解決されるグリッドの例です。 初期グリッド(クラムはXで示され、空のセルはドットで示されます): 0 1 2 3 4 5 6 7 8 9 0 X . X X . X . X X . 1 X . . . . X . . . . 2 . . X . . . . X . X …

2
連続するポイント間の最小ユークリッド距離が最大になるようにポイントをソートする
3Dデカルト空間内の一連の点を前提として、これらの点を並べ替えるアルゴリズムを探しています。これにより、2つの連続する点間の最小ユークリッド距離が最大化されます。 また、アルゴリズムが、連続するポイント間の平均ユークリッド距離が高くなる傾向がある場合にも有益です。

1
スパニングスパイダーを見つける
特定のグラフスパニングスパイダー(存在する場合)を見つけるための多項式時間アルゴリズムはありますか?スパイダーは次数が2を超えるノードが最大で1つあるツリーです 。Gの さまざまな次数条件(基本的に、十分に大きなノードの次数)がスパニングスパイダーの存在を保証することを知っています。しかし、私は任意のGのアルゴリズムがあるかどうか疑問に思っています。ありがとう!GGG GGGGGG

2
格子の問題
半順序の計算問題(たとえば、認識、ジャンプ数、比較可能グラフの認識など)については、かなりの作業が行われています。 ラティスに固有の作業が行われたことに興味があります。私は周りを検索しましたが、ラティスの類似の作品はあまり見つかりませんでした。 特に、以下の格子問題が調査されたかどうかに興味があります。 格子認識:DAGまたは半順序が与えられた場合、それは実際には格子ですか? 格子比較可能性グラフの認識:無向グラフGが与えられた場合、Gのエッジは、結果として生じる方向が格子になるように方向付けることができますか? ラティスの結合既約要素の決定/カウント 特定のラティスが分散/モジュラーであるかどうかの判断

1
(有限)六角形テッセレーションのDelaunayグラフのグラフ同型を解決する多項式時間アルゴリズムはありますか?
有限の平面を考えると、固定サイズの正六角形を持つその平面の六角形のテッセレーションがあります。次に、テッセレーションのDelaunayグラフGを計算します。このようなグラフGが与えられた場合、そのグラフの特定のノードのセットを削除して、Gの複数のサブグラフを生成します。これらのサブグラフが同形であるかどうかを確認する必要があります。 そうするための多項式時間アルゴリズムはありますか? 一般的なケースでグラフ同型を解くための既知のポリタイムアルゴリズムがないことを知っています。しかし、そのような特定のドローネグラフがまだ当てはまるかどうかはわかりません。

1
強く結びついた有向グラフの剪定
重み付きエッジを持つ強連結有向グラフGが与えられた場合、Gの最小強連結サブグラフ(MSCS)の一部ではない可能性があるエッジを特定したいと思います。 このようなエッジを見つける1つの方法は、修正されたフロイドワーシャルアルゴリズムです。Floyd-Warshallアルゴリズムを使用すると、頂点iからjに移動するための最良のオプションではないエッジを特定できます。これらのノードをMSCSの一部にすることはできません。これらのノードを2つ以上の他のエッジに置き換える方が良いためです。 Floyd-Warshallプルーニングテクニックは、エッジの重みが大幅に変化する場合は非常にうまく機能しますが、エッジの重みが類似しているが大きさが大きい場合は非常に貧弱です。 似たような大きなエッジウェイトに対して効果的な剪定方法を知っていますか この問題は、私が認識していないより一般的な問題と同等ですか?この種の剪定は以前に文献で研究されたことがありますか?

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