Verilen kardinalitenin minimum ağırlık alt ormanı


11

Bu soru üzerine sorulan bir soruya motive edilmiş stackoverflow .

Eğer köklü ağaç verilir varsayalım (yani bir kök var ve düğümleri çocuk vb var) üzerinde düğümleri (etiketli ).n 1 , 2 , , nTn1,2,,n

Her tepe noktası , negatif olmayan bir tamsayı ağırlığına sahiptir: .w beniwi

Ayrıca, bir tamsayı verilir , öyle ki .1 k nk1kn

Bir düğüm grubunun ağırlığı , düğümlerin ağırlıklarının toplamıdır: .S { 1 , 2 , , n } s S w sW(S)S{1,2,,n}sSws

Giriş , ve ,w i kTwik

Görev, tam olarak düğümüne (yani ) sahip olacağı şekilde minimum ağırlık ormanı * , ' yi bulmaktır .T S k | S | = > kSTSk|S|=>k

Herhangi subforest diğer bir deyişle, ve , öyle ki , . T | S | = k W ( S ) W ( S )ST|S|=kW(S)W(S)

Her bir düğümün çocuk sayısı sınırlıysa (örneğin ikili ağaçlar), dinamik programlama kullanan bir polinom zaman algoritması vardır.

Bunun genel ağaçlar için NP-Hard olduğunu hissediyorum, ancak herhangi bir referans / kanıt bulamadım. Hatta baktım burada ama yardımcı olabilecek bir şey bulamadık. bile bu NP-Hard olarak kalacaktır (ve bunu kanıtlamak daha kolay olabilir).wi{0,1}

Bu iyi incelenmiş bir problem gibi görünüyor.

Herkes bunun NP-Zor bir sorun olup olmadığını biliyor mu / bilinen bir P zaman algoritması var mı?


* Bir alt orman bir alt kümesidir ağaç ait düğümlerin eğer öyle ki, , o zaman tüm çocukları içindedir de. (yani köklü alt ağaçlarının ayrık birliğidir ).S T x S x S TTSTxSxST

Not: Açık bir şeyi kaçırdığım ve sorunun gerçekten konu dışı olduğu ortaya çıkarsa lütfen beni affedin.


Bunun kolay bir cevabı olduğundan şüpheleniyorum, ama yine de makul bir soru.
Suresh Venkat

Yanıtlar:


7

İkili bir ağaç çözümüne benzer şekilde, derece kısıtlaması olmayan bir ağaç üzerinde polinom zamanda çözebilirsiniz: İlk olarak, her düğümün bir "sayım" olacak şekilde sorunu genelleştirin ve sorun bir subforest bulmaktır S sayımı ait k = Σ i S c i . Bu sürüme dinamik programlama yaklaşımını genelleştirin (sabit bir C sayısı verilen bir tabloyla çalışır, tam olarak C sayısına sahip alt ağaçtaki minimum ağırlık alt ormanı nedir ) cben{0,1}Sk=ΣbenScbenCC

Orijinal ağacı 1 numaralı düğümlerle saklayın. Derecesi 2'den büyük olan her düğüm , deg ( v ) yapraklı ikili bir ağaca bölünür (şekil önemli değildir). Yeni düğümlerin sayısı ve ağırlığı 0'dır. Yeni ağaçtaki sorunu çözün. Çözümü okurken herhangi bir yeni düğümü dikkate almayın; bu hala aynı ağırlığın bir alt ormanı olacaktır. Herhangi bir orijinal alt orman aynı ağırlıktaki yeni bir alt ormana dönüştüğü için bulunan alt orman en uygunudur.v(v)


Optimal çözeltilerin eşdeğerini elde etmek için parametresini uyarlamanız gerekir . k
Marc Bury

İyi bir nokta. Cevabımı buna göre değiştireceğim.
Riko Jacob
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.