Schweizer Mathematik- und Informatik-Olympiaden starten bald (1. September)
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:
(Aus der Vorlage kannst du auch lernen, wie man mit einem Python-Programm etwas in eine Datei schreibt.)
Aufgaben:
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.)Schildkroete (dazu Diverses zu objektorientiertem Programmieren erklären).
Wiederhole, bis sortiert:
(Sortieren durch Aufsteigen (man denkt an Blasen = bubbles, die in einer Flüssigkeit aufsteigen, siehe Animation). Kurzbeschreibung: Man vergleicht nacheinander jedes Element der Liste mit seinem Nachfolger und vertauscht die beiden Elemente, wenn sie in der falschen Reihenfolge stehen. Dies wiederholt man so lange, bis die gesamte Liste sortiert ist.)
Sei $n$ die Länge der zu sortierenden Liste.
Wiederhole $n$ Mal (oder so lange, bis keine Vertauschung mehr stattgefunden hat:
(Sortieren durch Auswählen. Kurzbeschreibung: Man wählt nacheiander das jeweils kleinste Element aus den noch nicht ausgewählten Elementen.)
Sei $n$ die Länge der zu sortierenden Liste.
Suche das kleinste Element der Liste und tausche es an Position 0.
Suche ab Position 1 das kleinste Element der Liste und tausche es an Position 1.
Suche ab Position 2 das kleinste Element der Liste und tausche es an Position 2.
…
Suche ab Position $n-2$ das kleinste Element der Liste und tausche es an Position $n-2$.
(Unnötig:) Suche ab Position $n-1$ das kleinste Element der Liste und tausche es an Position $n-1$.
(Sortieren durch Einfügen. Kurzbeschreibung: Man fügt nacheinander alle Elemente an der richtigen Position im bisher sortierten Teil ein.)
Man stelle sich vor, dass die zu sortierende Liste aus (Spiel-)Karten besteht, die verdeckt in einer Reihe liegen.
Man deckt die erste Karte auf. Dann ist die Liste der aufgedeckten Karten offensichtlich sortiert.
Man deckt dann die nächste Karte auf. Man lässt sie durch Vertauschungen so lange jeweils eine Position nach vorne rücken, bis sie an der richtigen Position liegt, so dass die Liste der aufgedeckten Karten sortiert ist.
Man wiederholt den vorherigen Schritt so lange, bis keine Karte mehr verdeckt daliegt.
original (RGB):
bemalt:
Graustufen:
Graustufen, invertiert:
SW-Version:
SW-Version, invertiert:
Negativ:
RGB-Farbrotation:
gespiegelt:
rotiertes Bild:
Verpixelt/unscharf:
Laplace-Kantendetektion:
Wärmeleitungsgleichung (mit konstanten Randwerten; gif-Datei):
Programmiere (aufbauend auf den bisherigen Programmen; eventuell ist es eine gute Idee, alles einmal selbst einzutippen, damit man merkt, welcher Befehl was tut; als Vorlage dürfen natürlich die bisher erstellten Programme verwendet werden):


siehe Abschnitt https://fginfo.ksbg.ch/dokuwiki/doku.php?id=lehrkraefte:snr:informatik:ff25#fuer_fortgeschrittene2 unten
In VS Code das Terminal öffnen und dort pip install pygame eingeben.
Die neue Temperatur $T_{\text{neu}}(x,y)$ an einer Position $(x, y)$ berechnet sich in jedem Zeitschritt wie folgt aus den alten Temperaturen; dabei ist $\gamma$ eine Konstante (siehe Vorlage), die für numerische Stabilität sorgt:
$$T_{\text{neu}}(x,y)=T_{\text{alt}}(x,y) + \gamma \cdot \Big(\big(T_{\text{alt}}(x-1,y)-2T_{\text{alt}}(x,y)+T_{\text{alt}}(x+1,y)\big) + \big(T_{\text{alt}}(x,y-1)-2T_{\text{alt}}(x,y)+T_{\text{alt}}(x,y+1)\big)\Big)$$
(Dies ist die Diskretisierung der Wärmeleitungsgleichung $\frac{\partial u}{\partial t} = \Delta u$.)
a = [[1,1], [1,1]] print(a) print(a[0][0]) a[0][0] = 42 print(a) b = 2 * [2 * [1]] print(b) print(b[0][0]) b[0][0] = 42 print(b)