NP-hardness menemukan subset dari simpul dalam grafik vertex-weighted

8

Ini adalah tugas dari kontes IT Jerman ("Bundeswettbewerb Informatik"), tetapi karena batas waktu sudah lewat, menanyakan pertanyaan ini tidak curang.

Dengan diberi graf titik-tertimbang, terarah dan nilai , temukan subset dari simpul yang memaksimalkan tunduk pada Apakah ini masalah NP-hard?G=(V,E)cvVresV

vVrescv
(kamu,v)E:kamuVresvVres

Saya bisa membuktikan bahwa masalahnya ada di P jika setiap node tidak memiliki orang tua atau anak-anak dengan menunjukkan bahwa dalam kasus ini, dapat diselesaikan dengan Vertex Cover pada grafik bipartit, tetapi saya gagal menemukan pengurangan yang membuktikan kekerasan NP. dari masalah aslinya.

Adakah yang bisa memberi saya petunjuk bagaimana melakukan ini?

PS: Dalam kontes, tugas itu hanya untuk menemukan algoritma yang memecahkan masalah ini, definisi asli (Jerman) adalah tugas 1 dari dokumen ini: http://www.bundeswettbewerb-informatik.de/fileadmin/templates/bwinf/ aufgaben / bwinf35 / aufgaben352.pdf

Feanor
sumber
5
Tanpa kehilangan keumuman, Anda dapat fokus pada kasus dag (grafik asiklik langsung). Dalam grafik yang diarahkan umum, terurai menjadi komponen yang sangat terhubung; maka Anda akan mengambil semua node dalam komponen, atau tidak satupun dari mereka; sehingga Anda dapat membentuk meta-graph (dengan satu titik per komponen) dan menyelesaikan masalah pada meta-graph.
DW
@ WD, saya berasumsi Anda bermaksud menyortir DAG secara topologi, tetapi tidak jelas bagi saya seperti apa tepatnya langkah Anda selanjutnya? Untuk setiap simpul dalam meta-graph untuk menjumlahkan bobot semua orang yang meninggal?
Eric_
@ Eric_, sayangnya, saya tidak memiliki langkah berikutnya dalam pikiran. Saya hanya mengatakan bahwa jika Anda dapat menemukan algoritma untuk menyelesaikan ini untuk DAG sewenang-wenang, Anda dapat menggunakannya untuk menyelesaikannya untuk grafik yang diarahkan sewenang-wenang. Mungkin itu memberi seseorang beberapa ide untuk bagaimana mendekati masalah - atau mungkin tidak. Saya sendiri tidak tahu bagaimana menyelesaikannya, saya rasa.
DW

Jawaban:

1

Masalahnya adalah waktu polinomial yang dapat dipecahkan, disarankan dalam Lemma 1 dari kertas Kompleksitas Komputasi dari Beberapa Masalah Berat Rata-Rata Maksimum dengan Kendala diutamakan .

Pada dasarnya idenya adalah untuk menulis program linear pada variabel xsaya[0,1]dimana xkamu-xv0 jika (kamu,v)E. Matriks adjacency yang ditandatangani benar-benar unimodular, sehingga kita dapat menghitung optimum integral.

Willard Zhan
sumber