Jahre früher als erwartet hat ein Computer den amtierenden Europameister in Go besiegt. Geschafft wurde das mit Zufall und neuronalen Netzen.

Das Computer-Go-Programm Alpha Go hat es geschafft, Fan Hui in fünf Spielen ohne Handicap zu besiegen. (Auf der Alpha Go Seite gibt es sgf-Datein der Spiele zum Download.) Der in Frankreich lebende Chinese ist der derzeitige europäische Meister im Go. Bisher spielten Computerprogramme im Go ausschließlich auf Amateurniveau. Nur auf kleineren Brettern konnten sie gegen professionelle Go-Spieler gewinnen. Ein Spiel gegen Lee Sedol, einen der besten Go-Spieler der Welt, ist für März angesetzt. Dahinter stehen Anstrengungen von Google Deepmind in der Entwicklung von computerbasierten neuronalen Netzwerken.

Ein solches Ergebnis wurde erst in einigen Jahren erwartet, es stellt eine sprunghafte Verbesserung der Leistung solcher Programme dar. In ihrem Paper schreiben die Programmierer, dass ihr Programm in einem Test die bisher besten kommerziellen Computerprogramme in 494 von 495 Spielen besiegt hat. Diese Leistung wurde durch die Kombination von herkömmlichen Techniken und neuronalen Netzwerken möglich.

Entwicklungssprung in der Spielstärke

Diese Entwicklung stellt nach zehn Jahren einen zweiten Sprung in der Verbesserung von Computerprogrammen im Go dar. Bis 2006 basierten alle Computer-Go-Programme auf algorithmischen Strukturen, die mögliche Züge nacheinander auswerteten, unterstützt von Eröffnungsbibliotheken. Der Ansatz war ähnlich den Schachprogrammen, wie etwa Deep Blue, die in der Lage waren, die besten Schachspieler der Welt zu besiegen.

Dieser Ansatz scheiterte im Go. Programme wie GnuGo kamen über die niedrigen Kyu-Ränge der Amateure nicht hinaus. Das sind die “Schülerränge” im Go. Danach folgen die Amateur-“Dan”-Ränge, also Meisterränge. Professionelle Spieler haben ein eigenes Rangsystem, das hauptsächlich auf Titelgewinnen und der Anzahl gewonnener Spiele beruht, aber die Zahl verlorener Spiele außer Acht lässt.

Zufällige Spiele sorgten für Qualität durch Quantität

Die Amateur-Dan-Ränge kamen erst 2006 durch Einführung von Monte-Carlo-Algorithmen in Reichweite. Anstatt von detaillierter Auswertung der Brettstellung werden dabei große Zahlen von zufälligen Spielen generiert. Auf der Grundlage dieser zufälligen Spiele wird dann eine Rangordnung der nächsten möglichen Züge erstellt und der oberste Zug der Rangordnung gewählt. Je mehr zufällige Spiele im Anschluss an einen bestimmten Zug gewonnen werden, desto höher steht der Zug in der Rangordnung.

Wegen der geringen Rechenbelastung bei zufälligen Spielen kann so eine sehr große Zahl von Spielen in kurzer Zeit ausgewertet werden. Zu diesem Vorgehen kommen aber noch Eröffnungsbibliotheken und einzelne Algorithmen, um das Verhalten in bestimmten Spielsituationen zu verbessern, etwa die Erkennung von Treppen. Das ist eine einfache Formation von Steinen, die einem klaren Muster folgt, aber erst nach einer großen Zahl von Zügen zum Fangen der Steingruppe führt. Die Treppe gehört zu den ersten Fangtechniken, die ein Anfänger lernt. Solche Muster können in der Auswertung von zufälligen Spielen nicht zuverlässig erfasst werden.

Neuronale Netze ergänzen den Zufall

Für die Entwicklung von Alpha Go wurden neuronale Netzwerke erstellt und trainiert, wofür unter anderem die Datenbank der über 150.000 Spiele auf dem Kiseido Go Server (KGS) verwendet wurde. Während die so trainierten neuronalen Netzwerke tatsächlich die mittleren Dan-Ränge erreichten, stellten sie zunächst keine wesentliche Steigerung der Spielstärke gegenüber älteren Programmen dar.

Ein wesentlicher Grund dafür ist die hohe Rechenbelastung bei der Bewertung von Zugfolgen in neuronalen Netzwerken. Der Erfolg von Alpha Go beruht auf einer Kombination aller bisher entwickelten Techniken. Die Auswertung aus dem neuronalen Netzwerk ergibt dabei eine unabhängige Gewichtung der Züge aus den zufälligen Spielen der Monte-Carlo-Algorithmen. Der Ansatz wurde bereits im Jahr 2000 verfolgt, allerdings war das neuronale Netzwerk dort ein menschliches Gehirn, das zwischen den vorgeschlagenen Zügen von zwei Computerprogrammen den besseren Zug auswählt.

Erstaunlicherweise war aber auch das neuronale Netzwerk nach dem Training mit über 100.000 Spielen nicht in der Lage, eine Treppe zuverlässig zu erkennen und zu spielen. Den Grund vermuten die Programmierer in der Abwesenheit von ausgespielten Treppen in der Spieldatenbank. Solche Sequenzen sind nur in Ausnahmenfällen tatsächlich im Spiel zu beobachten, weil der Fang von Steinen in einer Treppe unvermeidlich und allen Spielern bekannt ist. Für solche und ähnliche Situationen werden deshalb feste Suchalgorithmen eingesetzt.

1 / 2 / Auf einer Seite lesen

Kommentare (6)

  1. #1 rolak
    28. Januar 2016

    A go-playing AI defeating him 5-0 surely implies [a] playing strength

    Ist doch ne hübsche Formulierung im qualifizierten Kommentar ;‑)

    Können wir davon ausgehen, daß Du zu/nach dem Match mit Lee Sedol einen Artikel schreibst oder muß eine Alarmbake scharf gemacht werden?

    btw: Bin ja mehr mit Schach groß geworden und bei Go nur Zuschauer, doch die animierte, bilderserige & kommentierte Partie in dem schon erwähnten Kommentar ist ungemein faszinierend, zum Zurücklehnen und Genießen:

    {62} If it was Zen or CrazyStone playing white, from now on it would probably start playing cosmic style

    • #2 wasgeht
      28. Januar 2016

      Ich werde bei dem Spiel zum Werwolf, heulend durch die Stadt laufen und auf Go-Brettern eine Spur aus toten Go-Steinen hinter mir her ziehen … oder so ähnlich. ;)

      Ja, ich denke schon, dass ich dazu wieder einen Artikel schreiben werde.

  2. #3 MisterX
    28. Januar 2016

    Also, kann Alpha Go den Müll rausbringen?

  3. #4 rolak
    28. Januar 2016

    kann Alpha Go den Müll rausbringen?

    Der kandidiert nicht bei ´ner Partnerbörse, MisterX, der will nur spielen.

  4. #5 Dr. Webbaer
    30. Januar 2016

    Zum Go-Dan-System:
    1.) -> https://fr.wikipedia.org/wiki/Fan_Hui (Profi-Dan 2)
    2.) -> https://en.wikipedia.org/wiki/Go_ranks_and_ratings#Kyu_and_dan_ranks
    3.) -> https://en.wikipedia.org/wiki/Judan_(Go)

    MFG
    Dr. Webbaer (der hofft, dass der Kommentar trotz dreier (erlaubt sind im WordPress-Kontext oft: zwei Kommentare) Kommentare durchgeht)

  5. #6 Dr. Webbaer
    30. Januar 2016

    *
    der hofft, dass der Kommentar trotz dreier Webverweise durchgeht