Peso mínimo subforest de cardinalidad dada


11

Esta pregunta fue motivada por una pregunta hecha en stackoverflow .

Supongamos que se le da un árbol enraizado (es decir, hay una raíz y los nodos tienen hijos, etc.) en n nodos (etiquetados 1 , 2 , ... , n ).Tn1,2,…,n

Cada vértice tiene un peso entero no negativo asociado: w i .iwi

Además, se le da un número entero , tal que 1 ≤ k ≤ n .k1≤k≤n

El peso de un conjunto de nodos S ⊆ { 1 , 2 , ... , n } es la suma de los pesos de los nodos: ∑ s ∈ S w s .W(S)S⊆{1,2,…,n}∑s∈Sws

Dada la entrada , w i y k ,Twik

La tarea es encontrar un sub-bosque de peso mínimo * , de T , de modo que S tenga exactamente k nodos (es decir, | S | = > k ).STSk|S|=>k

En otras palabras, para cualquier subforest de T , tal que | S ′ | = k , debemos tener W ( S ) ≤ W ( S ′ ) .S′T|S′|=kW(S)≤W(S′)

Si el número de hijos de cada nodo estaba limitado (por ejemplo, árboles binarios), entonces hay un algoritmo de tiempo polinómico que usa programación dinámica.

wi∈{0,1}

Parece que debería ser un problema bien estudiado.

¿Alguien sabe si este es un problema NP-Hard / hay un algoritmo de tiempo P conocido?


TSTx∈SxST

PD: Disculpe si resulta que me perdí algo obvio y la pregunta está realmente fuera de tema.


Sospecho firmemente que esto tiene una respuesta fácil, pero sigue siendo una pregunta razonable.
— Suresh Venkat

Respuestas:


7

ci∈{0,1}Sk=∑i∈SciCC

v(v)


k

Buen punto. Cambiaré mi respuesta en consecuencia.
— Riko Jacob
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.