Ağırlıklı köşeleri olan iki parçalı bir grafikte minimum köşe kapağı bulmak için algoritma nedir?


10

Ağırlıksız bir bipartit grafik için önce maksimum eşleştirmeyi bularak ve König Teoremini kullanarak bir tepe örtüsüne dönüştürerek minimum tepe kapağını bulabileceğimi biliyorum. Düğümler ağırlıklı ise kullanılabilecek bir değişiklik var mı?


1
Shiva Kintali tarafından verilen çözüm sorununuzu çözse de, kısa bir açıklama eklemek istiyorum: König'in teoremi tamamen kardinalite ile ilgilidir. Ağırlıklar ekleyebilir, minimum maliyetli bir iki parçalı eşleme bulabilirsiniz (bunun için kenar ağırlıklarıyla algoritmalar vardır; bunun yerine düğüm ağırlıklarını kullanmak kolaydır), ancak yine de minimum maliyet minimum köşe kapağını alırsınız - ki bu olmayabilir minimum maliyet tepe noktası kapağı (yani, daha fazla düğümden oluşabilir). Hiçbir kardinalite kısıtlaması / optimizasyonu olmayan bir minimum maliyet eşleşmesi boş olacaktır (pozitif ağırlıklar için)…
Magnus Lie Hetland

Yanıtlar:


18

Ağırlıklı tepe kapağı sorunu bir Tamsayı Programı olarak formüle edilebilir (bkz. Http://en.wikipedia.org/wiki/Vertex_cover ). Giriş grafiği iki taraflı olduğunda, bu IP'nin kısıtlama matrisi tamamen değişmezdir. Bu nedenle bu IP polinom zamanında çözülebilir.

Toplam unimodüler matrisler ve karşılık gelen algoritmalar hakkında daha fazla bilgi için Alexander Schrijver'in mükemmel (üç cilt) kitabına bakın .


6
Daha kesin olmak gerekirse IP basitçe LP gevşemesini çözerek çözülebilir. Dahası, LP'nin ikisinin eşleştirmenin (tepe noktası örneğindeki köşelerin ağırlıklarına karşılık gelen kapasitelerle) genelleştirilmesi olduğu ve her zamanki gibi maksimum akışa indirgenerek çözülebildiği görülebilir.
Chandra Chekuri

Maksimum debi azaltımının @ChandraChekuri peudo kodu, Üretici-Tüketici Modellerindeki Kaynak Zarflarının Artan Hesaplamasında
xuhdev
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.