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 ).
Chaque sommet a un poids entier non négatif associé: w i .
De plus, on vous donne un entier , tel que 1 ≤ k ≤ n .
Le poids d'un ensemble de nœuds S ⊆ { 1 , 2 , … , n } est la somme des poids des nœuds: ∑ s ∈ S w s .
Étant donné l'entrée , w i et k ,
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 ).
En d'autres termes, pour toute sous-forêt de T , telle que | S ′ | = k , nous devons avoir W ( 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.
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?
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.
Réponses:
la source