Ist Dynamic Programming niemals schwächer als Greedy?


15

In der Schaltungskomplexität gibt es Trennungen zwischen den Leistungen verschiedener Schaltungsmodelle.

In der Beweiskomplexität unterscheiden wir Potenzen verschiedener Beweissysteme.

In der Algorithmik gibt es jedoch nur wenige Unterschiede zwischen den Potenzen algorithmischer Paradigmen .

Meine folgenden Fragen zielen darauf ab, dieses letztere Problem für zwei Paradigmen zu berühren: Gierige und Dynamische Programmierung.

Wir haben eine Grundmenge von Elementen und eine Familie von Untergruppen, die als praktikable Lösungen deklariert wurden. Wir gehen davon aus, dass diese Familie nach unten geschlossen ist: Teilmengen machbarer Lösungen sind machbar. Bei einer Zuweisung von nichtnegativen Gewichten zu den Bodenelementen besteht das Problem darin, das maximale Gesamtgewicht einer möglichen Lösung zu berechnen.

Der Greedy-Algorithmus beginnt mit einer leeren Teillösung und fügt bei jedem Schritt ein noch nicht behandeltes Element mit dem größten Gewicht hinzu, wenn dies möglich ist, dh wenn die erweiterte Lösung noch möglich ist. Das bekannte Rado-Edmonds-Theorem besagt, dass dieser Algorithmus eine optimale Lösung für alle Eingabegewichte findet, wenn die Familie der realisierbaren Lösungen eine Matroide ist.

Grob gesagt ist ein DP-Algorithmus einfach , wenn er nur Max- und Summenoperationen (oder Min- und Summenoperationen) verwendet. Um genauer zu sein (wie von Joshua vorgeschlagen), meine ich mit einem einfachen DP- Algorithmus eine (max, +) Schaltung mit Fanin-2-Max- und Summengattern. Eingaben sind Variablen, deren te der dem ten Element zugewiesenen Gewichtung entsprechen . Eine solche Schaltung kann jedes derartige Problem lösen , indem sie nur das maximale Gesamtgewicht einer möglichen Lösung berechnet. Dies kann jedoch eine enorme Übertreibung sein, wenn wir exponentiell viele solcher Lösungen haben (wie es fast immer der Fall ist).ichich

Frage 1: Gibt es Matroide, für die ein einfacher DP-Algorithmus eine überpolynomielle Anzahl von Operationen benötigt, um das entsprechende Maximierungsproblem zu lösen?

KOMMENTAR (hinzugefügt am 24.12.2015): Diese Frage ist bereits beantwortet (siehe unten): Es gibt solche Matroiden, auch in überwältigender Mehrheit.

Die nächste Frage fragt nach der Trennung von gierigem und einfachem DP bei Approximationsproblemen . In der Max-Weight-Matching- Aufgabe besteht die Familie der möglichen Lösungen aus allen Matchings im vollständigen zweigliedrigen Graphen. Bei einer vorgegebenen Zuordnung von Gewichten zu den Kanten besteht das Ziel darin, das maximale Gewicht einer Übereinstimmung zu berechnen (dies ist immer eine perfekte Übereinstimmung, da die Gewichtung nicht negativ ist). n×n

Der einfache Greedy-Algorithmus kann dieses Problem innerhalb des Faktors 2 approximieren: Nehmen Sie einfach immer eine noch nicht gesehene disjunkte Kante des Maximalgewichts. Das erhaltene Gewicht beträgt mindestens die Hälfte des optimalen Gewichts.

Frage 2: Kann ein einfacher DP-Algorithmus das Max-Weight-Matching-Problem innerhalb des Faktors 2 approximieren, indem nur polynomiell viele Max- und Summenoperationen verwendet werden?

Natürlich approximiert ein einfacher DP-Algorithmus, der das fache des Maximalgewichts einer Kante ausgibt , dieses Problem innerhalb des Faktors . Aber wir wollen einen viel kleineren Faktor. Ich vermute, dass selbst ein Faktor nicht erreicht werden kann, aber noch einmal: Wie kann man das beweisen ? nnn/Logn

VERBINDUNG: Ein Cousin des Max-Weight-Matchings ist das Zuordnungsproblem : Finden Sie das Mindestgewicht eines perfekten Matchings. Dieses Problem kann (auch genau) durch lineare Programmierung (sogenannter ungarischer Algorithmus) gelöst werden, indem nur -Operationen verwendet werden. Aber die Untergrenze von Razborov für die Größe monotoner boolescher Schaltkreise, die die permanente Funktion berechnen, impliziert (nicht ganz direkt), dass jeder (min, +) Schaltkreis, der dieses Problem innerhalb eines (!) Endlichen Faktors approximiert, Operationen. Aus Gründen der Minimierung sind einfache DP-Algorithmen möglicherweise viel schwächer als die lineare Programmierung. Meine obigen Fragen zielen darauf ab zu zeigen, dass solche DP-Algorithmen möglicherweise noch schwächer sind als Greedy. Ö(n3)nΩ(Logn)

Hat jemand gesehen, dass jemand über ähnliche Fragen nachdenkt?


ADDED (am 24.12.2015): Frage 2 soll zeigen, dass ein bestimmtes Maximierungsproblem (das Max-Weight-Matching-Problem), das mit dem Greedy-Algorithmus mit dem Faktor approximiert werden kann, nicht durch eine einfache Polygröße approximiert werden kann DP mit dem gleichen Faktor . In der Zwischenzeit habe ich eine schwächere Trennung zwischen Greedy und Simple DP erhalten: Für jedes gibt es ein explizites Maximierungsproblem, das durch den Greedy-Algorithmus mit dem Faktor angenähert werden kann , aber keine einfache Polygröße Der DP - Algorithmus kann dieses Problem mit einem kleineren Faktor approximieren (siehe hier)r=2rr=Ö(n/Logn)r<r/3für eine Skizze). Dennoch bleibt Frage 2 selbst (nicht unbedingt für dieses spezielle Max-Weight-Problem) aktuell: Es wäre interessant, denselben Faktor mit beiden Algorithmen zu bestimmen.


2
Wollen Sie damit definieren „einfachen DP - Algorithmus“ als „jede (max, +) Schaltung mit Toren von Fan-in - 2“?
Joshua Grochow

xich,jKnD(j,1)=xs,jD(j,l)=Mindest{D(j,l-1),michnich{D(ich,l-1)+xich,j}}D(t,n-1)Ö(n3)

Antworten:


6

Ich denke, die Antwort auf meine Frage 1 ist positiv : Es gibt Matroids, bei denen die einfache DP schlecht ausfällt! Das heißt, einfache DP sind möglicherweise viel schlechter als Greedy, wenn Sie versuchen, ein Optimierungsproblem genau zu lösen .

KnKnff(max,+)

22n/n3/2n

2kkMatroids. Andererseits verwenden DP-basierte Approximationsalgorithmen meines Wissens normalerweise eine Art "Skalierung" von Eingabegewichten und gelten nur für "rucksackartige" Probleme oder einige Planungsprobleme. Eine negative Antwort auf Frage 2 würde bestätigen diese scheinbare „Annäherung Schwäche“ von DP.


1
Eine etwas tangentiale Bemerkung: DP wird auch in den Arora-Algorithmen für verschiedene euklidische Probleme mit festen Dimensionen verwendet, z. B. für euklidische TSP. Dies ist jedoch immer noch im Sinne einer Abrundung der Eingabe.
Sasho Nikolov

@Sasho: Ja, das sind in der Tat niedliche DP-basierte Algorithmen. Woeginger hat sogar versucht, Probleme zu erfassen, bei denen DP helfen kann, sie zu approximieren. Aber ich habe keine gute DP-Approximation gesehen, die rein ist (nur Max und Summe oder Min und Summe, keine Rundung / Skalierung, kein ArgMax usw.). Natürlich könnte dies nur mein Fehler sein: Approximationsalgorithmen sind etwas Neues für mich .
Stasys

Ich kenne kein Beispiel für eine gute "reine" DP-Approximation in Ihrem Sinne: Alle Beispiele, die ich kenne, verwenden eine Form der Rundung.
Sasho Nikolov
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.