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-21 13:55] – [Links] owncloud link enternt. marco.bakeraschule:vier_gewinnt [2024-01-03 10:04] (aktuell) – [Speicherbedarf abschätzen] pintman
Zeile 9: Zeile 9:
   - Kann kein Spieler vier Steine in eine Reihe bringen und sind alle Spalten belegt, so endet das Spiel unentschieden.   - Kann kein Spieler vier Steine in eine Reihe bringen und sind alle Spalten belegt, so endet das Spiel unentschieden.
  
-===== Spezifikation =====+===== Auftrag =====
  
-  In einem [[Lastenheft und Pflichtenheft|Pflichtenheft]] legen wir die Eigenschaften fest, die realisiert werden sollenErstelle ein Pflichtenheft und halte dort die wichtigen Aspekte für ein Vier-Gewinnt-Spiel fest.+Erstelle ein Vier-Gewinnt-Spieldas über die Konsole von zwei Spielern gespielt werden kannOptional kann das Spiel auch über eine GUI gespielt werden. Programmiere einen KI-Gegner, der gegen einen menschlichen Spieler antreten kann. Der KI-Gegner soll wahlweise zuerst oder als zweiter Spieler das Spiel beginnen.
  
-===== GUI ===== 
  
-  - Entwickle einen Entwurf für die Benutzeroberfläche des Spiels.+===== Meilensteine =====
  
-===== Modellierung ===== +  - 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 Klassenmodell und zeichne ein [[Klassendiagramm]]
-  - Entwickle ein Klassemodell und zeichne ein Klassendiagramm. +  - Stelle den ersten Zug in einem [[Sequenzdiagramm]] dar. Nutze die Methoden der Klassen aus dem Klassendiagramm
-  - Stelle die Gewinnüberprüfung in einem Aktivitätsdiagramm dar. +  - Stelle die Methode, welche die Gewinnüberprüfung realisiert, in einem [[Aktivitätsdiagramm]] dar. 
-  - Stelle einen Zug in einem Sequenzdiagramm dar. +  - Entwickle einen Entwurf für die Benutzeroberfläche des Spiels - Konsole oder GUI. 
- +  - Setze den Entwurf der grafischen Oberfläche mit der Konsole, [[https://sw101.tbs1.de/pysimplegui/|PySimpleGUI]] oder [[https://sw101.tbs1.de/guizero/|guizero]] um. 
-===== Implementierung ===== +  - Setze die Gewinnbedingung und Spiellogik in einem Programm um
-  - Setze die Modellierung in Quelltext um.+  - Ergänze das Spiel um einen Computergegner.
  
 ===== Computergegner ===== ===== Computergegner =====
Zeile 31: Zeile 30:
  
 {{ :schule:prog:connectfour-strategy.png?direct&200|Visualisierung einer perfekten Gewinnstrategie}} {{ :schule:prog:connectfour-strategy.png?direct&200|Visualisierung einer perfekten Gewinnstrategie}}
-  - Erweitere das Spiel um einen Computergegner.+
   - Gegner 1: Er wirft zufällig in ein beliebige Spalte.   - 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 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.
Zeile 37: Zeile 36:
   - Gegner 4: Kannst du dir eine weitere Strategie für eine "intelligenten" Computergegner ausdenken?   - 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?   - 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 ====
  
 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. 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.
 +
 +==== KI und die Zukunft ====
  
 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. 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.
 +
 +==== Historie ====
  
 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. 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 müssen vielleicht auch moralische Entscheidungen treffen. Die [[http://moralmachine.mit.edu|moral machine]] zeigt, wie derartige Entscheidungen aussehen können.+==== Fundstücke ==== 
 + 
 +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://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. 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.
 +
 +===== Speicherbedarf abschätzen =====
 +
 +In dem Video [[https://web.microsoftstream.com/video/2ca7d934-1570-4272-be9a-c721da1f54f7|Speicherbedarf abschätzen]] (nur mit einem entsprechenden [[edu:Office365]]-Account abrufbar) wird die Frage nach dem Speicherbedarf eines oder mehrerer Spielbretter erörtert.
 +
 ===== Links ===== ===== Links =====
  
   * [[https://xkcd.com/832/|xkcd-Comic mit einer optimalen Strategie für Tic-Tac-Toe]]   * [[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]].+  * Berechnung der [[https://de.wikipedia.org/wiki/Elo-Zahl|ELO-Zahl]].
   * [[vier_gewinnt_perlenspiel|Kommentierte Javascript-Implementierung von Vier Gewinnt]]   * [[vier_gewinnt_perlenspiel|Kommentierte Javascript-Implementierung von Vier Gewinnt]]
 +
 +
schule/vier_gewinnt.1576932931.txt.gz · Zuletzt geändert: 2019-12-21 13:55 von marco.bakera