Vier Gewinnt mit Plopp-Out

Die Regeln von Vier Gewinnt

Ziel des Spiels

Jeder Spieler erhält Spielchips in einer jeweiligen Farbe. Diese werden daraufhin abwechselnd von oben in das Spielbrett geworfen. Ziel des Spiels ist es, vier seiner eigenen Steine in einer waagerechten, senkrechten oder diagonalen Reihe zu positionieren. Hat man das geschafft, gewinnt man das Spiel (wie im Bild unten zu sehen). Es gilt hierbei also sowohl den eigenen Erfolg voranzutreiben, als auch die Chancen des Gegners zu vereiteln. 

Ist das gesamte Spielfeld mit Steinen belegt, endet das Spiel unentschieden. 

Der zusätzliche Modus “Plopp-Out”

Sollten beide Spieler mit dieser Regel einverstanden sein, kann das Spiel um den Modus “Plopp-Out” erweitert werden. Das bedeutet, dass jeder Spieler vor seinem Zug entscheiden kann, ob er einen neuen Stein einwirft oder einen seiner Steine in der untersten Reihe herausdrückt. Dadurch fallen die darüberliegenden Steine nach unten und es wird eine komplett neue Spielsituation geschaffen. Dieser Modus erfordert eine wesentlich höhere Konzentration, da die Anzahl der Möglichkeiten stark erhöht wird. 

Diese zusätzliche Option sorgt außerdem dafür, dass das Spiel bei einem Unentschieden nicht beendet ist. Die Steine können dann herausgeploppt und wieder eingeworfen werden, bis sich ein Sieger findet. 

Plopp-10

Aus dem Plopp-Out-Modus ergeben sich neue Möglichkeiten zur individuellen Gestaltung des Spiels. So lässt sich beispielsweise ein Plopp-10-Spiel spielen, in dem die Spieler zu Beginn abwechselnd Steine in das Spielfeld werfen, bis dieses komplett gefüllt ist und anschließend versuchen, eine Viererreihe mithilfe des Plopp-Out-Modus zu erzielen.

Spielregeln innerhalb der App

Im Online-Modus der App wird eine Spielregel hinzugefügt, die man so wahrscheinlich aus der Realität nicht kennt. Jedes Spiel wird hier um eine Anzahl Spielchips ausgetragen. Der Gewinner bekommt die gebotenen Spielchips des Verlierers. Doch sei gewarnt – an dieser Stelle kommt eine zusätzliche Regel ins Spiel. Die Chips, um die du spielst sind keineswegs nur eine gewöhnliche Währung wie Münzen oder Gold, sondern es sind im wahrsten Sinne des Wortes die Chips, die du in einem Spiel in das Feld einwirfst. Vor jedem Spiel wird daher erfasst wie viele Spielchips du noch auf deinem Konto hast und dann nach jedem eingeworfenen Chip einer abgezogen. Sobald du keine Chips mehr zum spielen besitzt, verlierst du automatisch. Die Chips, die du während des Spiels einwirfst, werden danach deinem Konto wieder gutgeschrieben. Es ist daher also immer wichtig darauf zu achten, wie viele Spielchips du für ein Spiel noch zur Verfügung hast. Besitzt du 21 oder mehr Spielchips, kannst du auf jeden Fall ein komplettes Spiel spielen, da das Feld nur über 42 Plätze verfügt. Wenn du die Plopp-Out-Funktion nutzt, wird dir außerdem einer deiner eingeworfenen Chips wieder gutgeschrieben und du kannst ihn erneut einwerfen.

Wenn du mal an Spielchip-Armut leidest – keine Sorge – du bekommst jeden Tag beim ersten Einloggen entweder Chips oder Punkte geschenkt. Zusätzlich wird dir angeboten ein kostenloses Video zu schauen, um deinem Konto 20 Chips hinzuzufügen. Diese Option wird dir zusätzlich im Profil-Bildschirm angeboten.

Die "künstliche Intelligenz"

Zu einer guten Vier Gewinnt-App gehört natürlich ein Einzelspielermodus mit einer soliden künstlichen Intelligenz. Warum “solide”? Nun ja, ich denke kein Spieler möchte dauerhaft gegen eine KI gewinnen oder verlieren und genau das ist der schwierige Punkt des Ganzen. Man kann einen perfekten Spieler erschaffen, der jedes einzelne Spiel gewinnt, oder einen Spieler, der einfach immer versucht die vier Steine aneinander zu reihen, dabei aber überhaupt nicht auf die Steine des Gegners achtet. Natürlich ist das, was wir Spieler als zu schwach oder zu stark empfinden eine subjektive Einschätzung. Je nach Spielstärke des App-Nutzers kann natürlich auch eine fast perfekte KI als schwach angesehen werden. Im folgenden Abschnitt werde ich dir beschreiben, wie ich die KI programmiert habe.

Min-Max-Algorithmus

Überraschung, Überraschung! Ja, hinter der “KI” von Vier Gewinnt steckt auch der Algorithmus, der des Öfteren für Spiele wie Schach, Dame oder Mühle hergenommen wird. Dahinter steckt also keine wirkliche KI, wie man sie aus Bereichen des maschinellen Lernens kennt.

Der Algorithmus schlüsselt die möglichen Züge, die ein Spieler machen kann, in einer Baumstruktur auf. Dafür wird ihm zuvor vorgegeben, bis zu welcher Tiefe er das tun soll. Die Tiefe beschreibt also den Schwierigkeitsgrad. Bei einer Tiefe von zwei simuliert die KI also zuerst all seine möglichen Züge (im Normalfall sieben) in der ersten Ebene und die darauf folgenden möglichen Züge des Spielers in der zweiten Ebene. Weiter simuliert er das Spiel nicht, da die Tiefe mit zwei angegeben wurde und somit nur zwei Ebenen betrachtet werden. Bei jeweils sieben möglichen Zügen pro Spieler ergeben sich also 7*7=49 Möglichkeiten, wie die beiden Spielsteine platziert werden können. Danach bewertet der Algorithmus jede der 49 Situationen und überprüft somit, welche für ihn am besten aussieht. Dafür habe ich zuvor jedes Feld mit einer festen Bewertung versehen, die in die Berechnungen des Algorithmus mit eingehen. Natürlich kann auch das “unwichtigste” Feld zu einem wichtigen werden, wenn ein dort platzierter Stein eine Viererreihe komplettiert. Jede simulierte Spielsituation bekommt also eine individuelle Bewertung. In der folgenden Abbildung ist dieser Sachverhalt für den Fall dargestellt, dass man pro Zug nur drei statt sieben Zugmöglichkeiten besitzt und es wird von einer Tiefe von zwei ausgegangen.

In dieser Situation gehen die Bewertungen in der unteren Reihe hervor. Wie diese Bewertungen zustande kommen, ist dem Programmierer überlassen. Die Werte –∞ und  bezeichnen eine Spielsituation, in der einer der beiden Spieler gewonnen hat. 

Daraufhin wird das Baumdiagramm von unten nach oben abgearbeitet. In diesem Schritt zeigt sich, warum der Algorithmus seinen Namen trägt. Der Zugspieler wählt nun jeweils den kleinsten oder größten Wert in seiner Spalte aus und gibt diesen an den anderen Spieler weiter. In der Abbildung wählt der Computer immer den maximalen Wert und der Spieler den minimalen. Daher wird eine Viererreihe des Spielers auch mit –∞ bewertet und analog dazu die Viererreihe des Computers mit . Das wird dann solange durchgeführt, bis der obere Punkt des Baums erreicht ist und eine Bewertung vorliegt. Den daraus resultierenden Zug führt der Computer dann aus. Zur Veranschaulichung ist dieser Sachverhalt in der folgenden Abbildung dargestellt:

In diesem Fall würde der Computer also den Zug in der rechten Spalte ausführen, da dieser mit einem Wert von zwei die höchste Bewertung seiner möglichen Züge erzielt. Dieser Algorithmus lässt sich bei allen Zwei-Spieler-Nullsummenspielen anwenden, wie zum Beispiel bei Schach, Dame, Mühle oder eben Vier Gewinnt.

Alpha-Beta-Schnitt

Der Min-Max-Algorithmus funktioniert hervorragend, um Vier Gewinnt erfolgreich zu spielen. Bei der Programmierung einer KI kommt es allerdings auf mehrere Faktoren an und nicht nur auf die Funktion. So spielt auch die Performance eine wichtige Rolle. Um diese zu verbessern, kommt der sogenannte Alpha-Beta-Cut ins Spiel. Dieser dient zur Erleichterung des Min-Max-Algorithmus, indem unwichtige Pfade eliminiert werden, die keinen höheren bzw. niedrigeren Wert mehr erreichen können. Das bisherige Baumdiagramm verändert sich also wie folgt:

Wie du sehen kannst, bleibt das Ergebnis das gleiche. Die rot eingezeichneten Pfade werden allerdings vom Programm gar nicht mehr beachtet, was die Rechenzeit in der Realität stark verringern kann. Was hier in diesem Modell lediglich zwei kleine Pfade sind, können im realen Diagramm von Vier Gewinnt ganze Pfadstrukturen sein, die vom Programm nicht mehr berechnet werden müssen. Doch wieso ist das so?

Der Baum wird von links nach rechts abgearbeitet, bis alle Züge berechnet wurden und der beste Zug bestimmt werden kann. Zuerst wird also der komplette linke Pfad aufgelöst und eine Bewertung von -3 berechnet. Da in der oberen Ebene der maximale Wert gewählt wird, kann also im zweiten und dritten Pfad jedes Ergebnis ignoriert werden, welches größer als -3 ist. In der unteren Ebene wird der minimale Wert weitergegeben. Sollte also eine der Bewertungen im mittleren und rechten Pfad kleiner sein als -3, müssen die darauffolgenden Bewertungen nicht beachtet werden. Im Beispiel ist der erste Wert im mittleren Pfad –, was einem kleineren Wert als -3 entspricht. Das bedeutet, dass egal wie groß die folgenden Bewertungen in diesem Pfad sein mögen, der weitergegebene Wert immer kleiner als -3 ist und somit in der oberen Zeile nicht beachtet wird.

1 comment

Hmm it appears like your site
ate my first comment (it was super long) so I
guess I’ll just sum it up what I had written and say,
I’m thoroughly enjoying your blog.
I too am an aspiring blog writer but I’m still new to the whole
thing. Do you have any tips and hints
for newbie blog
writers? I’d certainly appreciate it.

Leave a Reply

Your email address will not be published. Required fields are marked *