Sous-forêt de poids minimum de cardinalité donnée

11

Cette question était motivée par une question posée sur stackoverflow .

Supposons que l'on vous donne un arbre enraciné (c'est-à-dire qu'il y a une racine et que les nœuds ont des enfants, etc.) sur n nœuds (étiquetés 1 , 2 , , n ).Tn1,2,,n

Chaque sommet a un poids entier non négatif associé: w i .iwi

De plus, on vous donne un entier , tel que 1 k n .k1kn

Le poids d'un ensemble de nœuds S { 1 , 2 , , n } est la somme des poids des nœuds: s S w s .W(S)S{1,2,,n}sSws

Étant donné l'entrée , w i et k ,Twik

La tâche consiste à trouver une sous-forêt de poids minimum * , de T , telle que S ait exactement k nœuds (ie | S | = > k ).STSk|S|=>k

En d'autres termes, pour toute sous-forêt de T , telle que | S | = k , nous devons avoir W ( S ) W ( S ) .ST|S|=kW(S)W(S)

Si le nombre d'enfants de chaque nœud était borné (par exemple les arbres binaires), il existe alors un algorithme polynomial temporel utilisant la programmation dynamique.

wi{0,1}

Cela semble être un problème bien étudié.

Est-ce que quelqu'un sait s'il s'agit d'un problème NP-Hard / existe-t-il un algorithme de temps P connu?


TSTxSxST

PS: Veuillez m'excuser s'il s'avère que j'ai raté quelque chose d'évident et que la question est vraiment hors sujet.

Aryabhata
la source
Je soupçonne fortement que cela a une réponse facile, mais c'est toujours une question raisonnable.
Suresh Venkat

Réponses:

7

ci{0,1}Sk=iSciCC

v(v)

Riko Jacob
la source
k
Bon point. Je changerai ma réponse en conséquence.
Riko Jacob