Ist die Summe der DAG-Teilmengen annähernd?


13

Wir erhalten einen gerichteten azyklischen Graphen mit einer jedem Scheitelpunkt zugeordneten Zahl ( ) und einer Zielzahl .g : V N T NG=(V,E)G:VNTN

Das DAG-Teilmengen-Summenproblem (möglicherweise unter einem anderen Namen vorhanden, eine Referenz ist ) fragt, ob Eckpunkte , sodass und ist ein Weg in .v1,v2,...,vkΣvichG(vich)=Tv1..vkG

Dieses Problem ist trivial NP-vollständig, da der vollständige transitive Graph das klassische Teilmengen-Summenproblem ergibt.

Ein Näherungsalgorithmus für das DAG-Teilmengen-Summenproblem ist ein Algorithmus mit den folgenden Eigenschaften:

  1. Wenn es einen Pfad mit der Summe T gibt, gibt der Algorithmus TRUE zurück.
  2. Wenn es für einige keinen Pfad gibt, der zu einer Zahl zwischen und summiert , gibt der Algorithmus FALSE zurück.(1c)TTc(0,1)
  3. Wenn es einen Pfad gibt, der zu einer Zahl zwischen und summiert , kann der Algorithmus irgendeine Antwort ausgeben.T(1c)TT

Es ist bekannt, dass die Teilmengensumme in Polynomzeit für alle approximierbar ist .c>0

Gilt das auch für DAG-Subset-Sum?

Antworten:


14

Es scheint mir, dass der pseudo-polynomielle Algorithmus zur zeitdynamischen Programmierung für das Teilmengen-Summen-Problem auch für dieses Problem funktioniert. Für jeden Scheitelpunkt , berechnen wir die Menge L i alle möglichen Werte von Pfaden , die aus zumin beendet v i . Dann haben wir die Rekursion: L i = { g ( v i ) } { x + g ( v i ) | x j p r e c ( i ) LviLivi . Nach einer topologischen Reihenfolge werden alle L iLi={g(vi)}{x+g(vi)xjprec(i)Lj}LiO(Km)Km

Ich denke, die Standard-Skalierung und -Rundung kann auch angewendet werden, um ein FPTAS abzuleiten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.