Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:vier_gewinnt

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
schule:vier_gewinnt [2019-12-24 13:40] – [Computergegner] marco.bakeraschule:vier_gewinnt [2025-01-04 13:38] (aktuell) pintman
Zeile 1: Zeile 1:
-====== Vier Gewinnt ====== +Verschoben nach [[edu:vier gewinnt]]
-{{:schule:prog:connect_four.gif?nolink|}} +
- +
-===== Regeln ===== +
- +
-  - Auf einem Feld aus 7 Spalten und 6 Zeilen werfen zwei Spieler abwechselnd einen Stein in eine noch nicht belegte Spalte.  +
-  - Der Stein fällt nach unten bis er auf einen anderen Stein oder den Boden trifft. +
-  - Sobald ein Spieler eine Reihe aus vier ununterbrochenen Steinen bildet (waagerecht, senkrecht oder diagonal), gewinnt er das Spiel. +
-  - Kann kein Spieler vier Steine in eine Reihe bringen und sind alle Spalten belegt, so endet das Spiel unentschieden. +
- +
-===== Meilensteine ===== +
- +
-  - In einem [[Lastenheft und Pflichtenheft|Pflichtenheft]] werden die Eigenschaften festgehalten, die realisiert werden sollen. Erstelle ein Pflichtenheft und halte dort die wichtigen Aspekte für ein Vier-Gewinnt-Spiel fest. +
-  - Entwickle ein Klassemodell und zeichne ein [[Klassendiagramm]]. +
-  - Stelle die Gewinnüberprüfung in einem [[Aktivitätsdiagramm]] dar. +
-  - Stelle einen Zug in einem [[Sequenzdiagramm]] dar. +
-  - Entwickle einen Entwurf für die Benutzeroberfläche des Spiels. +
-  - Setze den Entwurf der grafischen Oberfläche mit [[https://sw101.tbs1.de/pysimplegui/|PySimpleGUI]] oder [[https://sw101.tbs1.de/guizero/|guizero]] um. +
-  - Setze die Gewinnbedingung in einem Programm um. +
-  - Ergänze das Spiel um einen Computergegner. +
- +
-===== Computergegner ===== +
- +
-Es ist spannend gegen einen anderen Menschen zu spielen. Aber können wir auch einen Computergegner entwickeln? [[wp>Victor Allis]] beschrieb in seiner Masterarbeit, wie ein perfekter Computerspieler aussehen kann. Das Verfahren ist nicht ganz einfach. Daher wollen wir zunächst probieren, einen Gegner zu programmieren, der vielleicht nicht perfekt aber doch möglichst gut spielen kann. +
- +
-{{ :schule:prog:connectfour-strategy.png?direct&200|Visualisierung einer perfekten Gewinnstrategie}} +
- +
-  - Gegner 1: Er wirft zufällig in ein beliebige Spalte. +
-  - Gegner 2: Der Gegner bewertet die unterschiedlichen Stellungen, die sich nach einem Einwurf ergeben und wirft in die Spalte mit dem besten Zug. Ein 3er im nächsten Zug ist z.B. besser als ein Zug, in dem kein 3er entsteht. +
-  - Gegner 3: Für jede Spalte werden zufällig 100 Spiele gespielt und geschaut, wie oft das Spiel aus dieser Stellung heraus gewonnen werden kann. Die Spalte mit den meisten Gewinnen wird dann gewählt.((Das Verfahren ist eine Form der [[wpde>Monte-Carlo-Simulation]].)) +
-  - Gegner 4: Kannst du dir eine weitere Strategie für eine "intelligenten" Computergegner ausdenken? +
-  - Der  {{:schule:prog:sweetlearningcomputerguidev2-1.pdf|Sweet Learning Computer}}((Quelle: https://teachinglondoncomputing.org/the-sweet-learning-computer/)) ist ein einfacher "Computer", der mit Hilfe von Süßigkeiten lernt, ein einfaches Spiel zu spielen, das an Tic-Tac-Toe erinnert. Versuche, die Regeln zu verstehen und bringe dem Computer das Spiel bei. Lässt sich diese Strategie auch für das Vier Gewinnt Spiel übertragen? +
- +
-Neuronale Netze lösen viele Versprechen an künstliche Intelligenzen ein. So funktioniert auch die Bildersuche von Google auf Grundlage eines neuronales Netzes. Den Lernprozess haben die Entwickler von Google in einem beeindruckenden [[https://www.youtube.com/watch?v=X0oSKFUnEXc|Video]] festgehalten. +
- +
-Und was kommt nach den künstlichen Intelligenzen? Kommen irgendwann Systeme, die klüger sind als der Mensch - vielleicht sogar klüger als alle Menschen zusammen? Und wann ist es soweit? Der Artikel [[http://waitbutwhy.com/2015/01/artificial-intelligence-revolution-1.html|The AI Revolution: The Road to Superintelligence]] beschreibt interessante Erkenntnisse aus dem Bereich der künstlichen Super-Intelligenzen und dem, was danach kommt. Bisher sehen die Ergebnisse noch wenig vielversprechend aus, wie das Beispiel des Kurzfilms [[https://www.youtube.com/watch?v=LY7x2Ihqjmc|Sunspring]] zeigt. Dessen Drehbuch wurde von einer KI aufbauend auf einem neuronalen Netz geschrieben. +
- +
-Bereits 1950 gab es erste Ansätze des Maschinenlernens. Claude Shannon zeigt in dem Video [[https://www.youtube.com/watch?v=vPKkXibQXGA|Claude Shannon demonstrates machine learning]], wie eine mechanische Maus mit einfachen Schaltungen ein Labyrinth erkunden kann. +
- +
-Systeme bzw. deren Entwickler müssen vielleicht auch moralische Entscheidungen treffen. Die [[http://moralmachine.mit.edu|moral machine]] zeigt, wie derartige Entscheidungen aussehen können. +
- +
-Ein [[http://dilbert.com/strip/2016-06-24|Dilbert Comic]] zeigt, wie er eine künstliche Intelligenz geschaffen wurde, die einer menschlichen Intelligenz erschreckend nah kommt. +
- +
-Ein [[http://www.piandchips.co.uk/uncategorized/4-bot-a-raspberry-pi-connect-4-robot/|Vier Gewinnt spielender Roboter]], der von einem [[Raspberry Pi]] angesteuert wird. +
- +
-===== Links ===== +
- +
-  * [[https://xkcd.com/832/|xkcd-Comic mit einer optimalen Strategie für Tic-Tac-Toe]] +
-  * Berechnung der [[https://de.m.wikipedia.org/wiki/Elo-Zahl|ELO-Zahl]]. +
-  * [[vier_gewinnt_perlenspiel|Kommentierte Javascript-Implementierung von Vier Gewinnt]] +
- +
schule/vier_gewinnt.1577191227.txt.gz · Zuletzt geändert: 2019-12-24 13:40 von marco.bakera