Faires Teilen Das „Cake-Cutting-Problem“ Heike Stolle Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 1 Übersicht Vorgehensweise für 2 Personen Rekursiv mit Optimierung Proportionales Teilen Das Steinhaus-Protokoll Das Banach-Knaster-Protokoll Neidfreies Teilen Das Selfridge-Conway-Protokoll Das Brams-Taylor-Protokoll für 4 Personen Verfahren für 4 Spieler in endlich vielen Schritten Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 2 Problemfeld Wie teile ich einen Kuchen unter beliebig vielen Personen so auf, dass ein jeder mit seinem Stück zufrieden und nicht neidisch auf jemand anderen ist (d.h. proportional und neidfrei)? Vielfältige Anwendungen in Politik, Recht etc. Wichtig: Es geht stets um subjektive Einschätzungen, nicht um objektive Gerechtigkeit Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 3 Cast Anton Bert Conrad Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen Detlef 4 Verfahren für 2 Personen „ich schneide – du wählst“ Anton schneidet und Bert wählt (als Erster) aus Anton muss also „fair“ schneiden, so dass er auch dann noch ein für ihn größtmögliches Stück abbekommt, wenn Bert zuerst ein Stück wählt Bert ist zufrieden, weil er zuerst wählen darf Anton ist zufrieden, weil er die Größe der Stücke bestimmen durfte und davon ausgeht, dass beide gleich groß sind Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 5 Rekursiv für n ≥ 3 Personen Alle n Personen markieren an dem zu teilenden Kuchen die jeweils subjektiv wahrgenommene 1/n-Grenze Conrad ist zufrieden, da er s.E. mindestens 1/n des Kuchens erhalten hat CB DA die anderen n-1 Personen sind auch zufrieden, da Conrad weniger als 1/n bekommen hat Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 6 Rekursiv für n ≥ 3 Personen Das gleiche geschieht für n-1 Personen usw., bis noch 2 Personen übrig sind Diese gehen nach dem Prinzip „ich schneide – du wählst“ vor Aufwand: n (n 1) (n 2) ... 1 n(n 1) 1 ( n ² n) 2 2 Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen O(n²) 7 Rekursiv für n ≥ 3 Personen - optimiert Divide and Conquer CA B D n T (n) 2T ( ) n 2 O(n log n) CA BD Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 8 Das Steinhaus-Protokoll Hugo Steinhaus (1887-1972) polnischer Mathematiker, Wissenschaftler der Lemberger Mathematischen Schule entwickelte Steinhaus-Moser-Notation für große Zahlen (Kreisnotation Notation hoher Potenzen durch geometrische Symbole) Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 9 Das Steinhaus-Protokoll (für n=3) Anton schneidet Fall 1 Fall 2 S S ODER Bert setzt aus, weil er mind. 2 Teile für fair hält Bert kennzeichnet 2 Teile als schlecht Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 10 Das Steinhaus-Protokoll (für n=3) Fall 1 Bert setzt aus, weil er mind. 2 Teile für fair hält Conrad, Bert und Anton greifen in dieser Reihenfolge zu. Conrad ist zufrieden, weil er als Erster wählen darf Bert ist zufrieden, weil er mind. 2 Stücke für fair hält und nach Conrad mindestens noch eines davon übrig ist Anton ist zufrieden, weil er geschnitten hat und davon ausgeht, dass alle drei Stücke gleich groß sind Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 11 Das Steinhaus-Protokoll (für n=3) Fall 2 S Bert kennzeichnet 2 Teile als schlecht Fall 3 S ODER Conrad setzt aus, weil er mind. 2 Stücke für fair hält (ohne Berücksichtigung von Berts Meinung) S S Conrad kennzeichnet 2 Teile als schlecht (ohne Berücksichtigung von Berts Meinung) Bert, Conrad und Anton greifen in dieser Reihenfolge zu Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 12 Das Steinhaus-Protokoll (für n=3) Fall 3 S S Conrad kennzeichnet 2 Teile als schlecht Anton nimmt ein doppelt gekennzeichnetes Stück (dieses finden sowohl Bert als auch Conrad unfair, denken also, es sei kleiner als 1/3) Die beiden anderen Stücke werden vereinigt; Bert und Conrad teilen sich diesen Rest des Kuchens nach dem Prinzip „Ich schneide – du wählst“ (der ihrer Meinung nach ≥2/3 groß ist). Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 13 Das Steinhaus-Protokoll (für n=3) Das Verfahren ist zwar proportional, aber nicht neidfrei. Das heißt, es gibt Fälle, in denen eine Person glaubt, sie habe einen fairen Anteil erhalten, aber eine andere Person sei besser behandelt worden. Bsp.: Wenn Bert die Stücke als 1/2, 1/3 und 1/6 des gesamten Kuchens einschätzt, könnte in seinen Augen Conrad (der zuerst wählen darf) das 1/2-große Stück bekommen, während er selbst nur 1/3 bekommt. gesucht ist ein proportionales, neidfreies Verfahren für beliebig viele Personen Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 14 Das Banach-KnasterProtokoll Stefan Banach (1892-1945) polnischer Mathematiker, Hauptvertreter der Lemberger Mathematischen Schule Fourier-Reihen zusammen mit Steinhaus Maßtheorie Funktionalanalysis Bronisław Knaster (1893-1990) polnischer Mathematiker, Professor in Lwow und Wroclaw Maßtheorie (Schnitttheorie der Ebene: zweifach zusammenhängende KnasterKuratowski-Menge) Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 15 Das Banach-KnasterProtokoll n Personen S1, S2, … Sn Beispiel: n=4 S1 Anton schneidet faires Stück (¼) ab S2 ODER Bert findet Antons Stück fair und setzt aus. Bert findet Antons Stück zu groß und macht es nach seiner Auffassung fair, indem er es verkleinert. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 16 Das Banach-KnasterProtokoll Conrad hat ausgesetzt, weil er Stück für fair hielt. S4 Detlef hält das Stück ebenfalls für fair und setzt aus. Das Stück geht an denjenigen, der das Stück als Letzter beschnitten hat, im Beispiel also an Bert. Hätten alle Personen nach S1 das Stück nicht beschnitten, wäre es an S1 gegangen. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 17 Das Banach-KnasterProtokoll Bert ist zufrieden, da er das Stück nach seinen Vorstellungen beschnitten hat. Er scheidet mitsamt seinem Stück aus. Alle anderen wiederholen das Verfahren mit n-1 Personen und einem Kuchen, der in ihren Augen mind. noch (n-1)/n des ursprünglichen Kuchens ausmacht. Dieses Verfahren funktioniert proportional für beliebig viele Spieler, ist aber auch nicht neidfrei. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 18 Das Selfridge-ConwayProtokoll (für n=3) John Selfridge amerikanischer Mathematiker, University of Illinois und Northern Illinois University forscht auf dem Gebiet der analytischen Zahlentheorie und zum Sierpiński-Problem John Horton Conway englischer Mathematiker, Princeton University analytische Zahlentheorie, Begründer der kombinatorischen Spieltheorie Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 19 Das Selfridge-ConwayProtokoll (für n=3) Anton schneidet den Kuchen in 3 (faire) Teile ODER Bert setzt aus, weil er glaubt, dass mind. 2 Stücke gleich groß und nicht kleiner als das 3. seien. Bert beschneidet das größte Stück so, dass der erste Fall eintritt. (Der Rest kommt zur Seite.) Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 20 Das Selfridge-ConwayProtokoll (für n=3) Conrad, Bert und Anton nehmen nun in dieser Reihenfolge je ein Stück. Conrad darf als Erster wählen und ist daher zufrieden. Wenn Bert vorher ein Stück beschnitten hat, muss er dieses nehmen oder das andere, was er aber für genauso groß hält. Anton nimmt das übrige Stück und ist damit zufrieden, da er alle drei Stücke für gleich groß oder – falls Bert ein Stück beschnitten hat – seins für eines der größten Stücke hält. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 21 Das Selfridge-ConwayProtokoll (für n=3) Wenn Bert die Aufteilung von Anton im zweiten Schritt für fair hielt, gibt es keinen Rest und wir sind fertig. Wenn nicht, muss noch der Rest aufgeteilt werden. Die Person, die nicht das beschnittene Stück aus der Vorrunde genommen hat (also entweder Bert oder Conrad), ernennen wir zum Schneider, die andere ist der NichtSchneider. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 22 Das Selfridge-ConwayProtokoll (für n=3) Der Schneider darf den Rest des Kuchens in 3 für ihn gleich große Häufchen teilen. Anton hat dem Nicht-Schneider (der das beschnittene Stück bekommen hat) ggü. einen „uneinholbaren Vorsprung“: Das beschnittene Stück ist in Antons Augen auf jeden Fall kleiner als sein eigenes, so dass er nicht neidisch sein kann, auch wenn der Nicht-Schneider den gesamten Rest bekommt. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 23 Das Selfridge-ConwayProtokoll (für n=3) Nicht-Schneider, Anton und Schneider greifen in dieser Reihenfolge zu. Der Nicht-Schneider wählt zuerst und kann daher nicht neidisch sein. Anton ist wegen seines uneinholbaren Vorsprungs nicht neidisch auf den Nicht-Schneider. Da er vor dem Schneider wählen darf, sieht er sich auch diesem ggü. im Vorteil. Der Schneider kann auch nicht neidisch sein, da er den Rest aufgeteilt hat. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 24 Das Selfridge-ConwayProtokoll (für n=3) Das Verfahren ist proportional und neidfrei, jedoch nur auf 3 Personen anzuwenden. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 25 Das Brams-Taylor-Protokoll (für n=4) Steven Brams Politikwissenschaftler an der New York University Spieltheorie, Neue politische Ökonomie (politische Strukturen werden auf Basis neoklassischer Wirtschaftstheorien erklärt) Alan Taylor amerikanischer Mathematiker am Union College in Schenectady Mengenlehre, mathematische Politikwissenschaft, Faires Teilen Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 26 Das Brams-Taylor-Protokoll (für n=4) Anton schneidet den Kuchen in 5 Teile Bert beschneidet, falls nötig, ein oder zwei Stücke so, dass 3 gleiche größte Stücke entstehen (der Rest kommt auf die Seite). Conrad beschneidet, falls nötig, ein Stück so, dass zwei gleich größte Stücke entstehen. Detlef, Conrad, Bert und Anton greifen in dieser Reihenfolge zu. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 27 Das Brams-Taylor-Protokoll (für n=4) Wenn Bert Stücke beschnitten hat, muss er eins davon nehmen (wenn noch verfügbar). Gleiches gilt für Conrad. Die abgeschnittenen Teile werden mit dem fünften Stück vereint, auf das das Verfahren erneut angewandt wird. Das Verfahren ist proportional, neidfrei, für n=4 Personen, aber nicht terminiert. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 28 Faires Teilen in endlich vielen Schritten (für n=4) William S. Zwicker amerikanischer Mathematiker am Union College in Schenectady Mengenlehre,Spieltheorie, Faires Teilen Fred Galvin amerikanischer Mathematiker am Union College in Schenectady Mengenlehre, Kombinatorik Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen Protokoll entwickelt zusammen mit Alan Taylor 29 Faires Teilen in endlich vielen Schritten (für n=4) Bert teilt den Kuchen in 4 Stücke und gibt jedem (einschließlich sich selbst) eines. Anton, Conrad und Detlef werden der Reihe nach gefragt, ob sie dieser Verteilung widersprechen (was sie tun, wenn sie wegen eines anderen Stückes neidisch sind). Widerspricht keiner, ist die Aufteilung beendet. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 30 Faires Teilen in endlich vielen Schritten (für n=4) Wert(A)= a A B Wert(B)= b Anton hat B, will aber A: a>b Anton benennt eine ganze Zahl p≥10 p soll folgende Eigenschaft haben: Wenn A irgendwie in p Teile zerteilt wird, bevorzugt Anton A gegenüber B selbst dann, wenn die 7 kleinsten Teile von A weggenommen werden. Das kann Anton erreichen, wenn 7a p a b Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 31 Faires Teilen in endlich vielen Schritten (für n=4) Bert teilt A und B in jeweils p Stücke auf, die er für gleich groß hält. Anton wählt die 3 kleinsten Stücke von B S1, S2 und S3. Anton wählt außerdem die 3 größten Stücke von A (wenn er sie für echt größer als das größte S-Stück hält) oder beschneidet 2 Stücke, so dass dieser Fall eintritt. T1, T2 und T3 Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 32 Faires Teilen in endlich vielen Schritten (für n=4) 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 er beschneidet eines, um diesen Zustand herbeizuführen. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 33 Faires Teilen in endlich vielen Schritten (für n=4) Detlef, Conrad, Bert und Anton nehmen in dieser Reihenfolge nun jeweils eines der 6 Stücke. Conrad muss das Stück nehmen, dass er vorher beschnitten hat (wenn es noch verfügbar ist). Bert muss ein S-Stück nehmen. Anton muss ein T-Stück nehmen. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 34 Faires Teilen in endlich vielen Schritten (für n=4) Bisher ist die Zuordnung neidfrei Anton hält sein Stück für echt größer als Berts, um den Betrag x. Jedoch ist ein erheblicher Rest übrig: C Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen D 35 Faires Teilen in endlich vielen Schritten (für n=4) Anton nennt eine ganze Zahl q, so dass 4 q L( ) x 5 Dies ist nötig, um die folgende Sequenzwiederholung zu begrenzen. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 36 Faires Teilen in endlich vielen Schritten (für n=4) Anton teilt die Überbleibsel in 5 Stücke Bert beschneidet ggf. bis zu 2 Stücke, um 3 gleich große größte Stücke zu erhalten. Conrad beschneidet ggf. eines der Stücke, um 2 gleich große größte Stücke zu erhalten. Detlef, Conrad, Bert und Anton greifen in dieser Reihenfolge zu. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 37 Faires Teilen in endlich vielen Schritten (für n=4) Dieser Vorgang der Resteverteilung wird noch (q-1) mal wiederholt, immer wieder mit den Überbleibseln der Vorrunde. Nun liegt eine neidfreie Zuordnung vor. Anton hat einen uneinholbaren Vorsprung ggü. Bert: Er hält seinen Anteil für größer als Berts plus aller Reste, da er selbst ein größtes T-Stück von dem Stück B und Bert „nur“ ein kleinstes S-Stück von Stück A mit b>a bekommen hat. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 38 Faires Teilen in endlich vielen Schritten (für n=4) Wir notieren das Paar (Anton, Bert) als ersten Eintrag in eine Liste, in der wir jedes Paar festhalten, dessen erstgenannte Person einen uneinholbaren Vorsprung ggü. der zweitgenannten haben. Es kann vorkommen, dass sowohl (Anton, Bert) als auch (Bert, Anton) in der Liste stehen. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 39 Faires Teilen in endlich vielen Schritten (für n=4) Bert teilt die Überbleibsel in 12 gleiche Teile. Jeder der anderen drei erklärt sich für einen Zustimmer, wenn er alle diese Stücke für gleich groß hält, sonst für einen Ablehner. (Bert ist automatisch ein Zustimmer). Wenn jeder Ablehner lt. der Liste einen uneinholbaren Vorsprung hat, werden die 12 Stücke gleichmäßig an die Zustimmer verteilt. Dann ist das Verfahren beendet. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 40 Faires Teilen in endlich vielen Schritten (für n=4) Wenn die Ablehner nicht durchgängig uneinholbare Vorsprünge haben, wählen wir das erste Paar aus Ablehner und Zustimmer, das nicht in der Liste ist, und beginnen wieder mit dem Vergleich vom Anfang. Der Zustimmer nimmt die Rolle des Bert, der Ablehner die Rolle des Anton an, diskutiert wird der Rest des Kuchens. Das Verfahren endet dann spätestens nach 11 Runden. Dann steht jedes denkbare Paar auf der Liste, d.h. jede Person hat ggü. jeder anderen uneinholbare Vorsprünge. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 41 Faires Teilen in endlich vielen Schritten (für n=4) Dieses bereits für n=4 Personen komplizierte Verfahren ist neidfrei und terminiert. (Ein vollständiger Beweis dafür, dass das Verfahren auch bei n<4 terminiert, findet sich in der Originalquelle von Brams und Taylor.) Alle Algorithmen funktionieren für beliebig teilbare Güter wie Kuchen. Schwierig wird Faires Teilen bei Besitzgütern bspw. nach einer Scheidung. Außerdem eignen sie sich nicht für Konfliktlösungen, bei denen ein Partner dem anderen moralisch überlegen ist. Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 42 Quellen Stewart, Ian (2003): Neidfreies Teilen. In: Spektrum der Wissenschaft, Dossier Mathematische Unterhaltungen II. Heft 02/03. S. 38-42. Seidel, Raimund (2008): Eine Weihnachtsstollengeschichte. In: Vöcking, Helmut et al. (Hrsg.): Taschenbuch der Algorithmen. Springer: Berlin. S. 331-340. Brams, Steven/ Taylor, Alan (1995): An Envy-Free Cake Division Protocol. In: The American Mathematical Monthly. Vol. 102/1. pp. 9-18. http://www.union.edu/ [Zugriff: 18.06.08] http://www.wikipedia.org [Zugriff: 18.06.08] Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 43 DANKE! Freie Universität Berlin | SoSe 2008 | Seminar über Algorithmen 44