Minimale kumulative Sollsumme


17

Betrachten Sie dieses Problem: Suchen Sie anhand einer Liste endlicher Mengen eine Reihenfolge , die | minimiert s 1 | + | s 1s 2 | + | s 1s 2s 3 | + .s1,s2,s3,|s1|+|s1s2|+|s1s2s3|+

Gibt es dafür bekannte Algorithmen? Was ist ihre Komplexität? Ich konnte mir noch keinen effizienten optimalen Algorithmus ausdenken, aber es ist auch nicht offensichtlich in NP-Hard.


1
Haben Sie alle offensichtlichen Möglichkeiten ausprobiert, dies mit einem gierigen Algorithmus zu lösen, um zu sehen, ob einer von ihnen funktioniert? (Es besteht die Möglichkeit, dass keiner von ihnen funktioniert, aber es lohnt sich zu prüfen. Normalerweise ist es für jeden in Frage kommenden gierigen Algorithmus, den Sie in Betracht ziehen, leicht, ein Gegenbeispiel zu finden, das dies beweist.)
DW

Ich habe bereits bewiesen, dass der Greedy-Algorithmus für n 3 nicht funktioniert . Gegenbeispiel: A = {0, 1} B = C = {2,3,4}. Optimale Lösung ist B, C, A mit Kosten 11, gieriger Algorithmus ergibt A, B, C mit Kosten 12. Bisher habe ich mir am besten einen Approximationsalgorithmus mit Verhältnis n + 2 ausgedacht , was ziemlich schlecht ist. n+23
Antimon

Es gibt ein dynamisches -Zeitprogramm, wobei n die Anzahl der Sätze ist. O(2npoly(n))n

1
Vielleicht ist dies besser für die Theorie geeignet.
Yuval Filmus

5
Kann jemand den Sonderfall lösen, wenn alle ? |si|=2
Domotorp

Antworten:


6

Dieses Problem hängt tatsächlich mit einem Planungsproblem zusammen, das als "Prioritätsbeschränkte Planung zur Minimierung der gewichteten Abschlusszeit" bekannt ist. Das Problem ist wie folgt: Bei einer Reihe von Jobs, bei denen jeder Job eine Verarbeitungszeit (p) und ein Gewicht (w) aufweist und für die Jobs ein Prioritätsdiagramm definiert ist. Ziel ist es, die Jobs auf einem einzelnen Computer (nicht präemptiv) so zu planen, dass die Prioritätsbeschränkungen statistisch festgelegt werden und die Summe der gewichteten Abschlusszeiten minimiert wird. Das Problem ist NP-hart und eine 2-Approximation ist bekannt.

Reduktion vom minimalen kumulativen Summenproblem auf das Problem der prioritätsbeschränkten Zeitplanung: Erstellen Sie für jedes Element einen Job mit p = 1, w = 0. Erstellen Sie auch für jede Menge einen Job mit p = 0, w = 1. Erstellen Sie das Prioritätsdiagramm, so dass Wenn das Element , muss e vor S eingeplant werden . Ich denke, dieser Sonderfall des Scheduling-Problems ist auch NP-schwer.eSeS

Siehe die folgenden Links,

1) http://www.win.tue.nl/~gwoegi/papers/precsum.pdf

2) http://web.engr.illinois.edu/~chekuri/papers/dam_sched.ps


Ich würde auch das folgende Papier für verbesserte Grenzen, Sonderfälle und Härteergebnisse für das Planungsproblem empfehlen. people.idsia.ch/~monaldo/papers/MOR-schedprec-11.pdf . Siehe auch das Papier über 2- \ epsilon-Härte unter einer Variante einzigartiger Spiele von Bansal und Khot win.tue.nl/~nikhil/pubs/focs-09-version.pdf .
Chandra Chekuri

Müsste die Reduktion nicht in die andere Richtung gehen, um zu beweisen, dass das kumulative Summenproblem NP Hard ist?
Antimon

Egal, ich denke, ich sehe, wie die Reduzierung in beide Richtungen geht.
Antimon

1

Shalmoli Gupta hat bereits erklärt, dass das allgemeine Problem NP-schwer ist. Deshalb habe ich mich entschlossen, zu untersuchen, ob irgendwelche Sonderfälle polynomiell lösbar sind. Schließlich fand ich eine Lösung für den Sonderfall von Mengen, die einen Baum repräsentieren, oder allgemeiner eine serielle parallele Reihenfolge durch Einbeziehung von Teilmengen, wobei alle unvergleichbaren Mengen disjunkt sind.

Eine Eigenschaft, die die Sache einfacher macht, ist, wenn die Liste der Mengen unter der Überschneidung geschlossen wird. Wenn ist, gibt es eine optimale Reihenfolge, in der s 1 vor s 2 steht . Wir können WLOG annehmen, dass die optimale Reihenfolge eine lineare Erweiterung der durch die Einbeziehung von Teilmengen gegebenen Teilreihenfolge ist.s1s2s1s2

Da alle Teilmengen einer Menge in der Reihenfolge davor erscheinen, bedeutet dies, dass der Betrag, der von einer gegebenen Menge zur laufenden Summe addiert wird, unabhängig davon, wo er erscheint, festgelegt ist. Wenn die Liste der Mengen ist, sind die zusätzlichen Kosten einer Menge die Anzahl der Elemente in s, die sich nicht in einer Teilmenge von s befinden, die in S erscheint . Wenn derselbe Satz in S mehrfach vorkommt , können wir beliebig einen auswählen, um zuerst zu beginnen und die anderen 0 kosten zu lassen.SSS

Dies bedeutet, dass das Problem dem Problem der minimalen gewichteten Abschlusszeit bei der Einzelmaschinenplanung mit Prioritätsbeschränkungen entspricht. In diesem Problem eine Reihe von Jobs mit Gewichten gegeben, und Zeiten t j , und eine partielle Ordnung auf dem Arbeits P , wollen wir eine Ordnung der Arbeit finden, der die gewichteten Gesamtausführungszeit minimiert, dhwjtjP

i=1nwji(k=1itjk)

vorbehaltlich der Präzedenzbedingungen . Das minimale kumulative Mengenproblem bei geschlossenen Mengen mit Überschneidungen kann dadurch behoben werden, dass für jede Menge ein Auftrag erstellt wird, bei dem jeder Auftrag das Gewicht 1 hat, die Zeit den oben definierten inkrementellen Kosten entspricht und P die Reihenfolge ist, die durch die Einbeziehung von Teilmengen angegeben wird.PP

Wie sich herausstellt, ist dieses Problem auch für allgemeines NP-schwer . Bestimmte Sonderformen von P können jedoch in der Polynomzeit gelöst werden.PP

In dieser Arbeit wird ein -Algorithmus für den Fall serieller paralleler Ordnungen P angegeben (der auch den wichtigen Fall von Bäumen einschließt). Leider konnte ich nicht auf dieses Papier zugreifen, und ich beschloss, es selbstständig neu zu erfinden. Folgendes habe ich mir ausgedacht.O(nlogn)P

Um dieses Problem zu lösen, sind mehrere Beobachtungen erforderlich.

Erstens besteht die optimale Lösung in Abwesenheit von Prioritätsbeschränkungen darin, die Jobs einfach in der Reihenfolge zu sortieren, in der t j erhöht wird . Der Einfachheit halber beziehe ich mich hier auf den Wert des Jobs, abgekürzt mitv(j). Beachten Sie, dasses unmöglich ist, diese Komplexität zuübertreffen, da die SortierungO(nlogn)ist.tjwjv(j)O(nlogn)

Regel 1 Sei und b Jobs, so dass a < b P und b a abdecken. Wenn v ( a ) < v ( b ) ist , können wir die Bedingung a < b fallen lassen, ohne die optimale Reihenfolge oder den objektiven Wert zu beeinflussen.aba<bPv(a)<v(b)a<b

ba

v(a)=v(b)

v(a)v(b)a<b

wc=wa+wbtc=ta+tbP

watbcab

abv(a)>v(b)ab

a,x1,x2,,bPxiabxixv(x)v(x)v(a)xav(x)v(b)xbv(a)<v(x)<v(b)v(a)>v(b)

O(n2)PP

PP1P2C1C2PC2C1

PS1S2

O(n2)O(nlogn)

Insbesondere wenn ein Unterproblem nur Knoten enthält, bei denen die Prioritätsbeschränkungen der Reihenfolge der Werte entsprechen, können wir die Prioritätsbeschränkungen vollständig vergessen und nur die Werte betrachten. Dies wird durch dieselbe Invariante sichergestellt, die dafür gesorgt hat, dass die Lösungen im vorherigen Algorithmus nach Ketten sortiert sind.

Anstatt für jedes Teilproblem eine sortierte Kette zu berechnen, stellen wir die optimale Lösung für ein Teilproblem als ein Paar von Fibonacci-Heaps dar, einer ein Min-Heap und einer ein Max-Heap, die beide alle Jobs des Teilproblems enthalten. Dies bedeutet, dass wir das minimale oder maximale Element der Lösung in logarithmischer Zeit abrufen können.

PP

Für eine parallele Komposition führen wir einfach die Heap-Paare zusammen. Der neue Min-Heap ist die Zusammenführung des Min-Heaps aus jedem Unterproblem und ebenfalls mit dem Max-Heap. Beachten Sie, dass Fibonacci-Haufen in konstanter Zeit zusammengeführt werden können.

Sobald wir ein Heap-Paar haben, das die Lösung für das gesamte Problem darstellt, können wir die tatsächliche Lösungsreihenfolge finden, indem wir den Min-Heap herausnehmen, bis er leer ist. Danach machen wir alle Ersetzungen von Regel 2 rückgängig, um eine Lösung für das ursprüngliche Problem zu erhalten.

O(nlogn)

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.