頂点加重グラフで頂点のサブセットを見つけることのNP硬度


8

これはドイツのITコンテスト( "Bundeswettbewerb Informatik")からのタスクですが、締め切りが過ぎているため、この質問をすることは不正行為ではありません。

頂点加重有向グラフ所与と値が、ノードのサブセットを見つけるその最大化対象 この問題はNP困難ですか?G=(V,E)cvVresV

vVrescv
(u,v)E:uVresvVres

この場合、2部グラフのVertex Coverで解決できることを示すことで、すべてのノードに親も子もない場合、問題がPであることを証明できますが、NP硬度を証明する削減を見つけることができませんでした。元の問題の。

誰かが私にこれを行う方法のヒントを与えることができますか?

PS:コンテストでは、タスクはこの問題を解決するアルゴリズムを見つけることだけでした。元の(ドイツ語)定義は、このドキュメントのタスク1です。http//www.bundeswettbewerb-informatik.de/fileadmin/templates/bwinf/ aufgaben / bwinf35 / aufgaben352.pdf


5
一般性を失うことなく、ダグ(有向非巡回グラフ)の場合に集中できます。一般的な有向グラフでは、強連結成分に分解します。次に、コンポーネントのすべてのノードを取得するか、ノードを1つも取得しません。メタグラフを(コンポーネントごとに1つの頂点を使って)作成し、メタグラフの問題を解決できます。
DW

@DW、あなたはDAGをトポロジー的にソートするつもりだと思いますが、次のステップは正確に何であるかははっきりしません。メタグラフの各頂点について、そのすべての子孫の重みを合計しますか?
Eric_

@Eric_、悲しいかな、次のステップは考えていません。これを任意のDAGに対して解決するアルゴリズムが見つかれば、それを使用して任意の有向グラフに対してそれを解決できると私は言っています。多分それは誰かに問題に取り組む方法についてのいくつかのアイデアを与えるでしょう-あるいはそうでないかもしれません。私はそれを自分で解決する方法を知りません、私は恐れています。
DW

回答:


1

問題は多項式時間で解けるものであり、優先順位制約のあるいくつかの最大平均重み問題の計算の複雑さの論文の補題1で提案されています。

基本的には、変数で線形プログラムを書くという考え方です。ここで、 ifです。符号付き隣接行列は完全にユニモジュラーなので、積分最適を計算できます。X U - X V0 U V Exi[0,1]xuxv0(u,v)E

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