Turmite: Turings lebendige Maschine

In den Public-Domain-Sammlungen tummeln sich sehr viele Programme, die allermeistens den Utilities (Hilfsprogrammen) oder Spielen zuzuordnen sind. Oft ist der „Tiefgang“ der Programmschöpfungen nicht sehr groß. Manchmal stößt man aber auf eine Programmeinsendung, die sehr spezialisiert auf Fachwissen aufbaut oder komplexe Situationen eines eng umrissenen Fachgebietes aufzeigt.

Das Programm TURMITE ist eine sehr spezielle Simulation aus dem Fachbereich Informatik. Und da sich unter unseren Lesern sehr viele "Sachverständige“ dieses Fachbereiches tummeln, haben wir uns entschlossen.dieses ausgefeilte Spezialprogramm hier vorzustellen. Ich weiß nicht, in welchem Semester der theoretischen Informatik sie durchgenommen wird, aber sie kommt auf jeden Fall in die Vorlesung, die „Turing-Maschine“.

Von dem englischen Mathematiker Alan M. Turing wurde im Jahre 1936 ein Konzept für eine Rechenanlage entwickelt, die so aufgebaut ist, daß sie zur Berechnung von Funktionen durch endliche Prozesse dient. Eine Turing-Maschine ist demzufolge ein grundlegendes Verfahren zur Bestimmung endlicher Algorithmen und damit ein Beweismittel, ob ein Algorithmus überhaupt berechenbar ist und zu einem Ergebnis führen kann.

Aus dieser Grundüberlegung hat der Amerikaner Greg Turk, seinerzeit Doktorand an der University of North Carolina in Chapel Hill, eine Abwandlung konstruiert. Üblicherweise arbeiten Turing-Maschinen auf einem sogenannten „endlosen Band“, also auf einer unendlichen Anzahl von Feldern. Turk hat diese komplizierten und völlig unüberschaubaren (aber dennoch berechenbaren) Maschinen auf ein Kleinstmaß reduziert und das „Rechenband“ zweidimensional gemacht. Daraus entstand der Begriff „Turmite“.

Was ist eine „Turmite“?

Man dachte bei den zweidimensional denkenden Turing-Maschinen sofort an Analogien in der belebten Natur. So kann man sich unter einer Turmite ein (kybernetisches) Lebewesen vorstellen, das ein ausgesprochen primitiv arbeitendes Gehirn hat. Sie ist gekennzeichnet durch die inneren Zustände, die sie annehmen kann.

Die Aktion der Turmite auf einer Zelle hängt ab von der Farbe der Zelle (2 Möglichkeiten: schwarz und weiß) und von ihrem inneren Zustand. Für jeden Zustand muß angegeben werden, was sie auf einem weißen und was sie auf einem schwarzen Feld tut. Mögliche Aktionen sind das Einfärben von Feldern mit einer bestimmten Farbe (Schwarz oder Weiß), sich drehen (nach links oder rechts), umdrehen, unverändert nach vom schauen und einen neuen inneren Zustand annehmen. Danach geht die Turmite auf jeden Fall einen Schntt weiter auf das Feld, das nun in ihrer Blickrichtung liegt.

Jeder Zustand der Turmite ist also durch 6 Angaben beschreibbar:

Aktion auf einem weißen Feld: 3 Angaben (neue Farbe, neue Richtung, neuer Zustand), Aktion auf einem schwarzen Feld: neue Farbe, neue Richtung, neuer Zustand.

Sehr ausführlich und allgemeinverständlich werden diese Grundüberlegungen beschrieben in: A.K. Dewdney, Computer-Kurzweil, Spektrum der Wissenschaft, November 1989, Seite 8, und September 1990, Seite 18 (auch als gleichnamiges Sonderheft - ohne Werbung - erhältlich).

Das Programm TURMITE erlaubt es nun, eine Turmite zu erstellen. zu manipulieren und mit rasender Geschwindigkeit in ihrer Aktivität zu beobachten: Die Turmite hat zwei innere Zustände, welche „Start“ und „Ende“ heißen. Wenn die Turmite im Zustand „start“ befindlich ist und auf einem weißen Feld steht, wird sie das Feld weiß lassen, sich nach links drehen, in den Zustand „ende" wechseln und einen Schritt vorwärts machen. Wenn sie sich im Zustand „start“ hingegen auf einem schwarzen Feld befindet, färbt sie dieses weiß, ändert ihre Blickrichtung nicht (geradeaus), behält den Zustand „start“ bei und macht einen Schritt vorwärts. Es werden also zuerst die Informationen für die Aktion auf einem weißen. dann für die Aktion auf einem schwarzen Feld gegeben. Die Anzahl der Zustände ist nicht begrenzt!

Innerhalb der Zustände kann mit dem Scroll-Balken und den Pfeilen links geblättert werden. Die Zustände selbst können beliebig verändert werden. Sofern weniger als 25 Zustände vorhanden sind, können hinten neue angefügt werden. Es ist nicht möglich, Zustände zu löschen, zu vertauschen oder einzufügen. Dazu ist die Turmite abzuspeichem und mit einem beliebigen Editor zu bearbeiten!

Als weitere Einstellmöglichkeiten kann man:

  1. Füllmuster bestimmen. Der Bildschirm wird mit dem ausgewählten Muster gefüllt, wenn die Turmite initialisiert wird.
  2. Der Bildschirm wird beim Initialisieren der Turmite nicht verändert. Auf diese Weise kann man eine Turmite auf dem von einer anderen Turmite erzeugten Bildschirm oder einem beliebigen von Diskette geladenen Bild agieren lassen.
  3. Eine der angegebenen Mausformen kann ausgewählt werden. Damit ist es möglich, der in Bewegung befindlichen Turmite verschiedene „Steine" in den Weg zu legen.

Das Menü „Lupe". Hier kann die Turmite langsam und vergrößert beobachtet werden. Dazu wird ein Lupenfeld benutzt, welches eine 24*24 Felder große Umgebung der Turmite darstellt. In der Lupe sind Ort und Blickrichtung der Tunmite durch einen Pfeil gekennzeichnet. Durch Striche in den Feldern sind bereits betretene Felder und die letzte Blickrichtung der Turmite auf diesen dargestellt.

Mit dem Programm TURMITE und der entsprechenden (vorher gelesenen) Literatur werden Sie etwas kennenlernen, was man gerne als „die andere Seele der Maschine“ bezeichnet - lassen Sie sich überraschen.

DK

TURMITE
ST-PD 456



Aus: ST-Computer 12 / 1991, Seite 202

Links

Copyright-Bestimmungen: siehe Über diese Seite