Sottoforeste con peso minimo della cardinalità data


11

Questa domanda è stata motivata da una domanda posta su StackOverflow .

Supponiamo che ti venga dato un albero radice (cioè che ci sia una radice e che i nodi abbiano figli ecc.) Su n nodi (etichettati 1 , 2 , ... , n ).Tn1,2,,n

Ogni vertice ha un peso intero non negativo associato: w i .iwi

Inoltre, ti viene dato un numero intero , tale che 1 k n .k1kn

Il peso di un insieme di nodi S { 1 , 2 , , n } è la somma dei pesi dei nodi: s S w s .W(S)S{1,2,,n}sSws

Ingresso dato , w i e k ,Twik

Il compito è trovare una sotto-foresta di peso minimo * , di T , in modo che S abbia esattamente k nodi (cioè | S | = > k ).STSk|S|=>k

In altre parole, per qualsiasi subforeste di T , tale che | S | = k , dobbiamo avere W ( S ) W ( S ) .ST|S|=kW(S)W(S)

Se il numero di figli di ciascun nodo era limitato (ad esempio alberi binari), esiste un algoritmo temporale polinomiale che utilizza la programmazione dinamica.

wi{0,1}

Sembra che dovrebbe essere un problema ben studiato.

Qualcuno sa se si tratta di un problema NP-Hard / esiste un algoritmo P time noto?


TSTxSxST

PS: Per favore, scusami se mi risulta che ho perso qualcosa di ovvio e la domanda è davvero fuori tema.


Sospetto fortemente che questa abbia una risposta facile, ma è comunque una domanda ragionevole.
Suresh Venkat,

Risposte:


7

ci{0,1}Sk=iSciCC

v(v)


k

Buon punto. Cambierò la mia risposta di conseguenza.
Riko Jacob,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.