lehrkraefte:snr:informatik:ff25

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:ff25 [2025/09/21 21:53] – [Turtle-Graphik selbst schreiben: Zuerst naiv, dann objektorientiert] Olaf Schnürerlehrkraefte:snr:informatik:ff25 [2025/12/15 12:26] (current) – [Strategiespielprogrammierung (Minimax, Alpha-Beta-Suche)] Olaf Schnürer
Line 1: Line 1:
 ~~NOTOC~~ ~~NOTOC~~
 +
 +  * https://wettbewerb.informatik-biber.ch/
 +  * https://www.informatik-biber.ch/documents/tutorials/schueleranleitung.pdf
 +
  
 Schweizer Mathematik- und Informatik-Olympiaden starten bald (1. September) Schweizer Mathematik- und Informatik-Olympiaden starten bald (1. September)
Line 11: Line 15:
  
  
 +  * Vortrag, den ich einmal zu neuronalen Netzen gehalten habe: {{ :lehrkraefte:snr:informatik:freifach-2025:neuronale-netze.pdf |}}
 +
 +===== Strategiespielprogrammierung (Minimax, Alpha-Beta-Suche) =====
 +
 +  * Vorlage: {{ :lehrkraefte:snr:informatik:freifach-2025:minischach-vorlage.py |}}
 +  * Lösung: {{ :lehrkraefte:snr:informatik:freifach-2025:minischach.py |}}
 +
 +  * Vorlage: {{ :lehrkraefte:snr:informatik:freifach-2025:vorlage-minischach-per-minimax.py |}}
 +  * Lösung: {{ :lehrkraefte:snr:informatik:freifach-2025:musterloesung-minischach-per-minimax.py |}}
 +
 +Video zum Minimax-Algorithmus:
 +https://www.youtube.com/watch?v=l-hh51ncgDI
 +
 +Suchbaum auf Wikipedia, der die $\alpha$-$\beta$-Suche gut erklärt (auch drumherum lesen! Dahinter ist auch der Algorithmus in Pseudocode, den man kopieren mag):
 +
 +https://de.wikipedia.org/wiki/Alpha-Beta-Suche#Der_Algorithmus
 +
 +Fragen:
 +  * Wie viele Stellungen werden bei Minimax bewertet? Bei Minimiax mit alpha-beta-pruning?
 +  * Kann man dies noch verbessern, indem man zuerst erfolgversprechendere Züge berechnet?
 +  * Wer gewinnt stets beim 3x3-Schach? Wer beim 3x4-Schach? Wer beim 4x4-Schach etc.
 +  * Bei grösseren Spielfeldern braucht das Berechnen des komplessen Spielbaums sehr lange. Finde gute Bewertungsfunktionen, die in gewisser Suchtiefe abbrechen.
 +  * Programmiere ein anderes (kleines) Spiel, etwa Tic-Tac-Toe oder ein kleines 4-gewinnt oder Nim oder ...
 ====== Turtle-Graphik selbst schreiben: Zuerst naiv, dann objektorientiert ====== ====== Turtle-Graphik selbst schreiben: Zuerst naiv, dann objektorientiert ======
  
Line 22: Line 49:
     * erstelle Funktionen ''vorwaerts'', ''rueckwaerts'', ''links'', ''rechts'', ''stifthoch'', ''stiftrunter'', ''setze_farbe'', ''setze_dicke'' etc., mit denen du auf das svg zeichnest. (Du musst die Position und die Blickrichtung der Schildkroete speichern, und zusätzlich ...; eventuell Trigonometrie erklären.)     * erstelle Funktionen ''vorwaerts'', ''rueckwaerts'', ''links'', ''rechts'', ''stifthoch'', ''stiftrunter'', ''setze_farbe'', ''setze_dicke'' etc., mit denen du auf das svg zeichnest. (Du musst die Position und die Blickrichtung der Schildkroete speichern, und zusätzlich ...; eventuell Trigonometrie erklären.)
     * Mögliche Lösung: {{ :lehrkraefte:snr:informatik:freifach-2025:schildkroete-direkt.py |}}     * Mögliche Lösung: {{ :lehrkraefte:snr:informatik:freifach-2025:schildkroete-direkt.py |}}
-    * Als Vorbereitung zu den nachfolgenden Aufgaben: +    * Als Vorbereitung zu den nachfolgenden Aufgaben (versuche, die Programme selbst zu verstehen; vielleicht besser, die Ideen mündlich zu erklären)
-      * {{ :lehrkraefte:snr:informatik:freifach-2025:schueler-mit-direkt.py |}}   +      * {{ :lehrkraefte:snr:informatik:freifach-2025:schueler-direkt.py |}}   
       * {{ :lehrkraefte:snr:informatik:freifach-2025:schueler-mit-dictionary.py |}}          * {{ :lehrkraefte:snr:informatik:freifach-2025:schueler-mit-dictionary.py |}}   
       * {{ :lehrkraefte:snr:informatik:freifach-2025:schueler-objektorientiert.py |}}          * {{ :lehrkraefte:snr:informatik:freifach-2025:schueler-objektorientiert.py |}}   
     * Fusioniere deine Schildkrötdaten in ein Dictionary.        * Fusioniere deine Schildkrötdaten in ein Dictionary.   
-    * Fusioniere deine Funktionen in ein Objekt ''Schildkroete'' (dazu diverses zu objektorientiertem Programmieren erklären).+    * Fusioniere deine Funktionen in ein Objekt ''Schildkroete'' (dazu Diverses zu objektorientiertem Programmieren erklären).
  
 +<!--
 Musterlösungen: Musterlösungen:
   * {{ :lehrkraefte:snr:informatik:freifach-2025:schildkroete-mit-dictionary.py |}}      * {{ :lehrkraefte:snr:informatik:freifach-2025:schildkroete-mit-dictionary.py |}}   
   * {{ :lehrkraefte:snr:informatik:freifach-2025:schildkroete-objektorientiert.py |}}      * {{ :lehrkraefte:snr:informatik:freifach-2025:schildkroete-objektorientiert.py |}}   
 +-->
 ====== Sortieren ====== ====== Sortieren ======
  
  • lehrkraefte/snr/informatik/ff25.1758491595.txt.gz
  • Last modified: 2025/09/21 21:53
  • by Olaf Schnürer