Apa yang dimaksud dengan algoritma untuk menemukan penutup simpul minimum pada grafik bipartit dengan simpul tertimbang?

10

Saya tahu bahwa untuk grafik bipartit tanpa bobot, saya dapat menemukan penutup simpul minimum dengan terlebih dahulu menemukan pencocokan maksimum dan mengubahnya menjadi penutup simpul menggunakan Teorema König. Apakah ada modifikasi yang bisa digunakan jika node ditimbang?

Andrey Fedorov
sumber
1
Meskipun solusi yang diberikan oleh Shiva Kintali memecahkan masalah Anda, saya hanya ingin menambahkan komentar cepat: Teorema König adalah tentang kardinalitas. Anda dapat menambahkan bobot, menemukan pencocokan bipartit maksimum minimum min-biaya (ada algoritma untuk ini dengan bobot tepi; sebaliknya, mudah untuk menggunakan bobot simpul), tetapi Anda masih akan mendapatkan penutup simpul minimum min-biaya - yang mungkin tidak penutup verteks min-biaya (yaitu, yang dapat terdiri dari lebih banyak node). Pencocokan biaya-min tanpa kendala / optimalisasi kardinalitas hanya akan kosong (untuk bobot positif) ...
Magnus Lie Hetland

Jawaban:

18

Masalah penutup simpul tertimbang dapat dirumuskan sebagai Program Integer (lihat http://en.wikipedia.org/wiki/Vertex_cover ). Ketika grafik input adalah bipartit, matriks kendala dari IP ini benar-benar unimodular. Oleh karena itu IP ini dapat diselesaikan dalam waktu polinomial.

Untuk detail lebih lanjut dari total matriks unimodular dan algoritma yang sesuai, lihat buku yang sangat baik (tiga volume) oleh Alexander Schrijver .

Siwa Kintali
sumber
6
Untuk lebih tepatnya IP dapat diselesaikan dengan hanya menyelesaikan relaksasi LP. Selain itu, orang dapat melihat bahwa dual LP adalah generalisasi pencocokan (dengan kapasitas yang sesuai dengan bobot dari simpul dalam instance vertex cover) dan dapat diselesaikan dengan mengurangi aliran maksimum dengan cara biasa.
Chandra Chekuri
@ChandraChekuri kode peudo pengurangan aliran maks dapat ditemukan pada Gambar 4 dalam Penghitungan Tambahan Sumberdaya-Amplop di Model Produsen-Konsumen
xuhdev