codecentric go challenge 2014: Interviews mit Franz-Josef Dickhut und Rémi Coulom

Keine Kommentare

Am Samstag, den 4. Oktober, um 16 Uhr ist es soweit: Die erste Partie der codecentric go challenge 2014 startet. Im Anschluss an die Partie, die auf dem KGS Go-Server gespielt wird, wird das Ergebnis incl. der Partie zum Nachspielen auf http://go.codecentric.de zu finden sein.

Noch vor dem Start der ersten Partie waren beide Teilnehmer zu einem Interview bereit. Vielen Dank an beide!

Franz-Josef Dickhut (FJD), 6. Dan:

1. Du spielst seit vielen Jahren auf allerhöchstem Niveau Go. Wie hast Du in all diesen Jahren die Entwicklung des Computer-Go verfolgt?

FJD: Zunächst nur am Rande, bis vielleicht vor zwei, drei Jahren, da Go-Programme einfach zu schwach waren, um für mich etwas Interessantes zu bieten. Da gab es bestenfalls mal eine Engine zu bewundern, die recht gut im Lösen lokaler Leben&Tod-Probleme war, oder dann allmählich auch auf 9×9-Brettern [Anmerkung des Autors: Die reguläre Größe eines Go-Brettes ist 19×19]. Inzwischen hat sich das aber grundlegend geändert, denn mit dem Monte-Carlo-Ansatz sind die Programme sprungartig stärker geworden, so dass es z.B. Spaß machte, gegen einige der Programme auf KGS zu spielen, obwohl die meisten Programme noch Vorgabe brauchen.
Die stärksten Programme halte ich zwar immer noch für schwächer (zumindest in ihren 2013-er Versionen) als meine eigene Spielstärke, aber dadurch, dass sie ihre Züge so grundlegend anders generieren als ich bzw. als menschliche Gegner, bekommt man eine Menge Anregungen und z.T. einen neuen Blickwinkel für das eigene Spiel. Das macht die „Kisten“ auch interessant für mich, und dabei ist es nicht so relevant, ob sie nun etwas schwächer oder vielleicht schon etwas stärker sind als ich.

2. Hattest Du jemals daran gedacht, Dich selbst an einem Go-Programm zu versuchen oder anderweitig einen Beitrag zur Entwicklung von Go-Programmen zu leisten?

FJD: Selbst programmieren – nein, denn von Programmierung habe ich so gut wie keine Ahnung (mal abgesehen von 30 Jahre altem Schulstoff).
Ich könnte mir aber vorstellen, als Tester, Berater, oder etwas ähnlichem mitzuwirken, was den golichen Teil der Arbeit angeht. Sicher bräuchte ich da auch etwas mehr Verständnis von der Arbeitsweise der Programme, aber das stelle ich mir schon so interessant vor, dass es sich vielleicht lohnen würde, mich da etwas einzulesen.

3. Hast Du einen besonderen Plan für das Match? Hast Du Dir eine besondere Anti-Computer-Go-Strategie zurecht gelegt, vielleicht sogar eine besondere Anti-Crazy-Stone-Strategie? Oder wirst Du einfach nur versuchen, gutes Go zu spielen?

FJD: Einen konkreten Plan, z.B. welche Eröffnungen ich spielen möchte, oder irgendwelche Spezialjosekis [Anmerkung des Autors: Joseki sind etablierte Abspiele in den Ecken des Brettes] habe ich mir für dieses Match nicht bzw. noch nicht zurecht gelegt. Ich kenne zwar die gängigen Tips für das Spiel gegen MC-Bots bzw. deren Schwächen (am besten ein Semeai mit Ko und Nakade [Anmerkung des Autors: eine komplexe und schwierige Leben-und-Tod-Stellung auf dem Brett]), aber es bewußt darauf anzulegen habe ich nicht vor – allerdings kommen diese „Stilmittel“ ohnehin in vielen meiner Partien vor.
Ich würde also sagen, ich werde versuchen gutes Go zu spielen, und hoffe, dass die zu erwartenden „verrückten Kämpfe“ entstehen, weil CrazyStone eben doch ein paar Fehler macht, und nicht weil ich es darauf anlegen muss um noch eine Chance zu haben…

4. Und eine letzte Frage: Wie beurteilst Du Deine Chancen im Match?

FJD: Ich hoffe und glaube, dass ich zur Zeit noch der Favorit bin. Allerdings hat Ingo Althöfer, der dieses Match angeregt hatte, es geschafft, mir mit einigen geschickten Andeutungen ein paar Zweifel einzuimpfen. So weiß ich natürlich nicht, welche Verbesserungen die neueste CrazyStone Version mit sich bringt, und wie stark diese sich auf die Spielstärke auswirken werden. Auch kann ich als Laie nicht beurteilen, wie stark sich eine bessere Hardware und damit die höhere Anzahl der Simulationen letztlich in der Spielstärke niederschlagen.
Da ich aber meine eigenen Spielstärkeschwankungen kenne, würde ich nicht auf ein 3-0 tippen.

Rémi Coulom (RC), Entwickler von Crazy Stone (Übersetzung aus dem Englischen von Georg Snatzke):

1. Wann hast Du mit der Entwicklung eines Go Programmes begonnen? Und wichtiger: Warum?

RC: Ich begann 2005. Zuerst betreute ich mit Bruno Bouzy einen Studenten, Guillaume Chaslot. Das Thema seiner Forschung waren Monte Carlo Methoden bei Go. Guillaume verließ später Lille, um eine Doktorarbeit in Maastricht zu beginnen, aber ich wollte weiter an Go arbeiten. Deswegen habe ich im Sommer 2005 mit der Arbeit an Crazy Stone begonnen.

2. Hast Du Crazy Stone vollständig alleine entwickelt oder hattest Du Partner?

RC: Ich bin der einzige Programmierer von Crazy Stone, aber ich wurde unterstützt von Unbalance, dem Herausgeber von Crazy Stone, und meiner Universität, die mir viel freie Zeit zubilligte und Zugang zu sehr leistungsfähigen Computern gewährte (https://www.grid5000.fr/).

3. Welche Programmiersprachen, Frameworks und Werkzeuge hast Du bei der Verwendung von Crazy Stone verwendet? Was waren Deine Gründe für ihre Wahl?

RC: Ich programmiere in C++ mit vim. Das sind die Werkzeuge, die ich gut kenne.

4. Neben Go hast Du auch Programme für einige andere Spiele entwickelt. Was sind aus Deiner Sicht die wesentlichen Unterschiede in der Programmierung von Go verglichen mit Schach oder Othello?

RC: Der hauptsächliche Unterschied ist, dass künstliche Intelligenz bei Schach und Othello auf dem Ansatz traditioneller Mini-Max-Suche beruht, während Crazy Stone Monte Carlo Baumsuche nutzt.

5. Kannst Du das grundlegende Prinzip beschreiben, Monte Carlo Methoden mit traditioneller Baumsuche in Go zu kombinieren? Gehe ich Recht in der Annahme, dass man in einer gegebenen Spielposition mit Baumsuche beginnt und Monte Carlo Methoden benutzt, um die Stellung an den Blättern des Baumes zu bewerten? Oder ist diese Sicht der Dinge zu einfach?

RC: Einige frühe Monte Carlo Programme haben diesen Ansatz verfolgt. Sie nutzten eine traditionelle Minimax-Baumsuche mit einer Monte Carlo-Bewertung an den Blättern. Aber dies war sehr ineffizient. Die aktuellen starken Monte Carlo Programme nutzen Monte Carlo-Bewertungen auch innerhalb des Baumes. Da der beste Zug häufiger durchsucht wird als die anderen, nähert sich der Monte-Carlo-Baum langsam einem Minimax-Baum an – wenn die Zahl der Monte Carlo Durchläufe gegen Unendlich geht. Aber er wird niemals ganz Minimax.

6. Wirst Du die normale kommerzielle Version von Crazy Stone für den Wettkampf gegen Franz-Josef Dickhut verwenden oder eine spezielle Match-Version?

RC: Ich werde die aktuelle, experimentelle Version von Crazy Stone benutzen. Sie ist ein wenig stärker als die kommerzielle Version.

7. Planst Du, das Programm zwischen den Spielen anzupassen, also auf Ereignisse im Match zu reagieren?

RC: Nicht wirklich. Ich arbeite ständig daran, Crazy Stone zu verbessern, so dass ich vielleicht tatsächlich eine unterschiedliche Version in jedem Spiel benutzen werde, falls ich unter der Woche eine Verbesserung finde. Aber ich erwarte nicht, Verbesserungen aufgrund dessen zu finden, was während des Matches passiert. Crazy Stone hat bereits viele Spiele gegen starke menschliche Gegner auf KGS hinter sich, und ich habe seine Schwächen dort bereits gut identifiziert.

8. Ich weiß aus persönlicher Erfahrung mit der Android Version von Crazy Stone, dass die Rechenleistung sehr wichtig für die Spielstärke des Programmes ist. Welche Hardware wirst Du für das Match nutzen?

RC: Ich werde wahrscheinlich einen 20 Core Node von Grid’5000 nutzen (Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz).

9. Was schätzt Du, wieviel stärker Crazy Stone auf dieser Hardware verglichen zu einem modernen Smartphone sein wird?

RC: Auf dieser Maschine schafft Crazy Stone ca. 40.000 Monte Carlo Durchläufe pro Sekunde, auf meinem Nexus 5 sind es 1.700. Ich weiß nicht, wieviele Spielstufen das ausmacht, aber die Spielstärkedifferenz ist sehr groß.

10. Eine letzte Frage: Wie beurteilst Du Deine Chancen im Match?

RC: Ich erwarte, dass Crazy Stone alle drei Spiele verlieren wird. Meiner Meinung nach ist es klar schwächer. Aber die Differenz ist nicht groß, so dass es mit Glück ein Spiel gewinnen kann. Ich hoffe, aufregende Spiele beobachten zu können.

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

Kommentieren

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