La somma dei sottogruppi DAG è approssimativa?


13

Ci viene dato un grafico aciclico diretto con un numero associato a ciascun vertice ( ) e un numero target .sol=(V,E)g:VNTN

Il problema della somma del sottoinsieme DAG (potrebbe esistere con un nome diverso, un riferimento sarà ottimo) chiede se ci sono vertici , in modo tale che e è un percorso in .v1,v2,...,vKΣviog(vio)=Tv1..vKsol

Questo problema è banalmente NP-completo, poiché il grafico transitivo completo produce il classico problema della somma dei sottogruppi.

Un algoritmo di approssimazione per il problema della somma dei sottogruppi DAG è un algoritmo con le seguenti proprietà:

  1. Se esiste un percorso con somma T, l'algoritmo restituisce VERO.
  2. Se non esiste un percorso che sommi un numero compreso tra e per alcuni , l'algoritmo restituisce FALSE.(1-c)TTc(0,1)
  3. Se esiste un percorso che somma un numero compreso tra e , l'algoritmo può generare qualsiasi risposta.(1-c)TT

È noto che la somma del sottoinsieme è approssimativa in tempo polinomiale per tutti i .c>0

Lo stesso vale per DAG-Subset-Sum?

Risposte:


14

Mi sembra che l'algoritmo di programmazione dinamica temporale pseudo-polinomiale per il problema Somma sottoinsieme funzioni anche per questo problema. Per ogni vertice , calcoliamo l'insieme costituito da tutti i possibili valori dei percorsi terminati in . Quindi, abbiamo la relazione di ricorrenza: . Seguendo un ordine topologico, tutto il può essere calcolato nel tempo , dove è il peso totale e è il numero di spigoli.vioLiovioLio={g(vio)}{X+g(vio)|Xjprec(io)Lj}LioO(Km)Km

Penso che il ridimensionamento e l'arrotondamento standard possano essere applicati anche per derivare un FPTAS.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.