Tengo una tarea para la cual me he estado golpeando la cabeza durante algún tiempo, y agradecería cualquier pista. Se trata de elegir un problema conocido, cuya integridad NP está probada, y construir una reducción de ese problema al siguiente problema que llamaré DGD (diagnóstico de gráfico dirigido).
Problema
Una instancia de DGD consiste en vértices , bordes dirigidos y un entero positivo . Hay tres tipos de vértices: vértices con bordes entrantes sólo , vértices con bordes salientes solamente y vértices con tanto entrantes como salientes bordes . Dejar que, además, .V = I . ∪ O . ∪ B E k I O B D = O × I
Ahora, el problema es si podemos cubrir todos los nodos con a lo sumo elementos de , es decirD
donde significa que hay una ruta dirigida de a .a b
Creo que el problema del conjunto dominante es el que debería reducir, porque esto también está preocupado por cubrir un subconjunto de nodos con otro subconjunto. Intenté crear una instancia DGD creando primero dos nodos para cada elemento del conjunto dominante, copiando todos los bordes y luego estableciendo la de la instancia DGD igual a la de la instancia DS.
Supongamos una instancia DS simple con nodos , y y bordes y . Esta es una instancia de sí con ; el conjunto dominante en este caso consiste solo en el nodo . Reduciendo con el método que se acaba de describir, esto conduciría a una instancia DGD con dos rutas y ; para cubrir todos los nodos, solo un par sería suficiente. Esto hubiera funcionado perfectamente, de no ser por el hecho de que el conjunto dominante de la instancia DS no puede, por supuesto, determinarse en tiempo polinómico, lo cual es un requisito aquí.2 3 ( 1 , 2 ) ( 1 , 3 ) k = 1 1 ( 1 → 2 → 1 ′ ) ( 1 → 3 → 1 ′ ) ( 1 , 1 ′ )
He descubierto que hay muchas formas atractivas de transformar los bordes y vértices al reducir, pero mi problema es expresar de alguna manera la de DGD en términos de de DS . Dominar a Set parecía un problema apropiado para reducir, pero debido a esto, creo que tal vez debería tratar de reducir un problema que no tiene tal .k k
fuente
Respuestas:
Reduzca de NP-complete SET-COVER en su lugar.
Deje con una instancia de la cubierta del conjunto. Defina una instancia de DGD como esta:k ∈ N ( V , E , k ′S1,…,Sm⊆{1,…,n} k∈N (V,E,k′)
Es fácil ver que la instancia DGD construida tiene una respuesta positiva si y solo si la instancia de cobertura de conjunto dada tiene una respuesta positiva. En particular, todos los pares de tienen que elegirse sin importar para cubrir todos los ; entonces de los pares tienen que cubrir todos los , y los primeros componentes de los elegidos son la solución de la instancia SET-COVER. Si tal opción no es posible, la instancia SET-COVER tampoco tiene solución.m (si,oi) oi k m (si,o) ej
Como la construcción es posible en tiempo polinómico, esto demuestra SET-COVER DGD.≤p
Como ejemplo, considere la instancia de portada de conjunto de ejemplos dada en Wikipedia , a saber, y establece . Esto se traduce en el siguiente gráfico:{1,2,3,4,5} S={{1,2,3},{2,4},{3,4},{4,5}}
[ fuente ]
fuente