Aus Linux-Magazin 10/2010

Zwischenbericht zum Programmierwettbewerb "Würfeln"

© Sebastian Duda, 123RF.com

Das Wettwürfeln mit selbst geschriebenen Bots, die schneller als ihre Gegner 50 Punkte erreichen sollen, stößt auf reges Interesse. Obwohl der dazu aufgesetzte Gameserver bei Redaktionsschluss erst zwei Wochen lang lief, nahmen bereits weit über 500 Programme an der Trainingsphase teil.

Die Aufgabe heißt, in der Programmiersprache der Wahl einen Client zu schreiben. Der wägt ab, ob er an seine eigene Glückssträhne glaubt und weiterwürfelt oder ob er die erzielte Augenzahl sichern möchte – dafür muss er jedoch an den Mitspieler abgeben. Während eines Spielzuges addieren sich geworfene Augen, jedoch verliert derjenige alle Punkte eines Spielzuges, der eine Sechs würfelt. Einmal durch Abgeben gesicherte Punkte hingegen bleiben erhalten [1].

Der Client verbindet sich übers Netz mit dem Gameserver unter [wettbewerb.linux-magazin.de:3333] und implementiert das veröffentlichte Protokoll. So müssen sich Clients mit »AUTH« anmelden, um dann zu entscheiden, ob sie mit »ROLL« würfeln oder mit »SAVE« ihre Punkte sichern. Der Server versorgt sie währenddessen mit Informationen zum Spielstand.

Anfangs verhedderte sich mancher Bot im Protokoll und brach die Verbindung ab oder blieb stehen. Um nicht den Spielbetrieb aufzuhalten, implementiert der Gameserver daher ein Timeout von einigen Sekunden. Bots, die nicht schnell genug oder nicht protokollkonform antworten, verlieren seither. In der Summe der gut 100 000 bislang durchgeführen Spiele trifft dies jedoch auf weniger als zwei Prozent aller Matches zu.

Starke Gemeinschaft

Teilnehmer diskutieren auf dem Wiki des Wettbewerbs die erfolgversprechendsten Strategien [2]. Anfangs versuchten es Bots mit intuitiven Ansätzen wie “siebenmal würfeln, dann sichern”, andere forderten so lange ihr Glück heraus, bis sie vor dem Gegner lagen, oder vertrauten schlicht auf einen Durchmarsch.

Mit einer Wahrscheinlichkeit von 83,3 Prozent pro Wurf ist keine Sechs dabei, der Erwartungswert für solch einen Wurf liegt bei drei Augen: Damit muss ein Bot schon knapp 17-mal in Folge die Sechs vermeiden, was nur in 4,2 Prozent aller Anläufe gelingt. In beispielsweise fünf Versuchen, etwa weil der Gegner seine Punkte sichert oder er eine Sechs wirft, steigert sich die Gewinnquote immerhin auf 21 Prozent – immer noch viel zu wenig, um im Spitzenfeld mitzuspielen. Im Trainingscamp gewinnen die besten Bots gut über 60 Prozent ihrer Spiele, auch über eine größere Anzahl von Matches. Die Trainingstabelle im Wiki weist nur solche Bots aus, die mindestens 100 Partien absolviert haben.

Doch das hat wohl nur wenig Auswirkung auf das Turnierergebnis, da alle Bots mehrfach gegen alle Gegner spielen. Als die Redaktion testweise einmal nur die Besten der Trainingstabelle gegeneinander antreten ließ, sank die Gewinnquote des Besten auf unter 55 Prozent: Offenbar sind erfahrene Spieler gegen Neulinge besonders erfolgreich.

Einige Teilnehmer weisen darauf hin, dass die Entscheidung fürs Würfeln von drei Faktoren abhängt: Den eigenen und den gegnerischen Punktzahlen sowie der Zahl der bereits gewürfelten Punkte in der aktuellen Runde. Damit ist der Zustandsraum 53=125 000 Einträge groß, was sich in einem Array noch bequem verwalten lässt.

Die Entwickler diskutieren nun, wie diese Tabelle zu füllen sei. Manche Bots unterstellen ihrem Mitspieler nämlich eine ähnlich strukturierte Herangehensweise und überschätzen ihn damit vielleicht. Die Variable, die gegnerische Strategie gut zu bewerten, könnte daher der Schlüssel zum Erfolg sein. Bis zum 12. September 2010 kann jeder Magazin-Leser noch seine Vorschläge für einen Bot per E-Mail an [wettbewerb@linux-magazin.de] einschicken.

Infos
[1] Nils Magnus, “Wettbewerb: Reiz des Mitmachens”: Linux-Magazin 09/10, S. 94

[2] Wiki: [http://wettbewerb-linux-magazin.de]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben