|
Seite 1 von 2 Lange Nacht der Wissenschaft" klingt nach blassen Stubenhockern, die am späten Abend bei kalter Pizza Quantengleichungen lösen. Doch nichts könnte falscher sein: die Universitätsstadt Jena präsentierte Wissenschaft zum Anfassen und Mitmachen. Auch Professor Ingo Althöfer gab sich die Ehre und präsentierte in einem riesigen Saal jede Menge spannende Spiele für jung und alt. Ein Höhepunkt des Abends war für Denkspielfans das Mensch-Maschine-Revanchematch im Conhex. Auf der CeBIT hatte der Erfinder des Spiels, Michail Antonow, das Programm Guenthex noch sicher im Griff. Doch seitdem hatte Programmierer Jörg Günther ein halbes Jahr Zeit, an den Algorithmen
ConHex kann man auf zwei Arten beschreiben. Die erste: es handelt sich um ein Verbindungs-Spiel – die Gegner versuchen jeweils, zwei gegenüberliegende Ränder zu verbinden, indem sie Felder erobern. Die zweite Art: ConHex ist das heißeste Spiel, das seit zweihundert Jahren erfunden wurde, wesentlich spannender als beispielsweise Mühle, Vier Gewinnt oder Reversi. Dabei kein bisschen unübersichtlich – es steckt zwar voller Taktik, aber auch voller strategischer Pläne, und es liegt "im menschlichen Fenster", das heisst, die Verbindung von Strategie und Taktik passt genau zu unserer Denkweise, ConHex ist nicht zu schwierig, aber auch nicht so leicht. Die Regeln sind einfacher als die von Go, man kann sie in einer halben Minute lernen. Zur Erinnerung: Ein ConHex-Kampf findet auf einem in Felder unterteilten Spielbrett statt.
 | | Anklicken zum Vergrößern |
Die Gegner ziehen abwechselnd auf die markierten Schnittpunkte der Felder. Hat einer der Spieler mindestens die Hälfte der an ein Feld grenzenden Punkte okkupiert, gilt das Feld als von ihm erobert; es wird in seiner Farbe dargestellt. Auf diese Weise versuchen die Opponenten, mit eroberten Feldern eine ununterbrochene Kette von einem Rand zum anderen zu ziehen, einer versucht, den oberen und den unteren, der andere, den rechten und den linken Rand zu verbinden. Sieger ist, wem das gelingt. Es kann kein Unentschieden geben, weil jede Verbindung gleichzeitig dafür sorgt, dass der Gegner keine Verbindung mehr herstellen kann. Es ist klar, dass in diesem Spiel kein Zugzwang existiert, also der Spieler, der den ersten Zug ausführt, zwangsläufig gewinnen kann. Um diesen Vorteil zu minimieren, gibt es die Swap-Regel: der Anziehende führt seinen ersten Zug aus, worauf der Nachziehende entscheiden kann, ob er mit diesem Stein weiterspielt, also selbst Anziehender wird, oder eben nicht. Darum wird man als ersten Zug nicht unbedingt den allerbesten wählen; typisch ist ein Eckstein als erster Zug, wonach die Chancen einigermaßen ausgeglichen sind, zumindest unter Menschen.
Für Computer birgt ConHex einige Schwierigkeiten, denn der Verzweigungsfaktor liegt etwa doppelt so hoch wie in einem normalen Schachprogramm. ConHex ist noch relativ jung, es wurde erst vor etwa zwei Jahren erfunden, und so existiert überhaupt noch kein Programm dafür, das der Allgemeinheit ein bisschen Übung ermöglichte. Professor "Dreihirn" Ingo Althöfer fand diese Tatsache offenbar betrüblich, und so bekam der angehende Informatiker Jörg Günther die Aufgabe, im Rahmen seiner Diplomarbeit ein ConHex-Programm zu schreiben. Auf der CeBIT 2007 verlor das Programm, in dem bis dato wenig Entwicklungszeit steckte, gegen den Erfinder des ConHex-Spiels, Michail Antonow, beide ausgetragenen Partien. Ein halbes Jahr später sollte es die große Revanche geben. Doch der Bahnstreik kam dazwischen – dem zweiundsiebzigjährigen Antonow war die ungewisse Reise von seinem Wohnort Köln ins thüringische Jena nicht zuzumuten. Um das Match aber nicht ausfallen zu lassen, wurde eine Telefon-Standleitung installiert und die Züge fernmündlich übermittelt. Michail Antonow höchstselbst hat sich bereit erklärt, die Partien für CSS Online zu kommentieren. Gleich in der ersten Runde gab es eine dicke Überraschung.
Erste Partie, Jena, 16.11.2007
Michail Antonow (rot, vertikal) – GuentHex 2.0 (blau, horizontal)
1.D7 - bin nicht ganz sicher, ob dies der beste Eröffnungszug ist. Habe auch nicht viel darüber nachgedacht, denn mit ernstzunehmen den Gegnern wird mit der Swap Rule gespielt, und dann beginne ich meistens mit A1. (Anm d. Red.: Guenthex ist ein Linux-Kommandozeilenprogramm und beherrscht die Swap-Regel nicht. Jeder ConHex-Spieler hätte daher viel Geld auf Sieg Antonow gesetzt ...)
2.E14 – nicht schlecht.
3.K14 - wäre M14 nicht besser? Ich wollte aber keine zu weite Lücke zur Mitte lassen.
4.M14 – nun droht er, von oben oder von unten den Stein K14 zu umgehen.
5.E16 – I14 wäre vielleicht besser, denn 6.K16 7.G16 ist ebenso ok wie 6.I16 7.M16 oder 6. I12 7.I10 8.K12 9.G12. Ich habe aber E16 gespielt, weil ich die Gabeldrohung links oder rechts von E14 anwenden wollte.
6.D13 - I14 wäre für ihn nicht besser, wegen 7. D13 8. B13 9.G14 10. D11 11. F11
7.I14 – gut!
8.L11 – I10 wäre stärker.
9.F9 – F11 wäre besser, aber ich wollte auch im Feld F7 – I8 vertreten sein.
10.E4 – schützt nicht gegen 11.B3.
11.K4 – B3 schien mir noch zu riskant, und ich wollte eine Alternativdrohung rechtsherum aufbauen. Ob I4 besser gewesen wäre? Eigentlich ja, weil es verhindern würde, dass er es besetzt und weil es den Druck auf ihn erhöhen würde.
12.I4 – prompt hat er es ausgenutzt.
13.B3 – na endlich!
14.D5 – erzwungene Verteidigung.
15.B7 – Ein DICKER FEHLER, denn hier habe ich einfach übersehen, dass ich praktisch schon gewonnen hatte. Hätte ich nämlich D9 (statt B7) gespielt, wäre das Spiel in nur vier weiteren Zügen sicher gewonnen. Im Stress des Augenblicks hatte ich das Gefühl (völlig unlogisch bei ruhiger Betrachtung), dass er zum linken Rand durchbrechen könnte, und wollte mich dagegen (unnötigerweise, wie man im Nachhinein weiß!) absichern. Andererseits schien mir meine Position in der Mitte ziemlich sicher, in Wirklichkeit war sie aber doch angreifbar. 15. B7 war allerdings nur insofern ein schwerer Fehler, als damit die Gelegenheit zu einem schnellen und sicheren Sieg verpasst wurde. Der Zug war aber KEIN FATALER FEHLER, denn er eröffnete die Chance, eine spielentscheidende Doppelbedrohung aufzubauen, wie wir noch sehen werden.
16.D9 – zunächst sieht es so aus, dass er die Gefahr abgewendet hat und nun die Initiative ergreifen kann (Anm. d. Red.: Blau kann jetzt die Mitte erobern. Schwer zu sagen, ob es schon zwingend gewonnen ist, Rot hat ja noch Chancen, spielt aber im weiteren Verlauf weiter zu optimistisch. Die vielen roten Felder links sehen bedrohlich aus, nutzen jedoch nichts mehr, weil sie vom Rest der Streitmacht abgetrennt wurden.)
17.B9 – vordergründig nur ein Abwehrzug (den Verlust des Feldes B9 - D5 zu verhindern). In Wirklichkeit bringt DIESER Zug GuentHex 2.0 in tödliche Gefahr durch die Doppelbedrohung B15 oder F11
18.G16 – offenbar hat er die Gefahr in der Südwest-Ecke (B15) nicht erkannt. Es hätte ihm aber auch nichts geholfen, wenn er selbst auf B15 gegangen wäre, denn dann hätte ich ungehindert mit 19. F11 gewinnen können.
19.I16 – DER EIGENTLICH ENTSCHEIDENDE FEHLER. Dummerweise habe auch ich nicht erkannt, dass ich nach 19. B15 in nur noch drei Zügen sicher gewonnen hätte. 19. I16 ist aber nicht nur deswegen sehr schwach; denn mit 19. M16 hätte ich vielleicht noch eine Chance, entlang des rechten Randes nach Norden durchzukommen. Mit I16 aber habe ICH ihn praktisch gezwungen, die Lücke in seiner Position (Südwest-Ecke) zu schließen, und dazu noch auch mich selbst gezwungen, weiter am Südrand Züge zu verbrauchen.
20.C16 – klar, erst jetzt ist die Südwest-Ecke für ihn sicher.
21.K16 – scheint naheliegend, aber hier wäre es den Versuch wert, M16 oder gar O16 zu spielen, in der Hoffnung dass er 22.K16 spielt, wieder auf den rechten Rand spekulierend.
22.F11 – stark!
23.K12 – hoffend auf Gabel nach Nord-Ost
24.F7 – er entscheidet sich für den Weg über das Feld 33(G4) – 54 (K6)
25.L9 – ob N11 nicht besser wäre, um vielleicht später an P3 anzudocken?
26.L7 - gut
27.K6 - ich versuche es durch die Mitte…

28.M4 - worauf er sich am Nordrand entlang bedrohlich stark macht.
29.N5 - verzweifelter Zug im Stress der Torschlusspanik. Nun folgt die sichere Niederlage. Jetzt rächt sich unter anderem, dass ich im 11. Zug nicht I4 gespielt habe.
30.O2 – klar
31.M2 – macht er doch einen blöden Fehler?
32.K2 – natürlich übersieht er die Gefahr nicht.
33.. Da kann man nur noch aufgeben. Schade um das (fast) gewonnene Spiel! (Anm. d. Redaktion: Blau gewinnt mit drei weiteren Zügen, die nicht zu verhindern sind, weil es für jeden davon mindestens einen Alternativzug gibt, um das betreffende Feld zu erobern: A17 oder B14, Q1 oder P3 sowie E/G/I2 oder G4. Daher:) 0-1
Eine Sensation? Immerhin verlor Antonow, obwohl er mit einem beliebigen Zug beginnen durfte, also einen riesigen, unter starken Spielern normalerweise entscheidenden Vorteil hatte! Allerdings war Michail nicht ganz fit, was vielleicht seinen schlimmen Fehler in klar gewonnener Stellung erklärt. Allerdings hat GuentHex den Fehler auch gut ausgenutzt. Das Programm arbeitet nicht wie ein Schachprogramm, sucht also nicht mit dem Alpha-Beta-Algorithmus, unterstützt von Nullmoves und Hashtables, so tief wie möglich in den Spielbaum hinein. Stattdessen verwendet es UCT: es spielt für jeden Zug eine Menge Partien mit Zufallszügen und wählt am Ende den, der den besten Score erreicht. Auch moderne Go-Programme funktionieren auf diese Weise.
UCT skaliert ungeheuer gut und pendelt sich rasch auf den besten Zug ein, leidet jedoch unter einem kleinen Logik-Problem: der Programmierer ist daran interessiert, den besten Zug zu bekommen. Das UCT-Programm ermittelt aber nicht den besten Zug, sondern den, der die meisten Zufallspartien gewinnt, der dem Gegner also die meisten Fehlermöglichkeiten bietet. Die Annahme, beide Züge seien identisch, trifft meistens, aber nicht immer zu. Darum gibt es Korrektur-Faktoren, um dem Programm bestimmte Vorlieben auszutreiben, zum Beispiel, bevorzugt den Rand zu okkupieren, weil der Weg zum Sieg dort am kürzesten ist, wenn der Gegner woanders spielt. Der Rand ist aber auch am leichtesten zu blockieren, so dass der Gegner zwar öfter einzige Züge spielen muss, diese aber sehr offensichtlich sind. Zumindest für Menschen, Programme lassen sich nicht von Offensichtlichkeiten ankränkeln.
In der zweiten Partie durfte Guenthex beginnen, und kaum einer der sachkundigen Zuschauer zweifelte nach der doch recht überzeugenden Vorstellung in der ersten Partie daran, dass der ConHex-Erfinder es verdammt schwer haben und wahrscheinlich noch einmal verlieren würde. Doch der Menschen und der Mäuse besterdachte Pläne ...
Zweite Partie, Jena, 16.11.2007
GuentHex 2.0 (rot, vertikal) – Michail Antonow (blau, horizontal)
1.D5 – dies scheint der klassische Eröffnungszug von GuentHex zu sein.
2.D13 – diesmal habe ich symmetrisch gespielt, unter anderem auch weil ich ihm die „Leiter“ (bestehend aus D5, B5, B13 und D13) stören wollte.
3.G14 – aggressiv, zu nahe dran!
4.I14 – versuche die Gabel, oberhalb oder unterhalb von G14. F9 wäre besser
5.E14 – guter Stopper
6.G16 – ich spekuliere (sehr kurzsichtig!) auf Durchbruch entlang des unteren Randes
7.C16 – erfolgreich abgewehrt
8.D9 - etwas zu spät, aber es geht noch
9.F11 – F9 wäre vielleicht stärker
10. F7 – das Feld D9-F9 musste verteidigt werden (C2 blieb als Reserve)
11. F9 – gut, weil mich zwingt, auf D7 oder D11 zu verteidigen, und für sich selbst den Weg über die Mitte freimacht (z.B. mit I6)
12.D7 – wie bestellt
13.B15 – DER FATALE FEHLER in dieser Partie. Unnötiges Sichern des südlichen Zugangs, der nicht gefährdet war, und Verlust eines Tempos, der sich als entscheidend erweisen wird. (Anm. d. Red.: Guenthex stand sehr fett; der Zug an den Rand war auf die oben angesprochene Vorliebe des Programms für Randzüge zurückzuführen – der Programmierer zuckte an dieser Stelle zusammen und meinte, der Korrekturfaktor sei wohl doch zu niedrig. Der Zug ist vollkommen verschenkt, weil die Randverbindung ohnehin nicht mehr zu verhindern war.)
14.K6 – Der Zugang zum westlichen Rand war mir sicher, nun konnte ich nach Osten vorpreschen.
15.K4 – vielleicht hätte er hier einen völlig neuen Versuch entlang des östlichen Randes versuchen sollen.
16.I6 – sichern
17.G6 – noch ein sinnloser Zug, denn G6 kann bequem von oben herum oder von unten herum umgangen werden. G6 ist nicht nur sinnlos, sondern auch sehr schädlich, weil es nochmals ein Tempo verschenkt.
18.M4 – gut, denn der Rücken war gesichert (siehe oben). Der Sieg ist schon zum Greifen nahe.
19.B7 – hier scheint das Programm „die Nerven zu verlieren“ und versucht mit dem Kopf durch die Wand zu gehen.
20.B11 – die logische Abwehr.
21.P3 – an sich guter Zug, jetzt aber zu spät!
22.P7 – nun ist es endgültig. Keine Chance mehr für Vertikal.
23.P5 – vergeblicher Versuch
24.P9 – klar, nur noch 3 oder 4 Züge nötig.
25.N5 – hilft nichts
26.N7 – Lücke geschlossen
27.B3 - ??? Scheint eine Art der Resignation zu sein, oder Hoffnung, dass ich ZWEI Fehler noch mache.
28.B9 – klar
29.K12 – völlig sinnlos. Zu interpretieren etwa mit: „Ist eh wurscht, was ich jetzt spiele!“
30.I8 - gewinnt
0-1
Das Ergebnis (1-1) zeigt also insgesamt einen Fortschritt des Programms ebenso wie noch immer vorhandene Schwächen. Ob diese sich mit der verwendeten Technik restlos beseitigen lassen, wird sich zeigen. Früher oder später wird es auch öffentlich verfügbare ConHex-Programme geben, zumindest eins für Windows befindet sich bereits in Arbeit. Bis dahin können Interessierte, die mal ein bisschen frische ConHex-Luft schnuppern wollen, auf einem Internet-Server Fernpartien spielen, unter anderem auch gegen Michail Antonow persönlich!
|