Gomoku, auch als Fünf in einer Reihe geläufig, ist ein strategisches Brettspiel für zwei Spieler, das sich durch sein einfaches Spielziel – fünf Spielsteine in einer Reihe zu platzieren – auszeichnet. Das Brettspiel hat seinen Ursprung im antiken China [1], von wo es seinen Weg nach Japan fand [2] und sich dort großer Beliebtheit erfreut.
So kam es, dass bereits 1981 professionelle Gomoku-Spieler (Sakata und Ikawa) behaupteten, dass der erste Spieler bei perfektem Spiel einen gesicherten Sieg hat. Dies wurde jedoch erst 1993 im Paper „Gomoku and Threat-Space Search“ [3] bewiesen. Im Verlauf der Zeit haben sich mehrere Variationen des Spiels entwickelt, die im Abschnitt Spielregeln genauer betrachtet werden.
In diesem Artikel wird zunächst ein grundlegendes Wissen über Gomoku aufgebaut. Darauf aufbauend wird erklärt, wie ein Solver anhand evolutionärer Prinzipien Gomoku spielen bzw. lernen kann.
Es gibt eine Vielzahl von Varianten oder Abwandlungen von Gomoku, die sich hauptsächlich in den Parametern Brettgröße, Siegbedingungen oder Ausgleichsmechanismen unterscheiden [1:1][4][5].
Am Ende dieses Abschnitts finden sich Tabellen, die einige klassische Varianten und Eröffnungsregeln, Gomoku mit mechanischen Abwandlungen und von Gomoku inspirierte Spiele auflisten.
Bei den klassischen Varianten bleibt der grundlegende Spielablauf unverändert; Unterschiede bestehen meist nur in zusätzlichen Eröffnungsregeln, abweichenden Spielzielen (z. B. Overlap – mehr als fünf Steine zählen auch als Sieg) oder verändertem Spielmaterial.
Freestyle Gomoku wird auf einem quadratischen Gitter, in der Regel mit 15×15 Schnittpunkten, gespielt. Dabei ist jeder Schnittpunkt eine mögliche Position für einen Spielstein. Die Spielsteine bestehen aus zwei Sets farblich unterschiedlicher Steine – meist schwarz und weiß, da gerne Go-Steine verwendet werden.
Gomoku ist ein zugbasiertes Spiel, das von zwei Spieler:innen ausgetragen wird. Ein Zug besteht aus dem Legen eines Spielsteins der jeweiligen Spieler:in auf einen freien Schnittpunkt des Gitters.
Die Spieler:in, die als Erste:r eine ununterbrochene Folge von fünf oder mehr gleichfarbigen Steinen in horizontaler, vertikaler oder diagonaler Richtung bildet, hat gewonnen und das Spiel endet sofort.
Das Spiel beginnt mit Schwarz, die bzw. der einen einzelnen Spielstein auf eine Position im Gitter setzt. Anschließend ist Weiß am Zug und setzt einen Spielstein auf einen der noch freien Schnittpunkte.
In jedem Zug darf die bzw. der Spieler:in genau einen Stein setzen.
Des Weiteren gibt es keine weiteren Aktionen (z. B. Verschieben oder Entfernen eines Spielsteins), die während des Zuges ausgeführt werden können.
Die Spieler:innen wechseln sich mit den Zügen ab, bis das Spielende erreicht ist.
Freestyle Gomoku endet, sobald eine:r der Spieler:innen den in Spielziel beschriebenen Zustand erreicht.
Das Spiel kann jedoch auch unentschieden enden. Dies ist der Fall, wenn
(1) alle Schnittpunkte belegt sind, ohne dass eine Fünfer-Reihe entstanden ist, oder
(2) beide Spieler:innen die Gewinnversuche der Gegenseite vollständig blockiert haben und keine weitere Fünfer-Bildung möglich ist.
| Nr. | Name | Beschreibung | Quelle |
|---|---|---|---|
| 1 | Freestyle Gomoku | keine Einschränkungen | Wikipedia |
| 2 | Swap | Weiß darf nach Schwarz’ 1. Zug tauschen | Wikipedia |
| 3 | Swap2 | Weiß darf auch neu setzen – erweitert Fairness | Wikipedia |
| 4 | Renju | Professionelle Turnierregel, Verbotszüge für Schwarz | Wikipedia |
| 5 | Caro | Keine Überfünf-Regel, offene Dreier erlaubt | Wikipedia |
| 6 | Omok | Koreanische Variante, i.d.R. Freestyle | Wikipedia |
| Nr. | Name | Beschreibung | Quelle |
|---|---|---|---|
| 1 | Pente / Gobang | 5-in-einer-Reihe plus Paare schlagen möglich | Sensei’s Library |
| 2 | Ninuki-Renju | Variante mit Schlagen von Paaren; Sieg durch 5 oder 2x Paar | Wikipedia |
| 3 | Connect6 | Spieler setzen je zwei Steine pro Zug, Ziel: 6 in Reihe | Sensei’s Library |
| 4 | Hasami Shogi | Fangspiel mit Reihen-Schlagen, nicht 5 in Reihe | Sensei’s Library |
| Nr. | Name | Beschreibung | Quelle |
|---|---|---|---|
| 1 | Tic-Tac-Toe | 3-in-einer-Reihe-Variante | Wikipedia |
| 2 | Pentago | 6×6-Drehbretter, Rotationsmechanik | Wikipedia |
| 3 | Yinsh | Teil des GIPF-Projekts | Wikipedia |
| 4 | Yavalath | Hexagonal, verliert bei 3-in-einer-Reihe | Wikipedia |
Um den folgenden Inhalt ohne Vorwissen zu genetischen Algorithmen besser einordnen zu können, bietet sich dieser Wiki-Artikel an: Genetische Algorithmen.
Diese Implementierung generiert für jeden Zug eine Startpopulation von Individuen, welche dann anhand ihrer Fitness bewertet und mit Rekombination und Selektion „verbessert“ werden. Dieser Prozess wird iterativ wiederholt, und das Produkt dieses Prozesses – das bestbewertete Individuum – wird dann als tatsächlicher Zug ausgewählt.
Eine Spielsequenz wird durch die Angabe des Spielers (B = Solver und A = Gegenspieler) und die Brettkoordinaten des gelegten Steins kodiert:
Ein Individuum besteht aus einer Sequenz von sieben Spielzügen, wobei die Spielerbezeichnung weggelassen werden kann – da sie implizit gegeben ist, denn der Solver startet immer mit einem eigenen Zug:
Die Startpopulation wird dabei zufällig, jedoch mit gewissen Einschränkungen erzeugt: Die Zugpositionen müssen auf einem freien Feld und in einem erweiterten Bereich um alle bereits gesetzten Steine liegen. Der erweiterte Bereich berechnet sich aus allen bereits gesetzten Steinen.
Angenommen, auf dem Spielbrett liegen bereits die folgenden Steine auf den Feldern: (6,6), (7,7), (7,6), (8,7). Dann würde der erweiterte Bereich wie folgt berechnet:
Somit gilt für : und , und für : und .
Der erweiterte Bereich ist somit: , , und .
Erweiterter Bereich formal definiert: und .
"Actually, GA can be regarded as the optimization process of the fitness function." [6:1]
Die Fitness-Funktion ist das Herzstück eines jeden genetischen Algorithmus (GA), denn die jeweilige Implementierung hat einen enormen Einfluss auf die Effizienz und Laufzeit eines jeden GAs.
Diese Fitness-Funktion besteht aus fünf Teilen: Der Angriffs- und Verteidigungsbewertung, einer Belohnung für frühe Siege, der Berücksichtigung von nahen Siegsituationen und einer Tendenzbewertung.
Um eine Spielsituation bewerten zu können, muss es ein Mapping von Spielsituation auf einen Wert geben. In diesem Fall werden zwölf wesentliche Brettmuster nach ihrer Gewinnwahrscheinlichkeit klassifiziert. Die Gewinnwahrscheinlichkeit wird stufenweise nach der Formel berechnet:
Dabei erhalten Muster 9–11 denselben Maximalwert, da sie einen Zug vor dem Sieg liegen. Positionen, die nicht mit einem Muster klassifiziert werden können, erhalten den Wert 0.
Für jeden der sieben Züge einer Lösung wird ermittelt, wie viel dieser Zug zum eigenen Angriff (Angriffswert) und zur Abwehr des Gegners (Verteidigungswert) beiträgt. Der Gesamtwert einer Zugaktion ist die Summe aus Angriffswert und Verteidigungswert.
Dadurch werden Züge höher gewichtet, die einerseits den Sieg vorantreiben und andererseits gegnerische Drohungen entschärfen.
Der Angriffswert ist der Wert der erzeugten Spielsituation unter der Annahme, dass der GA-Löser einen Stein auf Position P legt.
Der Verteidigungswert ist der Wert der erzeugten Spielsituation unter der Annahme, dass der Gegner einen Stein auf Position P legt.
Angenommen die Spielsituation ist wie in Abb. 5 dargestellt und der GA-Solver (schwarz) nimmt eine Bewertung der drei markierten Positionen (1, 2 und 3) vor. Dabei wird jede dieser drei Positionen unter zwei Bedingungen ausgewertet: 1. Bedingung ist der Wert des Muster, wenn der eigene Stein an der Position liegt und die 2. Bedingung ist der Wert des Musters, wenn der Stein des Gegeners an dieser Position liegt. Dies würde zu folgenden Bewertungen führen:
| Position | Angriffswert | Verteidigungswert | Gesamtwert |
|---|---|---|---|
| 1 | 63 (Muster 6) | 511 (Muster 9) | 574 |
| 2 | 0 | 511 (Muster 9) | 511 |
| 3 | 63 (Muster 6) | 0 | 63 |
Fazit: Position 1 ist die beste Wahl, da sie sowohl eine eigene Gewinnchance aufbaut als auch eine gegnerische verhindert.
Liegt ein sofortiger Sieg in einem Zug vor (Mustertypen 9–11), werden ebenfalls alle nachfolgenden Züge maximal bewertet. So werden Nahsiegs-Szenarien besonders forciert.
Bei Spielsituationen wie Muster 9, 10, 11 hat der Spieler mit den weißen Steinen einen garantierten Sieg, unabhängig davon, wohin der schwarze Spieler den Stein platziert. Deshalb werden die darauffolgenden Züge mit dem Maximalwert bewertet, um diesen Umstand zu modellieren.
Dieser Schritt ist essenziell, denn hat bei der Bewertung nicht zwischen dem GA-Solver und dem Gegenspieler differenziert. Darum wird die Situationsbewertung eines Individuums in jedem Zug mit einem Vorzeichen versehen:
Dabei wertet wie folgt aus:
Diese Tendenz bewertet Individuen, die für den Gegner vorteilhaft sind und mit der Bewertungsfunktion einen hohen Wert erhalten hätten, niedriger – und modelliert so die Spielerperspektive.
In dieser Implementierung wird das Verfahren der Roulette-Rad-Selektion verwendet. Dieses Verfahren trifft die Auswahl von Individuen anhand ihrer Fitnesswerte.
Jedes Individuum hat eine Wahrscheinlichkeit ausgewählt zu werden – diese Wahrscheinlichkeit ist jedoch proportional zum Fitnesswert.
Je höher der Fitnesswert eines Individuums, desto wahrscheinlicher wird es ausgewählt. Allerdings wird die mehrfache Selektion identischer Individuen dabei nicht ausgeschlossen, was den Vorteil der Bevorzugung hoher Fitnesswerte bringt, jedoch das Risiko der vorzeitigen Konvergenz durch die dominante Überrepräsentation von „suboptimalen“ (lokalen Optima) Individuen erhöht.
Elternindividuen werden per Roulette-Auswahl ausgewählt. Die Chromosomen eines ausgewählten Elternpaares werden an einem zufälligen Schnittpunkt geteilt. Die daraus resultierenden Teilstücke werden vertauscht, sodass zwei neue Kinder entstehen.
Angenommen, wir haben zwei Eltern-Individuen, die jeweils eine Zugfolge von sieben Spielzügen enthalten. Ein zufälliger Crossover-Punkt wird gewählt, z. B. nach dem dritten Zug:
Elternteil 1:
(7,6) (5,5) (5,4) (2,2) (6,5) (7,7) (4,4)
Elternteil 2:
(5,7) (5,5) (2,4) (7,7) (3,5) (4,4) (3,3)
Kind 1:
(7,6) (5,5) (5,4) (7,7) (3,5) (4,4) (3,3)
Kind 2:
(5,7) (5,5) (2,4) (2,2) (6,5) (7,7) (4,4)
Diese neuen Individuen enthalten jeweils einen Mix der Zugsequenzen ihrer Eltern.
In jeder Generation wird ein kleiner Prozentsatz (kleiner als 1 %) der Individuen mutiert. Dabei wird an einer zufälligen Genposition eine Veränderung vorgenommen. Es können dabei ungültige Lösungen (z. B. doppelte Züge auf demselben Feld) entstehen – diese werden jedoch später durch die Fitnessbewertung verworfen.
Abb. 1: Screenshot von TicTacToeFree.com (o. D.).
Abb. 2: Gomoku-Brettspiel [Foto]. (o. D.). Abgerufen von https://i.ebayimg.com/images/g/ifcAAOSwOZNcrLru/s-l960.webp
Abb. 3–5: Entnommen aus Wang, J., & Huang, L. (2014). Evolving Gomoku Solver by Genetic Algorithm [Konferenzbeitrag]. Proceedings of IEEE International Conference on Computer and Information Technology, Yangtze University. https://ieeexplore.ieee.org/document/6976460
Wikipedia contributors. (n.d.). Gomoku. In Wikipedia. Retrieved June 16, 2025, from https://en.wikipedia.org/wiki/Gomoku ↩︎ ↩︎
Luk. (2009, October 20). Board games history: The Japanese game of Gomoku. Games for your mind. Retrieved June 16, 2025, from https://clevergames.wordpress.com/2009/10/20/board-games-history-the-japanese-game-of-gomoku/ ↩︎
Allis, L. V., van den Herik, H. J., & Huntjens, M. P. H. (1993). Go-Moku and threat-space search (Technical Report). University of Limburg, Department of Computer Science. Retrieved June 16, 2025, from https://www.mimuw.edu.pl/~awojna/SID/referaty/Go-Moku.pdf ↩︎
Wikipedia contributors. (n.d.). Fünf in eine Reihe – Gomoku im Film. In Wikipedia. Retrieved June 16, 2025, from https://de.wikipedia.org/wiki/Fünf_in_eine_Reihe#Gomoku_im_Film ↩︎
Sensei’s Library contributors. (n.d.). Variant. Sensei’s Library. Retrieved June 16, 2025, from https://senseis.xmp.net/?Variant#toc1 ↩︎
Wang, J., & Huang, L. (2014). Evolving Gomoku Solver by Genetic Algorithm. Yangtze University, Computer Science Department.https://ieeexplore.ieee.org/document/6976460 ↩︎ ↩︎
Selzam, B. (2003). Genetische Algorithmen (S. 7). Technische Universität Dortmund. Verfügbar als PDF: https://ls11-www.cs.tu-dortmund.de/lehre/SoSe03/PG431/Ausarbeitungen/GA_Selzam.pdf ↩︎