To pytanie było motywowane pytaniem dotyczącym przepływu stosu .
Załóżmy, że otrzymujesz zrootowane drzewo (tzn. Jest to root, a węzły mają dzieci itp.) W węzłach (oznaczonych ).n 1 , 2 , … , n
Każdy wierzchołek ma powiązaną nieujemną masę całkowitą: .w ja
Dodatkowo podana jest liczba całkowita , taka jak .1 ≤ k ≤ n
Waga zestawu węzłów jest sumą wag węzłów: .S ⊆ { 1 , 2 , … , n } ∑ s ∈ S w s
Biorąc pod uwagę dane wejściowe , i ,w i k
Zadaniem jest znalezienie minimalnej masy sub-las * , Z , tak że ma dokładnie węzłów (tj ).T S| S | = > k
Innymi słowy, dla dowolnego lasu leśnego z , takiego jak , musimy mieć . T | S ′ | = k W ( S ) ≤ W ( S ′ )
Jeśli liczba potomków każdego węzła została ograniczona (na przykład drzewa binarne), wówczas istnieje algorytm wielomianowy wykorzystujący programowanie dynamiczne.
Mam wrażenie, że jest to NP-Hard dla ogólnych drzew, ale nie znalazłem żadnych referencji / dowodów. Patrzyłem nawet tutaj , ale nie mogłem znaleźć czegoś, co mogłoby pomóc. Mam wrażenie, że pozostanie NP-Hard, nawet jeśli ograniczysz (i może to być łatwiejsze do udowodnienia).
Wydaje się, że powinien to być dobrze zbadany problem.
Czy ktoś wie, czy jest to trudny problem NP / czy istnieje znany algorytm czasu P.
* Sub-las jest podzbiorem węzłów drzewa , tak, że jeśli , to wszystkie dzieci są w też. (tj. jest to rozłączny związek ukorzenionych podgrzewań ).S T x ∈ S x S T
PS: Proszę mi wybaczyć, jeśli okaże się, że coś przeoczyłem, a pytanie jest naprawdę nie na temat.