codecentric go challenge 2015

1 Kommentar

An diesem Samstag, dem 3. Oktober, beginnt die zweite codecentric go challenge. Die challenge – organisiert von Prof. Ingo Althöfer von der Friedrich-Schiller-Universität Jena und gesponsort von codecentric – ist ein Match auf drei Siegpartien eines starken Computer-Go-Programms gegen einen führenden Amateurspieler. Im letzten Jahr hat Franz-Josef Dickhut, Amateur 6 Dan und elfmaliger deutscher Go-Meister, Crazy Stone mit 3:1 geschlagen. Dieses Jahr geht es für Franz-Josef gegen das japanische Program Zen. Zen und Crazy Stone haben die Computer-Go-Szene der letzten Jahre dominiert.

Die Spiele werden online auf KGS ausgetragen: https://www.gokgs.com. Franz-Josef Dickhut spielt als „fj“, Zen als „Zen19S“. Alle Spiele beginnen um 14:00 Uhr. Die Ergebnisse kann man auf go.codecentric.de nachlesen, wo man die einzelnen Partien auch nachspielen kann.

Wie schon im letzten Jahr haben wir erneut einige Fragen an die beiden Kontrahenten vor dem Start des Matches.

Interview mit Franz-Josef Dickhut (FJD):

1. Hast du die Entwicklung des Computer-Go im vergangenen Jahr verfolgt? Siehst du irgendwelche bemerkenswerten Entwicklungen?

FJD: Ich habe zwar interessiert zugeschaut, wenn ich mal starke Bots auf KGS spielen sehen habe, aber sehr genau bzw. intensiv habe ich die Entwicklung nicht verfolgt.

Große Spielstärkesprünge an der Spitze scheint es nicht gegeben zu haben, es sind aber wohl ein paar gute Programme dazu gekommen (DolBaram, Abakus) und die zweite Garde scheint allgemein etwas aufgeschlossen zu haben.

2. Wie gut kennst du deinen diesjährigen Gegner Zen? Siehst du wesentliche Unterschiede zu Crazy Stone, gegen das du 2014 angetreten bist?

FJD: Zen ist ja relativ viel auf KGS unterwegs, und die 2012er Version kannte ich noch aus eigener Erfahrung. Aber ich denke, seitdem ist es ziemlich gereift, was genau da anders geworden ist, kann ich noch nicht sagen, es scheint eine Joseki- und Fuseki-Bibliothek zu haben? Große Unterschiede zu Crazy Stone habe ich noch nicht herausarbeiten können (s.u.).

3. Wie bereitest du dich dieses Jahr auf das Match vor?

FJD: Ich werde mir die online verfügbaren Partien von Zen aus diesem Jahr in dieser Woche mal ansehen, um vielleicht ein paar Schwachpunkte herauszufinden, oder Hinweise zu bekommen, was ich besser nicht versuchen sollte 😉

Hoffentlich ist die Zeit zur Vorbereitung nicht zu knapp.

4. Und die obligatorische letzte Frage: Was sind Deine Erwartungen für das Match?

FJD: Ich erwarte wieder enge Partien. Aber am Ende sollte ich gewinnen können. Ich hoffe nur, nicht wieder die erste Partie zu verlieren, denn letztes Jahr war nach der Auftaktniederlage der Druck schon unangenehm. Wenn ich tippen müsste, würde ich wieder auf ein 3:1 setzen.

Interview mit Hideki Kato (HK), der Zen bei der codecentric go challenge repräsentiert. Übersetzung aus dem Englischen:

1. Hideki, erzähl uns ein wenig über Zen. Wann und warum begann das Projekt?

HK: Es gab zwei Phasen. 2005 begann Yoji Ojima („Yamato“) aus persönlichem Interesse, Computer Go zu studieren. 2006 begann ich einen Promotionskurs an der Universität von Tokyo mit Computer Go als Forschungsgegenstand. Bis 2009 hatten wir beide unsere eigenen Programme entwickelt, Zen und Fudo Go.

Als Crazy Stone den UEC Cup im Dezember 2008 gewann (Fudo Go belegte den 2. Platz, Zen trat nicht an), dachte ich, dass es für mich alleine sehr schwer sein würde, Crazy Stone zu schlagen. Daher plante ich, ein Team mit Yamato zu bilden, da wir beide beabsichtigten, die Vorteile der beiden stärksten Programme zu vereinen, Crazy Stone und MoGo. Das Projekt (und das Team) DeepZen startete mit Yamato im August 2009 nach Zens erstem Auftritt und dem unerwarteten Gewinn der Computer-Olympiade in Pamplona. Das Ziel des Projektes war, den UEC Cup zu gewinnen, was der sehnliche Wunsch der japanischen Seite war. Dies gelang beim 5. UEC Cup im Dezember 2011 nach einer langen, sieglosen Durststrecke japanischer Programme in Japan (mehr als 10 Jahre – zu lange, um sich an die genaue Zahl zu erinnern :p). Das aktuelle Ziel ist, ein Programm auf professionellem Spielstärke-Niveau zu entwickeln.

2. Wer arbeitet an Zen und was ist deine Rolle im Team?

HK: Das Team DeepZen hat zwei Mitglieder. Yoji Ojima (Yamato) ist der Hauptentwickler und arbeitet an der Einzelversion von Zen. Ich, Hideki Kato, repräsentiere Zen nach außen und entwickle die parallele Cluster-Version von Zen. Außerdem bin ich für alles andere zuständig: PR, Agent von Zen etc.

3. Gibt es deiner Meinung nach etwas Besonderes, das Zen einzigartig macht?

HK: Yamatos Zeit wird vollkommen von der Arbeit an Zen beansprucht (kein Scherz 🙂 ) – durch das Tunen und/oder die Implementierung neuer Ideen. Er arbeitet sehr hart. Ich weiß nicht, ob du „MC simulation is Black Magic“ von Sylvain Gelly kennst, dem Hauptentwickler von MoGo. Es gibt keine grundlegende Theorie, unerwartetes Verhalten etc. Daher basiert die Verbesserung von MC-Go-Bots zur Zeit auf Trial-and-Error-Versuchen mit vielen Benchmark-Tests, bei denen jeder Test aus tausenden Spielen besteht und folglich richtig lange dauert. Da die Qualität der Simulation der Schlüssel zur Spielstärke von MC-Bots ist und deren Verbesserung sehr viel Zeit beansprucht, lande ich wieder bei meiner ersten Aussage in dieser Antwort.

4. Auf welcher Hardware wird Zen für die Challenge laufen?

HK: Ich werde einen Cluster aus 4 PCs nutzen:

  • ein dual 12-core Xeon E5-2690 v3@2.6 GHz, 32 GB RAM,
  • ein dual 10-core Xeon E5-2690 v2@3 GHz, 32 GB RAM,
  • ein dual 6-core Xeon X5680@3.5 GHz, 8 GB RAM und
  • ein 8-core Core i7 5960X@3 GHz, 16 GB RAM.

Die Computer werden mit einem GbE LAN verbunden – insgesamt 64 Kerne.

5. Wirst du die kommerzielle Version von Zen oder eine spezielle Match-Version nutzen?

HK: Eine spezielle Version für wichtige Spiele :).

Die kommerzielle Version ist ein wenig älter (und somit schwächer) und nicht clusterfähig.

6. Wirst du während der challenge am Programm arbeiten, also auf Ereignisse des Matches reagieren?

HK: Ja, aber nur sehr eingeschränkt: Bugs fixen und/oder verschiedene Versionen für verschiedene Runden nutzen, z.B.

Falls du mit „reagieren“ meinst, das Programm zu ändern bzw. zu verbessern: Das ist beinahe unmöglich. Auf dem Niveau von Zen ist die Bestätigung, dass eine „Verbesserung“ wirklich Zens durchschnittliche Spielstärke steigert, keine leichte Aufgabe. Viele Tests sind nötig (Benchmark- und Regressionstests, Praxistests etc.). Das dauert normalerweise einige Monate und mehr.

7. Vor vielleicht zehn Jahren begannen Monte-Carlo-Methoden, Go-Computer-Programme deutlich stärker zu machen. Rémi Coulom, der Entwickler von Crazy Stone, sagte letztes Jahr, dass es seit zwei Jahren (nun also seit drei Jahren) kaum Fortschritt gäbe. Stimmst du dieser Einschätzung zu? Was, denkst du, ist nötig, um Computer Go auf eine professionelle Spielstärke zu heben?

HK: Ja, ich stimme definitiv zu. Meiner Meinung nach ist das Wichtigste, einen top-down Leben-und-Tod-Algorithmus mit dem aktuellen bottom-up-MC-Framework zu kombinieren. Das Ziel ist bekannt, aber niemand hat es in den bisherigen fünfzig Jahren Computer-Spiel-Geschichte geschafft.

Aber es sollte noch mehr geben, glaube ich. Leistungsfähige und flexible assoziative Speicher und Lernmethoden, z.B.

8. Hast du die codecentric go challenge 2014 verfolgt, das Match zwischen Franz-Josef Dickhut und Crazy Stone? Irgendwelche Anmerkungen?

HK: Das Ergebnis ist nicht überraschend.

9. Die obligatorische Abschlussfrage: Wie bewertest du eure Chancen im Match?

HK: Ungefähr mit 25% (oder weniger), da Zen ein mittlerer 5 Dan bei der gegebenen Bedenkzeitregelung ist. D.h., es gibt eine Lücke von 200 (oder mehr) Elo-Punkten.

Glossar:

Elo: Punktesystem, um die relative Spielstärke zu messebn

Fuseki: Die Eröffnungsphase einer Go-Partie

Joseki: Feste Abspiele in den Ecken eines Go-Brettes

MC: Monte-Carlo-Methoden: Algorithmen, um mittels zufälligen Abspielen und statistischen Methoden gute Züge in einer Go-Stellung zu finden

UEC Cup: Jährliches Computer-Go-Turnier der Universität für Elekto-Kommunikation in Tokio, Japan

Dr. Raymond Georg Snatzke

Der promovierte Mathematiker Georg Snatzke ist seit 2007 bei codecentric. Sein Schwerpunkt sind alle Bereiche rund um das Thema Performance: Application Performance Management (APM), insbesondere mit AppDynamics, Performance-Analyse und -Optimierung sowie natürlich Lasttests. Georg ist zufrieden, wenn er schwarzen Rauch aus den Systemen aufsteigen sieht, die er unter Last setzen darf.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Artikel von Dr. Raymond Georg Snatzke

Game Programming

codecentric go challenge 2016

Game Programming

codecentric go challenge 2015

Weitere Inhalte zu Allgemein

Kommentare

  • 3. Oktober 2015 von Ingo Althöfer

    Runde 1 ist super gelaufen für den Bot: am Ende 1,5 Punkte Vorsprung
    und damit 1-0. So ähnlich fing es 2014 auch an …

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.