11.11.2009

Triviale und nicht-triviale Maschinen

Heinz von Förster

Heinz von Förster unterscheidet[1] zwischen trivialen und nicht-trivialen Maschinen. Bei einer trivialen Maschine gibt es einen direkten, klar erkennbaren Zusammenhang zwischen Ein- und Ausgabe – man steckt einen Wert herein, im Inneren der Maschine wird damit hantiert, und am Ende bekommt man für denselben Wert immer dasselbe Ergebnis. Ein gutes Beispiel ist das Getriebe im Auto oder Motorrad: man legt einen bestimmten Gang ein, und erhält ein spezifiziertes, immer gleiches Übersetzungsverhältnis zwischen Motor und Antriebsrad. Manche Lehrer scheinen anzunehmen, daß ihre Schüler sich wie triviale Maschinen verhalten: man steckt eine Frage hinein, und erhält die korrekte Antwort[2].

Beispiel 1

Tabelle: I

Das Programm[3] links ist ein Beispiel für eine denkbar einfache „triviale Maschine“. Den Buttons 1-4 sind die Buchstaben A-D zugeordnet; wenn man einen Button drückt, bekommt man immer dasselbe Ergebnis.

Beispiel 2

Tabelle: II

Das zweite Programm funktioniert ebenso – nur daß hier die Zuordnung seitenverkehrt ist. (Die Skripte sind rasch zusammengehauenes PHP - mit Javascript wäre sicherlich eine bessere Lösung machbar, bei der dieser Text dann nicht im Browser herumspringt.)

Nicht-triviale Maschinen (NTM) definieren sich dadurch, auf einen Input nicht nur einen Output zu produzieren, sondern auch ihren internen Zustand zu verändern. D.h., für denselben Input kann es einen anderen Output geben, je nach dem Zustand, in dem sich die Maschine gerade befindet.

Beispiel 3 (NTM)

Tabelle: I


Das dritte Programm ist ein denkbar simples Beispiel für eine NTM. Wenn man die „1“ drückt, erhält man ein „A“ - und das ändert sich (zunächst) nicht, sooft man den Button betätigt. Wenn man die „2“ drückt, erscheint ein „B“ - also alles im Rahmen des Erwarteten. Sobald man diesen Versuch wiederholt, erscheint aber plötzlich ein „C“. Wer jetzt völlig verunsichert noch einmal auf die „1“ drückt, um sich selber zu bestätigen, daß hier doch alles mit rechten Dingen zugeht, bekommt auf einmal ein „D“ - spätestens jetzt wird manch ein Versuchsleiter die Vermutung äußern, daß die Ergebnisse purer Zufall sind.

In Wirklichkeit ist das Verhalten komplett deterministisch. Durch das Betätigen der Buttons wird nicht nur das Ergebnis geliefert, sondern gleichzeitig der interne Status verändert - das Programm benutzt nicht nur eine, sondern zwei unterschiedliche Tabellen, zwischen denen durch den Input gewechselt wird. Das sind die beiden Tabellen aus den ersten beiden Programmen, wobei die Eingabe von „1“ und „3“ auf Tabelle 1 schaltet, „2“ und „4“ auf Tabelle 2, und zwar nachdem das Ergebnis berechnet wurde.

Wenn man eine Weile mit dem Progrämmchen herumspielt, kann man wesentlich besser verstehen, worum es geht, als wenn ich hier weiter lange Erklärungen versuche.

Schüler – um auf die Einleitung zurückzukommen – verhalten sich natürlich als nicht-triviale Maschinen[4]. Eine Frage in einer Prüfungssituation, in welcher der Proband ohnehin schon nervös ist, kann dazu führen, daß sich plötzlich pure Panik breit macht, und alle gut gelernten Antworten hinter einem Nebel verschwimmen. Der Input stößt hier zunächst eine Veränderung des Status der „Maschine“ an, so daß ihr Output nur indirekt etwas mit dem Input zu tun hat. Es ist nicht Frage -> Antwort, sondern Frage -> Panik -> Antwort.

Auch das Mensch-Motorrad-System kann man sich als NTM vorstellen, bei der ein Input von Seiten des Fahrers mit einer Reaktion beantwortet wird, die nicht nur in eine klar kalkulierbare Richtung wirkt, sondern das gesamte System neu einstellt. Ein Zug am Gasgriff bewirkt nicht nur eine Beschleunigung nach vorne, sondern u.U. auch ein ausbrechendes Hinterrad, usf.

Generell stellt sich bei NTM das Problem der Analysierbarkeit, weil – selbst mit wenigen Ein- und Ausgabeparametern – eine erstaunlich hohe Anzahl möglicher Zustände erreicht wird[5]. Das Reverse-Engineering[6] einer solchen Maschine ist in vielen Fällen nicht möglich – man muß zu statistischen Methoden greifen, um die Funktionsweise zumindest näherungsweise zu bestimmen. Schon das simple Beispiel oben ist gar nicht so einfach zu knacken, wenn man keinen Anhaltspunkt hat. Wenn man die Zahl der Tabellen von 2 auf 4 erhöht, dürfte man praktisch keine Chance mehr haben, das Rätsel zu lösen, wenn man gar keine Vermutung hat, welcher Mechanismus den Input mit dem Output verbindet.

Ich belasse es mal bei der Klärung der Begriffs der „nicht-trivialen Maschine“, wobei sich eine ganze Reihe von Überlegungen für den Anschluß fast schon von alleine aufdrängen.

  1. [1] Heinz von Förster: Entdecken oder Erfinden. In: Einführung in den Konstruktivismus. München 2009, S.59ff.
  2. [2] Wenn diese Gleichung nicht aufgeht, glaubt man, es mit einer fehlerhaften Maschine zu tun zu haben, und reagiert mit Sanktionen.
  3. [3] Ich habe eine eingedampfte Version der drei Beispiele gebastelt, die man nach Belieben weiterverwenden kann.
  4. [4] Eigentlich wäre es ja die Aufgabe der Lehrer, diese - eher triviale - Komplexität zu durchschauen, und sie nicht in Form schlechter Zensuren den Schülern aufzudrücken.
  5. [5] Heinz v. Förster (a.a.O., S.65) kommt auf ganz erstaunliche Zahlen - 28192 Zustände für eine NTM, die gerade einmal über 4 Eingabe/Ausgabe-Symbole verfügt. Ich gebe zu, daß ich nicht recht nachvollziehen kann, wie er auf diese Zahl kommt. Sie ist aber schon extrem hoch, wenn man bedenkt, daß das Universum gerade erst 3*1023 Millisekunden alt ist!
  6. [6] Ich finde keinen Link, der den Begriff ordentlich erklärt. Der Artikel in der Wikipedia ist mE kompletter Crap.