In diesem Beitrag wird der Hamming-Code zunächst mit sieben Münzen und ohne Computer aufgebaut und praktisch erprobt. Dabei lernst du, wie Prüfbits Fehler in einer übertragenen Bitfolge erkennen und die fehlerhafte Position bestimmen können. Anschließend wird das Verfahren in einem Jupyter Notebook mit Python programmiert.
(mehr …)Python
-

Daten komprimieren mit Köpfchen (Teil 2) – Huffman-Code in Python umsetzen
Im ersten Teil wurde am Beispiel von KAFFEEPAUSE gezeigt, wie der Huffman-Algorithmus anhand von Zeichenhäufigkeiten einen Binärbaum erstellt und daraus platzsparende, eindeutige Codes gewinnt. Die Grundlagen werden in Teil 1 auf ffritze.de ausführlich erklärt.
In diesem zweiten Teil wird der Huffman-Algorithmus in Python implementiert und in einem Jupyter Notebook schrittweise nachvollzogen. Dabei steht nicht nur das fertige Programm im Mittelpunkt. Die einzelnen Datenstrukturen und Verarbeitungsschritte werden sichtbar gemacht, sodass der Aufbau des Huffman-Baums und die Erzeugung der Codes direkt ausprobiert werden können.
(mehr …) -

TicTacToe Menace: Der lernende Gegner
Willkommen zu TicTacToe Menace: Der lernende Gegner! In dieser App spielst du gegen einen Computergegner, der auf dem Menace Streichholzschachtelrechner basiert – einem Beispiel für Reinforcement Learning.
Die Besonderheit: Die Lerntabelle kann sowohl lokal als auch in einer MySQL-Datenbank gespeichert werden, sodass der Gegner von mehreren Spielern gleichzeitig lernen kann!
(mehr …) -

Abstrakte Datentypen in der Schule: Python-Implementierungen zum Download
In Niedersachsen werden in der Schule verschiedene abstrakte Datentypen wie Stack, Queue, dynamisches Array und Binärbaum behandelt. Die Schnittstellen dazu sind in einer Handreichung erläutert (vgl. PDF-Datei).
(mehr …)
