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

1
最小カットはネットワークフローより簡単ですか?
max-flow min-cut定理のおかげで、任意のアルゴリズムを使用してネットワークグラフの最大フローを計算し、 -min-cut を計算できることがわかります。したがって、最小の計算の複雑さ最大値の計算の複雑度以下である留分 -flowを。(s 、t )(s 、t )(s,t)(s,t)(s,t)(s,t)(s,t)(s,t)(s,t)(s,t)(s,t) 少なくてもいいですか?最小カットを計算するアルゴリズムは、max-flowアルゴリズムよりも高速ですか?(s 、t )(s,t)(s,t) 私は、削減の削減発見しようとしたに)-max-フローの問題を -minカット問題は、しかし、私は1つを見つけることができませんでした。私が最初に考えたのは、分割統治アルゴリズムを使用することでした。まず、グラフを2つの部分に分割する最小カットを見つけます。ここで、左部分の最大フローと右部分の最大フローを再帰的に見つけ、それらをカットを横断するすべてのエッジと結合します。これは実際に最大フローを生成するために機能しますが、その最悪の場合の実行時間は、min-cutアルゴリズムの実行時間の倍にもなります。より良い削減はありますか?(s 、t )O (| V |)(s 、t(s,t(s,t(s 、t )(s,t)(s,t)O (| V| )O(|V|)O(|V|) max-flow min-cut定理は、max-flowの値を計算する複雑さがmin-cutの容量を計算する複雑さと同じであることを示していますが、それは私が求めていることではありません。最大フローを見つけ、最小カットを(明示的に)見つける問題について質問しています。 これは、以下を除き、min-cutからのmax-flowの計算と非常に密接に関連しています。おそらく与えられた我々は見つけることができますいくつかのグラフの最小カットするような、それは簡単の最大フローを計算することができます、他の質問の範囲外だものです。G ' G ' GGGGG′G′G'G′G′G'GGG

1
図の交差するエッジの数を減らす方法は?
ダイアグラムエディターの作業をしています。ダイアグラムは、コネクター(エッジ)で接続された2D形状(ノード)を表示します。 ノードを選択して、それらを「解きほぐす」操作を追加したいと思います。可能であれば、交差するエッジの数を減らすためにノードを再配置します(また、エッジをベンドポイントで描画する必要がある場合は問題ありません)。 。 したがって、(トポロジ)グラフの埋め込みとそのノードのサブセットを前提として、交差するエッジの数を最小限に抑えるために、それらのノードのみの埋め込み(そのトポロジ)を変更するグラフアルゴリズムが必要です。 頂点グラフについて読んだり、CabelloとMohar(2013)を閲覧したりすると、この問題はNP困難であると思います。そのため、任意のパラメーター値に対して既知の多項式の時間複雑性を持つパラメーター化されたアルゴリズム(たとえば、交差するエッジの数)に満足します。これは実現可能に思えますが、自分でそのようなアルゴリズムを思いつくのは簡単ではありません。 質問: そのようなアルゴリズムはどこにありますか? 存在しますか? 既存のソフトウェアでは? そのような手術での重要な実務経験はありますか?(理論的には見た目が良いものは実際にはそれほど良くないかもしれませんし、逆もまた同様です。) (私はこの質問をするのに最適な場所がわかりません:ここ、StackOverflow、またはMathOverflowで?)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.