Edmonds-Pruhs Protokoll

Edmonds-Pruhs-Protokoll ist ein Protokoll für fairen Kuchen-Schneiden. Sein Ziel ist, eine teilweise proportional Teilung einer heterogenen Ressourcen unter n Menschen zu schaffen, derart, dass jede Person eine Teilmenge von dem Kuchen, die diese Person Werte mindestens 1 / an der gesamten, in dem a & gt; 1 ist eine Konstante. Es ist ein randomisierter Algorithmus, dessen Laufzeit ist O mit einer Wahrscheinlichkeit nahe 1 Das Protokoll wurde von Jeff Edmonds und Kirk Pruhs, der später verbesserte er in die gemeinsame Arbeit mit Jaisingh Solanki entwickelt.

Motivierung

Eine proportionale Sparte eines Kuchens kann unter Verwendung des rekursiven Algorithmus Halbierungszeit O. Einige Härteergebnisse zeigen, dass diese Laufzeit ist unter einer breiten Vielfalt von Annahmen optimal erreicht werden. Insbesondere ist rekursive Halbierung der schnellstmögliche Algorithmus zur Erreichung der Voll Verhältnismäßigkeit, wenn die Teile müssen zusammenhängend sein, und es ist die schnellstmögliche deterministischen Algorithmus für die Erreichung auch teilweise Verhältnismäßigkeit und auch wenn die Stücke dürfen getrennt werden. Ein Fall, der nicht durch die Härte Ergebnisse überzogen wird, ist der Fall von randomisierten Algorithmen, nur teilweise Verhältnismäßigkeit und mit möglicherweise getrennt Stücke garantieren. Die Edmonds-Pruhs Protokoll zielt darauf ab, einen Algorithmus mit Laufzeit O für diesen Fall bieten.

Das Protokoll

Das allgemeine Schema ist wie folgt:

  • Jeder Partner Privat teilt den Kuchen an ein Stück des gleichen subjektiven Wert. Diese n⋅an Stücke Kandidaten Stücke bezeichnet.
  • Jeder Partner nimmt 2d Kandidaten Stücke gleichmäßig zufällig, mit Ersatz. Die Kandidaten werden in d-Paare, die der Partner meldet dem Algorithmus gruppiert. Diese n⋅d Paare werden als Viertel Klammern.
  • Von jedem Viertelbügel, wählt der Algorithmus ein einziges Stück - das Stück, das die geringere Anzahl von anderen Kandidaten Stücke schneidet. Diese n⋅d Stücke Halbfinale Stücke bezeichnet.
  • Für jeden Partner, der Algorithmus wählt ein Einzelstück; sie endgültige Stücke bezeichnet. Die letzten Teile sind so gewählt, daß jeder Punkt des Kuchens durch höchstens 2 letzten Teile abgedeckt. Wenn dies gelingt, gehen Sie zu Schritt # 5. Gelingt dies nicht, beginnen Sie erneut bei Schritt 1.
  • Jeder Teil des Kuchens, die nur eine einzige letzte Stück gehört, wird dem Besitzer des Stück gegeben. Jeder Teil des Kuchens, die beiden letzten Stücke gehört, wird proportional durch eine deterministische proportional Divisionsalgorithmus unterteilt.

Der Algorithmus garantiert, dass mit hoher Wahrscheinlichkeit erhält jeder Partner mindestens die Hälfte der einer seiner Kandidaten Stücke, die einen Wert von mindestens 1 / 2an impliziert.

Es gibt O Kandidaten Stücke und O zusätzliche Divisionen in Schritt # 5, die jeweils dauert O Zeit. Daraus ergibt sich die Gesamtlaufzeit des Algorithmus ist O

Die größte Herausforderung in diesem Schema ist die Auswahl der Abschlussstücke in Schritt # 4:

Erstellen Sie zunächst die Implikation dieses Diagramm: einen Graphen, dessen Knoten sind die Halbfinalstücke, und es gibt eine Kante von Stück, das ich von Partner i zu Stück J von Partner j wenn Stück I schneidet die andere Stück Partner j.

Wählen Sie einen beliebigen Partner i, die ein Stück nicht empfangen noch, und wählen Sie ein beliebiges Stück, das ich von diesem Partner als letzte Stück. Dann durchlaufen die Links in der Implikation Graphen und wählen Sie als endgültige Stücke alle Stücke, die von I. erreichbar sind Es gibt zwei gute Szenarien: Entweder wir eine einzige letzte Stück zu jedem Partner zugewiesen und wir sind fertig, oder wir ein Stück mit nicht zu erreichen ausgehenden Links. Im letzteren Fall haben wir nur wählen ein Stück einer der verbleibenden Partner und fortzusetzen. Die schlechte Szenario ist, dass unsere Durchquerung führt uns zu zwei verschiedenen Stücken der gleichen Partner oder äquivalent auf die andere Stück Partner i, von denen wir gestartet. Ein solcher Weg, die von einem Stück von Partner i zu einem anderen Stück aus dem gleichen Partner heißt ein Paar Pfad. Wenn die Implikation Graph enthält keine Paar Wege, wird der Auswahlalgorithmus gerade beschrieben Gibt eine Auflistung von n nicht überlappenden abschließenden Stück und wir sind fertig. Jetzt bleibt die Wahrscheinlichkeit, dass die Implikation Graph enthält ein Paar Weg zu berechnen.

Zunächst betrachten den Spezialfall, in dem alle Partner den gleichen Wert Funktion. In diesem Fall ist die Wahrscheinlichkeit, dass ein Paar Weg ist leicht zu berechnen: da die Wahrscheinlichkeit jeder Kante ist 1 / an, und alle Kanten unabhängig sind, ist die Wahrscheinlichkeit, dass ein bestimmtes Paar Pfad der Länge k 1 / ^ k, und die Wahrscheinlichkeit von jedem Paar Pfad höchstens:

Durch die Wahl d = 1 und eine ausreichend große, ist es möglich, diese Wahrscheinlichkeit so gering wie wir wollen. Dies gilt selbst dann, wenn wir das Halbfinale Auswahlphase verzichten und nehmen Sie nur alle Viertelfinal-Stücke Halbfinale.

Beachten Sie, dass dieser Fall analog zu den Kugeln in Bins Modell. Es zeigt, dass, wenn d Bins zufällig für jede Kugel aufgenommen wird, dann ist es möglich, ein Fach für jede Kugel derart, dass die Behälter alle verschieden zu wählen.

In der allgemeinen Kuchen-Modell, in dem die Wertfunktionen unterschiedlich sind, sind die Wahrscheinlichkeiten der Kanten in der Implikation Graphen abhängig. aber dank der Halbfinal-Auswahlphase, können wir beweisen, dass die Wahrscheinlichkeit, dass die Implikation Graph enthält ein Paar Pfad der Länge von mindestens 3, höchstens.

Es bleibt Paar Wege der Länge 2. Griff Leider ist die Wahrscheinlichkeit, dass derartige Paar Pfade in der Implikation Graph nicht vernachlässigbar. Jedoch ist es mit großer Wahrscheinlichkeit möglich ist, die Partner in zwei Gruppen, so daß in jeder Gruppe gibt es kein Paar Pfad der Länge 2. Daher können wir den endgültigen teilige-Auswahlalgorithmus zweimal ausgeführt partitionieren: einmal für jede Gruppe. Kreuzung kann nur zwischen abschließenden Stücke von verschiedenen Gruppen auftreten; daher der Überlappung in jedem Punkt des Kuchens höchstens 2. Die Wahrscheinlichkeit, dass ein solches 2-Trennwand nicht möglich ist bei den meisten.

Durch Summieren der obigen zwei Ausdrücke und Einstellen d = 2, erhält man, daß die Wahrscheinlichkeit des Ausfalls noch. Daran erinnern, dass eine der Verhältnismäßigkeit Verhältnis - der Mehrwert für jeden Partner garantieren wir wollen ist, desto wahrscheinlicher ist es, dass die Teilung wird fehlschlagen und wir haben mehr als im Schritt # 1 zu starten.

Der gleiche Algorithmus funktioniert auch, wenn die Schnitte sind Näherungswerte, das heißt, haben die Partner nicht, in Stücke mit genau dem gleichen Wert zu markieren; sie könnten ein Stück mit einem Wert von p Prozent über oder unter den gewünschten Wert, wobei die genaue Fehler zufällig ausgewählt zu markieren.

Ein hoher Zuverlässigkeitsprotokoll

Es ist möglich, unter Verwendung des folgenden Schemas weiteren Verringerung der Ausfallwahrscheinlichkeit:

  • Machen Sie zwei unabhängige Läufe der ursprünglichen Protokoll.
  • Bei jedem Versuch, entfernen Sie jeden Partner, der zu Beginn eines Paares Pfad angezeigt wird, und weisen endgültigen Stück nur auf die verbleibenden Partner wie im ursprünglichen Protokoll.
  • Wenn für jeden Partner gibt es mindestens einen Lauf, in dem es nicht entfernt wird, dann sind wir fertig, da jeder Partner hält nun zumindest eine letzte Stück.

Die Wahrscheinlichkeit, dass das Entfernen eines bestimmten Partner in jedem Durchlauf ist. Die Wahrscheinlichkeit, dass das Entfernen eines bestimmten Partner in beiden Läufen ist. Somit die Ausfallwahrscheinlichkeit, die auf 0, wenn n zunimmt geht, auch wenn die Teil Proportionalitätsverhältnis a konstant gehalten wird.

Verwandte Probleme

Der Kuchen-Modell kann als eine Verallgemeinerung der Kugeln in Behälter-Modell zu sehen. Dieses Modell hat breite Anwendungen in Bereichen wie der Lastausgleich gefunden. In diesen Situationen ein Ball für eine Arbeit, die verschiedenen Behälter / Maschinen zugewiesen werden können. Grob gesagt, ist Load-Balancing von identischen Maschinen Bälle und Behältern, wie Load-Balancing auf unabhängige Maschinen ist es, Kuchen-Schneiden. Daher ist es sinnvoll, dass der Kuchen-Modell und die Edmonds-Pruhs Protokoll sollte interessante Anwendungen in den Einstellungen mit Lastausgleich auf unabhängige Maschinen haben.

(0)
(0)
Kommentare - 0
Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha