¿La suma del subconjunto DAG es aproximable?

13

Se nos da un dirigido acíclico gráfico con un número asociado con cada vértice ( g : V N ), y un número de destino T N .G=(V,E)g:VNTN

El problema de la suma DAG subconjunto (podría existir con un nombre diferente, una referencia será grande) pregunta si hay vértices , tal que Σ v i g ( v i ) = T , y v 1. . v k es un camino en G .v1,v2,...,vkΣvig(vi)=Tv1..vkG

Este problema es trivialmente NP-completo, ya que el gráfico transitivo completo produce el problema clásico de suma de subconjuntos.

Un algoritmo de aproximación para el problema de suma de subconjuntos DAG es un algoritmo con las siguientes propiedades:

  1. Si existe una ruta con suma T, el algoritmo devuelve VERDADERO.
  2. Si no hay una ruta que sume un número entre y T para alguna c ( 0 , 1 ) , el algoritmo devuelve FALSO.(1c)TTc(0,1)
  3. Si hay una ruta que suma un número entre y T , el algoritmo puede generar cualquier respuesta.(1c)TT

Se sabe que la suma de subconjuntos es aproximable en tiempo polinómico para todo .c>0

¿Lo mismo vale para DAG-Subset-Sum?

RB
fuente

Respuestas:

14

Me parece que el algoritmo de programación dinámica de tiempo pseudo-polinomial para el problema Subset Sum también funciona para este problema. Para cada vértice , calculamos el conjunto L i que consta de todos los valores posibles de caminos terminados en v i . Entonces, tenemos la relación de recurrencia: L i = { g ( v i ) } { x + g ( v i ) x j p r e c ( i ) LviLivi . Siguiendo un orden topológico, todo el L i se puede calcular en el tiempo O ( K m ) , donde K es el peso total ym es el número de aristas.Li={g(vi)}{x+g(vi)xjprec(i)Lj}LiO(Km)Km

Creo que la escala y redondeo estándar también se puede aplicar para derivar un FPTAS.

Bangye
fuente