,,Ein Bild sagt mehr als tausend Worte”, so sagt eine alte Redewendung, die ich nur voll und ganz unterstützen kann. Egal über welches Thema es auch geschrieben ist, ein Sachbuch wird durch Illustrationen einfach ungemein aufgewertet. So widmete der gute Herr Knuth im vergangenen Jahr einen ganzen Vortrag an der ETH Zürich diesem Thema: ,,The Joy of Technical Illustration”.
Das Bild oben in diesem Beitrag ist übrigens ein Teil einer Turingmaschine - sogar einer der kleinsten universellen, bekannten Turingmaschinen. Mir war bisher nur die Schreibweise für Turingmaschinen ähnlich der von endlichen Automaten (etwa wie in diesem Artikel) bekannt.
Ich entdeckte jedoch durch Zufall die Notation oben, diese Notation für Turingmaschinen auf der Mathworld-Seite:
- die obere Zeile stellt den Ursprungszustand und die untere Zeile den Zielzustand dar
- der Zustand wird mit der Richtung des Zeigers dargestellt
- die Einfärbung repräsentiert das gelesene bzw. das zu schreibende Zeichen des Bandalphabetes
- die Position des Zeigers stellt die neue Position dar
Damit hat man eine graphische Alternative zu der doch recht drögen Tupel-Schreibweise gefunden. Und warum ist grafisch besser als im Text? Formeln sind doch Text und auch viel genauer als Grafiken! Grafiken sind doch was für MBA-Menschen! Hah, da kann man ja genau so gut UML nehmen!
Nun, die graphische Art der Spezifikation ist exakt so genau, wie eine textuelle Repräsentation. Außerdem verbirgt sie nicht wie UML die Komplexität von Systemen hinter bunten Bildern. Turingmaschinen sind nunmal ,,recht einfache” Gebilde - welches objektorierte System lässt sich denn auf Fünftupel reduzieren (natürlich ohne es auf eine Turingmaschine zu umzumünzen)?
Und nun der beste Grund: Mustererkennung! Wenn man versucht, die Funktionsweise einer Turingmaschine zu durchblicken, dann erleichtert es, einen guten Überblick über sie zu erlangen. Und was kann man einfacher überblicken als Bilder?