Zum Inhalt springen

Connect four principiae: Unterschied zwischen den Versionen

Schematron (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
+kat
Zeile 1: Zeile 1:
[http://de.wikipedia.org/wiki/Vier_gewinnt Vier Gewinnt] ist ein simples Brettspiel, bei dem zwei Spieler vier Steine in eine Reihe bekommen müssen -- ähnlich wie bei [http://de.wikipedia.org/wiki/Tic_Tac_Toe Tic-Tac-Toe]. Aber:
''[[wde:Vier_gewinnt|Vier gewinnt]]'' ist ein simples Brettspiel, bei dem zwei Spieler vier Steine in eine Reihe bekommen müssen -- ähnlich wie bei [[wde:Tic_Tac_Toe|Tic-Tac-Toe]]. Aber:


* Vier Gewinnt spielt man auf einem 7 x 6 großen Brett (Tic-Tac-Toe: 3 x 3)
* ''Vier gewinnt'' spielt man auf einem 7 x 6 großen Brett (Tic-Tac-Toe: 3 x 3)
* Bei Vier Gewinnt 'fallen' die Steine auf unbesetzte Felder (bei Tic-Tac-Toe kann man seine Steine auf jedes freie Feld setzen)
* Bei ''Vier gewinnt'' 'fallen' die Steine auf unbesetzte Felder (bei Tic-Tac-Toe kann man seine Steine auf jedes freie Feld setzen)
* Bei Vier Gewinnt muss man vier Steine in eine Reihe bekommen (bei Tic-Tac-Toe nur drei Steine)
* Bei ''Vier gewinnt'' muss man vier Steine in eine Reihe bekommen (bei Tic-Tac-Toe nur drei Steine)


Die genauen Regeln stehen in [http://de.wikipedia.org/wiki/Vier_gewinnt#Regeln Wikipedia]:  
Die genauen Regeln stehen in der [[wde:Vier_gewinnt#Regeln|Wikipedia]]:  


"Computerisierung" bedeutet hier nicht nur, dass ein Programm das Brett aufzeichnet und die Spielregeln verkörpert, sondern auch, dass es einen interessanten Gegner bietet. Dieser Wiki-Artikel erklärt eine simple Methode zur Konstruktion eines solchen Computerprogramms. '''Achtung''': Vier Gewinnt ist ein gelöstes Spiel, d.h. es gibt Programme, die ''immer'' gewinnen, weil sie alles über das Spiel wissen und einen Sieg vom ersten Zug weg erzwingen können. (Zieht der Mensch zuerst, kann der Computer ein Unentschieden erzwingen.) Die hier erklärte Methode ist keine solche Ausführung, liefert aber gute Resultate -- sogar auf kleinen (= 8-bit) Computern.
"Computerisierung" bedeutet hier nicht nur, dass ein Programm das Brett aufzeichnet und die Spielregeln verkörpert, sondern auch, dass es einen interessanten Gegner bietet. Dieser Wiki-Artikel erklärt eine simple Methode zur Konstruktion eines solchen Computerprogramms. '''Achtung''': ''Vier gewinnt'' ist ein gelöstes Spiel, d.h. es gibt Programme, die ''immer'' gewinnen, weil sie alles über das Spiel wissen und einen Sieg vom ersten Zug weg erzwingen können. (Zieht der Mensch zuerst, kann der Computer ein Unentschieden erzwingen.) Die hier erklärte Methode ist keine solche Ausführung, liefert aber gute Resultate -- sogar auf kleinen (= 8-bit) Computern.


== Gewinnen = Finden ==
== Gewinnen = finden ==


Vier Gewinnt ist ein Strategiespiel. Um zu gewinnen, muss man  
''Vier gewinnt'' ist ein Strategiespiel. Um zu gewinnen, muss man  
* die möglichen zukünftigen Züge im Geist durchgehen
* die möglichen zukünftigen Züge im Geist durchgehen
* dann überlegen welche Konsequenzen die einzelnen Züge haben, d.h. weiter in die Zukunft denken
* dann überlegen welche Konsequenzen die einzelnen Züge haben, d.h. weiter in die Zukunft denken
* einen Zug wählen, der für die Zukunft strategische Vorteile schafft, d.h. unter den möglichen Zügen den vorteilhaftesten auswählen
* einen Zug wählen, der für die Zukunft strategische Vorteile schafft, d.h. unter den möglichen Zügen den vorteilhaftesten auswählen


Da das Vier Gewinnt-Brett ("grid") sieben Spalten ("columns") zum Einwerfen hat, stehen beide Spieler für jeden Zug ("ply") vor (höchstens) sieben Möglichkeiten:  
Da das ''Vier gewinnt''-Brett ("grid") sieben Spalten ("columns") zum Einwerfen hat, stehen beide Spieler für jeden Zug ("ply") vor (höchstens) sieben Möglichkeiten:  


[[File:C4-opening-choices.png|Für jeden Zug höchstens sieben Möglichkeiten]]
[[File:C4-opening-choices.png|Für jeden Zug höchstens sieben Möglichkeiten]]
Zeile 166: Zeile 166:


Jener Teil der Software, der einer bestimmten Situation am Brett einen Wert zuordnet, heißt der "statische Evaluator" (static evaluator). Wir brauchen einen besseren statischen Evaluator, der ein Gefühl dafür hat, welche Bretter näher dran sind am Sieg und daher mehr wert -- oder weniger, wenn sie näher dran sind am Sieg des Menschen. (Wie gesagt, wir betrachten die Werte aus der Perspektive des Computers.)
Jener Teil der Software, der einer bestimmten Situation am Brett einen Wert zuordnet, heißt der "statische Evaluator" (static evaluator). Wir brauchen einen besseren statischen Evaluator, der ein Gefühl dafür hat, welche Bretter näher dran sind am Sieg und daher mehr wert -- oder weniger, wenn sie näher dran sind am Sieg des Menschen. (Wie gesagt, wir betrachten die Werte aus der Perspektive des Computers.)
[[Kategorie:Gamedev]]