Freie Universität Berlin, SoSe 2008 Prof. Helmut Alt, Britta Denner-Broser: Proseminar über Algorithmen Referentin: Heike Stolle (19.06.2008) Faires Teilen 1. 2. 3. 4. Gegenstand, Motivation Vorgehensweise für 2 Personen Rekursiv mit Optimierung Proportionales Teilen a. Das Steinhaus-Protokoll b. Das Banach-Knaster-Protokoll 5. Neidfreies Teilen a. Das Selfridge-Conway-Protokoll b. Das Brams-Taylor-Protokoll für 4 Personen c. Neidfreies Verfahren in endlich vielen Schritten 1. Gegenstand, Motivation Es geht um die Frage, wie ein Gut auf beliebig viele Personen so aufgeteilt werden kann, dass jeder mit seinem Stück zufrieden („proportional“) und auf keinen anderen neidisch („neidfrei“) ist. Zu beachten ist hierbei, dass es stets um die subjektiven Einschätzungen, nicht um objektive Gerechtigkeit geht. Mögliche Lösungen des Problems haben vielfältige Anwendungen in Politik (z.B. Aufteilung Deutschlands in Besatzungszonen der Alliierten nach dem Zweiten Weltkrieg), Recht (z.B. Aufteilung des gemeinsamen Besitzes von Ehepartnern bei Scheidungen) und anderen gesellschaftlichen Bereichen. In den hier vorgestellten Algorithmen geht es jeweils um beliebig aufteilbares Gut, für die Zuteilung von nicht teilbaren Gütern wie bspw. Kindern und Häusern bei einer Scheidung müssten weitergehende Überlegungen angestellt werden. Das Problem wird auch unter dem Begriff „Adjusted-Winner-Method“ oder dem Namen „CakeCutting-Problem“ behandelt. Daher wird im Folgenden beispielhaft ein Kuchen an die Spieler Anton, Bert, Conrad und Detlef aufgeteilt. 2. Vorgehensweise für 2 Personen Prinzip „Ich schneide – du wählst“: Anton schneidet den Kuchen in zwei (seiner Meinung nach) gleiche Teile, und er muss sich um gleiche Hälften bemühen, da er nicht zuerst aussuchen darf. Bert darf sich zuerst sein Stück aussuchen und Anton nimmt sich das übrige. Bert ist zufrieden, da er zuerst aussuchen darf. Anton ist mit dem übrigen Stück zufrieden, da seiner Meinung nach beide Teile gleich groß sind. 3. Rekursiv mit Optimierung für n ≥ 3 Personen: Alle n Personen markieren an dem zu teilenden Kuchen die je subjektiv wahrgenommene Grenze 1/n. Das erste Stück wird zwischen der 1. und 2. Markierung abgeschnitten, und die Person, die die erste Markierung gemacht hat (der also das Teilstück fair erscheint), bekommt dieses Stück. Diese Person ist zufrieden, da sie ihres Erachtens mindestens 1/n des Kuchens bekommt. Die anderen n-1 Personen sind auch zufrieden, da die Person nach Meinung der anderen weniger als 1/n bekommen hat, für die restlichen Personen also noch mindestens 1/(n-1) des Kuchens übrig ist. Der Vorgang wiederholt sich für n-1 Personen usw. (rekursiv), bis noch 2 Personen übrig sind; diese verfahren nach dem Prinzip „Ich teile – du schneidest.“ Faires Teilen Referentin: Heike Stolle Aufwand: n (n 1) (n 2) ... 1 n(n 1) 1 ( n ² n) 2 2 O(n ²) Optimierung durch „Teile und Herrsche“: n T (n) 2T ( ) n 2 O(n log n) 4.a. Das proportionale Steinhaus-Protokoll (für n=3) 1. Anton schneidet den Kuchen in 3 Teile (die er für fair hält, also als gleich groß einschätzt). 2. Bert kann entweder aussetzen (wenn er wenigstens 2 der Teile für fair hält) oder 2 Stücke als schlecht kennzeichnen (die er für unfair hält). 3. Wenn Bert aussetzt, nimmt Conrad ein Stück (das er für fair hält). Dann nimmt Bert ein für ihn faires Stück. Schließlich nimmt Anton das letzte Stück. 4. Wenn Bert zwei Stücke als schlecht gekennzeichnet hat, dann hat Conrad die gleichen Entscheidungsmöglichkeiten wie er: aussetzen oder zwei Stücke als schlecht kennzeichnen (nach derselben Strategie). Berts Beurteilung spielt dabei keine Rolle. 5. Wenn Conrad ausgesetzt hat, nehmen die Spieler Stücke in der Reihenfolge Bert, Conrad, Anton (nach der Strategie wie in Schritt 3). 6. Wenn nicht, haben Bert und Conrad je zwei Stücke als schlecht gekennzeichnet. Also gibt es mindestens eines, das beide für schlecht halten. Das bekommt Anton (der, weil er geteilt hat, alle Stücke für fair hält, und sich nicht beklagen kann). 7. Die beiden anderen Stücke werden vereinigt. (Bert und Conrad glauben beide, dass diese Stücke zusammen wenigstens zwei Drittel des Kuchens ausmachen.) Nun verfahren Conrad und Bert nach dem Prinzip „Ich schneide, du wählst“, um den Rest unter sich aufzuteilen (und dabei bekommt jeder, was er für einen fairen Anteil hält). Problem: Das Verfahren ist nur proportional, aber nicht neidfrei, d.h. es gibt Fälle, in denen eine Person glaubt, sie habe einen fairen Anteil erhalten, aber eine andere Person sei besser behandelt worden. 4.b. Das Banach-Knaster-Protokoll (n Spieler S1, S2 … Sn 1. S1 schneidet ein faires Stück X vom Kuchen ab, fair wäre 1/n vom ganzen Kuchen. 2. S2 kann aussetzen (wenn er X für unfair oder für gerade noch fair hält) oder von X etwas abschneiden (wenn er es für zu groß hält; er macht also aus X ein nach seiner Auffassung gerade noch faires Stück, das wir weiter mit X bezeichnen). Das abgeschnittene Stück wird wieder zum restlichen Kuchen gelegt. 3. S3 hat dieselben Entscheidungs- und Wahlmöglichkeiten wie S2, aber mit dem neuen Stück X. Dann kommt S4 an die Reihe – und so weiter, bis jeder Spieler außer S1 Gelegenheit zur Korrektur hatte. 4. Wenn kein Spieler von X etwas abgeschnitten hat, geht das Stück an S1. Ansonsten geht es an den letzten Spieler, der etwas abgeschnitten hat (und das Stück nun für fair hält). Der so Bedachte schneidet mitsamt seinem Anteil aus dem Spiel aus. 5. Der Rest des Kuchens wird mit den abgeschnittenen Teilen vereinigt. Die restlichen n-1 Spieler (die sämtlich der Meinung sind, dass noch wenigstens (n-1)/n vom Kuchen übrig sind) wiederholen das Verfahren. 6. Es wird fortgesetzt, bis nur noch zwei Spieler übrig sind. Die einigen sich nach dem Verfahren „Ich schneide, du wählst“. auch proportional, aber nicht neidfrei 5.a. Das Selfridge-Conway-Protokoll (n=3) 2 Faires Teilen Referentin: Heike Stolle 1. Anton schneidet den Kuchen in drei (faire) Teile. 2. Bert setzt aus (wenn er glaubt, wenigstens zwei Stücke seien gleich groß und nicht kleiner als das dritte) oder schneidet von einem (dem größten) Stück etwas ab (um den ersten Fall herbeizuführen). Abgeschnittene Stücken werden beiseite gelegt. 3. Conrad, Bert und Anton nehmen nun in dieser Reihenfolge je ein Stück (von dem sie jeweils glauben, es sei das größte oder ein größtes, also eines von mehreren gleich großen, und es gibt kein größeres). Wenn Bert in Schritt 2 ein Stück beschnitten hat, muss er es nehmen – es sei denn, Conrad hätte es schon gegriffen. Jetzt ist der Kuchen neidfrei verteilt, bis auf die Schnipsel. 4. Wenn Bert im zweiten Schritt ausgesetzt hat, gibt es keine Schnipsel, und wir sind fertig. Wenn nicht, ernennen wir den Spieler, der nicht das beschnittene Stück genommen hat, also entweder Bert oder Conrad, zum Schneider. Dieser darf das Überbleibsel in drei (seiner Meinung nach faire) Häufchen teilen. Die andere Person ist der Nicht-Schneider. Anton hat diesem Nicht-Schneider gegenüber einen uneinholbaren Vorsprung: Der Nicht-Schneider hat das beschnittene Stück erhalten; selbst wenn er das Überbleibsel komplett einstreichen würde, hätte er in Antons Einschätzung nach nicht mehr als den fairen Anteil erhalten, weil er die ursprünglichen drei Stücke alle für gleich groß hielt. Einerlei also, wie die Überbleibsel jetzt verteilt werden, Anton wird nicht neidisch auf den Nicht-Schneider sein. 5. Die Spieler greifen sich die drei Häufchen in der Reihenfolge Nicht-Schneider, Anton, Schneider (jeder wählt den in seinen Augen größten der übrigen Haufen). Der Nicht-Schneider wählt zuerst, hat also keinen Grund zum Neid. Anton ist nicht neidisch auf den Nicht-Schneider wegen seines oben beschriebenen uneinholbaren Vorsprungs; auf den Schneider ist er auch nicht neidisch, weil er vor ihm wählen darf. Der Schneider ist auf niemanden neidisch, weil er die Häufchen eingeteilt hat. 5.b. Das Brams-Taylor-Protokoll (n=4) 1. Anton schneidet den Kuchen in fünf Teile (die er für gleich groß hält). 2. Bert beschneidet, falls nötig, ein oder zwei Stücke so, dass drei (seiner Meinung nach) gleich große größte Stücke entstehen. Die Überbleibsel kommen auf die Seite. 3. Conrad beschneidet, falls nötig, ein Stück, so dass (seiner Meinung nach) zwei gleich große Stücke entstehen. 4. Detlef, Conrad, Bert und Anton greifen sich in dieser Reihenfolge jeweils ein Stück. Wenn Bert Stücke beschnitten hat, muss er eins davon – falls überhaupt noch verfügbar – nehmen, gleiches gilt für Conrad. Jeder Spieler hält sein Stück für ein größtes, dadurch ist die Zuordnung neidfrei. Das übrige fünfte Stück wird mit den anderen Resten vereint und die Methode erneut angewandt (was dazu führt, dass das Protokoll nicht terminiert). Taylor zusammen mit William Zwicker und Fred Galvin ordnete die Wahlmöglichkeiten später so an, dass der Kuchen stets nach endlich vielen Schritten restlos verteilt ist. 5.c. Neidfreies Verfahren in endlich vielen Schritten 1. Bert teilt den Kuchen in 4 (faire) Stücke und gibt jedem Spieler eines, einschließlich sich selbst. 2. Anton, Conrad und Detlef werden der Reihe nach gefragt, ob sie dieser Verteilung widersprechen (was sie tun werden, wenn sie sich unfair behandelt fühlen). 3. Wenn keiner widerspricht, ist die Aufteilung beendet. 4. Sonst ist der erste Spieler, der widerspricht, am Zuge. Nehmen wir zum Beispiel an, das sei Anton. Er hat ein Stück erhalten, das wir B nennen, er will aber viel lieber Stück A. Alle anderen Stücke werden beiseite gelegt und später behandelt. 3 Faires Teilen Referentin: Heike Stolle 5. Anton benennt eine Zahl p ≥ 10 (so dass diese Zahl folgende Eigenschaft hat: Wenn A irgendwie in p Teile zerteilt wird, dann bevorzugt Anton A gegenüber B selbst dann, wenn die 7 kleinsten Teile von A weggenommen werden. Das erreicht Anton, indem er p>7a/(a-b) wählt, wobei a seine Wertschätzung für A und b für B ist). 6. Bert teilt A und B in jeweils p Stücke (die er für gleich groß hält). 7. Anton wählt - die kleinsten drei Stücke von B ( S1, S2, S3) - außerdem die größten drei Stücke von A (wenn er sie alle für echt größer hält als das größte S-Stück) und beschneidet zwei von ihnen ggf. so, dass alle Stücke gleich groß sind (der Rest wird beiseite gelegt) - ODER er teilt eines der Stücke von A (das größte) in 3 (seiner Ansicht nach gleiche) Teile. [Dieser Fall ist selten und tritt lediglich auf, wenn nur ein A-Stück größer ist als jedes S-Stück; dieses A-Stück muss dann allerdings sehr groß sein. Daher wird dieser Fall hier vernachlässigt.] diese 3 größten Stücke von A nennen wir T1, T2 und T3 8. Conrad nimmt die 6 S- und T-Stücke und - setzt aus, wenn er die beiden größten unter ihnen für gleich groß hält - ODER beschneidet eines, um diesen Zustand herzustellen (der Rest kommt beiseite). 9. Detlef, Conrad, Bert und Anton nehmen in dieser Reihenfolge nun jeweils eines der 6 Stücke. Conrad muss wenn möglich das Stück nehmen, das er in Schritt 8 beschnitten hat, Bert nimmt ein S-Stück (Sb) und Anton ein T-Stück (Tb). An dieser Stelle haben wir eine neidfreie Zuteilung, jedoch mit erheblich vielen Überbleibseln. Außerdem hält Anton sein stück für echt größer als Berts Stück: Tb = Sb+x. 10. Anton nennt eine ganze Zahl q (so dass L(4/5)q<x, wobei L Antons Werteinschätzung der Überbleibsel ist). Die Sequenz von Schritt 11-14 entspricht dem ursprünglichen Brams-Taylor-Modell und wird nun q mal wiederholt. 11. Anton teilt die Überbleibsel in 5 Stücke. 12. Bert beschneidet falls nötig bis zu zwei Stücke, um drei seiner Meinung nach gleiche größte Stücke zu erzeugen. Der Rest kommt auf die Seite. 13. Conrad beschneidet falls nötig eines der Stücke, um zwei seiner Meinung nach gleiche größte Stücke zu erzeugen. 14. Detlef, Conrad, Bert und Anton greifen in dieser Reihenfolge zu. Wenn Conrad oder Bert ein Stück beschnitten haben, müssen sie es nehmen, falls es noch verfügbar ist. Ein Stück bleibt übrig. 15. Diese Sequenz von Schritt 11-14 wird nun noch (q-1) mal wiederholt, jeweils mit dem Rest des Kuchens aus der Vorrunde. Am Ende der Wiederholungen liegt wiederum eine neidfreie Zuteilung für alle bisher verteilten Güter vor. Anton hat einen seiner Meinung nach uneinholbaren Vorsprung gegenüber Bert, da er seinen Anteil für größer als Berts plus aller Überbleibsel hält. Dieses Paar (Anton, Bert) wird als erster Eintrag in einer Liste notiert, wobei der erstgenannte sich uneinholbar im Vorsprung gegenüber dem zweitgenannten sieht. (Es kann vorkommen, dass später sowohl (Anton, Bert) als auch (Bert, Anton) notiert sind.) 16. Bert teilt die Überbleibsel in 12 gleiche Teile. 17. Jeder der anderen drei erklärt sich für einen „Zustimmer“, wenn er alle diese Stücke für gleich groß hält, anderenfalls für einen „Ablehner“. 18. Wenn jeder Ablehner laut der Liste einen uneinholbaren Vorsprung gegenüber jedem Zustimmer hat, verteilen wir die 12 Stücke gleichmäßig an die Zustimmer. Dann ist das Verfahren hier beendet. 19. Wenn dies nicht so ist, wählen wir das erste Paar aus Ablehner und Zustimmer, das nicht in der Liste steht, und kehren zu Schritt 4 zurück (Ablehner = Anton, Zustimmer = Bert, es geht um den Rest des Kuchens). 20. Die Schritte 5-18 werden wiederholt, bis nach max. 11 Runden jedes erdenkbare Paar auf der Liste steht. Spätestens dann endet das Verfahren in Schritt 18. 4