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 .k1≤k≤n

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}∑s∈Sws

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 ′ ) .S′T|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?


TSTx∈SxST

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=∑i∈SciCC

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.