Beschreibung des Programms TURMITE.PRG "Turmite" ist die Kurzbezeichnung fr eine zweidimensionale Turingmaschine, d.h. eine Turingmaschine, die kein lineares Eingabeband bearbeitet, sondern auf der zweidimensionalen Ebene agiert, die in quadratische Zellen gleicher Gr”že unterteilt ist. 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. Fr jeden Zustand muž angegeben werden, was sie auf einem weižen Feld, und was sie auf einem schwarzen Feld tut. M”gliche Aktionen sind: - das Feld mit einer bestimmten Farbe einf„rben (schwarz oder weiž) - sich drehen (nach links, nach recht, umdrehen, unver„ndert nach von schauen) - einen neuen inneren Zustand annehmen Danach geht die Turmite auf jeden Fall einen Schritt 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: 3 entsprechende Angaben Wem diese kurze Beschreibung nicht gengt, und das werden die meisten sein, sei auf folgende Literatur verwiesen: A.K. Dewdney. Computer-Kurzweil. Spektrum der Wissenschaft, November 1989, S. 8. A.K. Dewdney. Computer-Kurzweil. Spektrum der Wissenschaft, September 1990, S. 18. Dieses Programm erlaubt es, eine Turmite zu erstellen, zu manipulieren, und mit rasender Geschwindigkeit in ihrer Aktivit„t zu beobachten. Beschreibung der Mens: ----------------------- Men Datei ---------- Laden: l„dt eine Turmite von Diskette Speichern: speichert eine Turmite auf Diskette Beenden: beendet das Programm ohne Sicherheitsabfrage Die Turmite wird als ASCII-Text mit folgender Syntax abgespeichert: turmite ::= zustand delimiter zustand . . . zustand ::= name delimiter farbe delimiter bewegung delimiter name delimiter farbe delimiter bewegung delimiter name delimiter ::= blank | "," | ";" | "(" | ")" | carriage-return | line-feed | delimiter delimiter name ::= ascii ascii ... (maximal 8-stellig) farbe ::= "S" | "W" ( "S" fr schwarz, "W" fr weiž ) bewegung ::= "<" | ">" | "^" | "v" (fr: links, rechts, geradeaus, umdrehen) "ascii" steht fr irgendein ASCII-Zeichen, welches kein Delimiter ist. Ein typischer Eintrag sieht also aus wie folgt: start ( W , < , ende ; W , ^ , start ) ende ( S , v , ende ; W , > , start ) Diese 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, dann wird sie das Feld weiž lassen, sich nach links drehen, in den Zustand "ende" wechseln und 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 fr die Aktion auf einem weižen, dann fr die Aktion auf einem schwarzen Feld gegeben. Die Anzahl der Zust„nde ist nicht begrenzt! Men Maschine ------------- Starten: die geladene Turmite wird neu initialisiert und dann gestartet. Was "initialisieren" heižt, wird unter "Einstellen" beschrieben. Weiter: die geladene Turmite wird gestartet ohne Neuinitialisierung. Einstellen: Es wird ein Dialog angezeigt, in dem die Zust„nde der Turmite bequem ver„ndert werden k”nnen: Status: Name des Zustandes Farbe: neue Farbe, wenn auf weižem Feld Bewegung: Bewegung der Turmite, wenn auf weižem Feld neuer Status: Name des Folgezustandes, wenn auf weižem Feld Farbe: neue Farbe, wenn auf schwarzem Feld Bewegung: Bewegung der Turmite, wenn auf schwarzem Feld neuer Status: Name des Folgezustandes, wenn auf schwarzem Feld Innerhalb der Zust„nde kann mit dem Scrollbalken 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 angefgt werden. Es ist nicht m”glich, Zust„nde zu l”schen, zu vertauschen oder einzufgen. Dazu ist die Turmite abzuspeichern und mit einem beliebigen Editor zu bearbeiten! Weitere Einstellm”glichkeiten sind: Fllmuster: Der Bildschirm wird mit dem ausgew„hlten Muster gefllt, wenn die Turmite initialisiert wird. Zur Auswahl auf das weiže schmale Randfeld neben dem Muster mit der Maus klicken. B: 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. Mausform: 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. Maus: Die gew„hlte Mausform kann invertiert werden, oder die Maus kann verdeckt werden. Letzteres ist sinnvoll, um die Turmite v”llig ungest”rt agieren zu lassen. Neustart: Initialisiert die Turmite, d.h. fllt den Bildschirm in der ausgew„hlten Weise, setzt die Turmite in die Mitte des Bildschirms, versetzt sie in den Zustand, der der allererste ist (also nicht nur der erste, der gerade im Dialog sichtbar ist), und startet sie. Weiter: Der Bildschirm bleibt, wie er ist, die Turmite bleibt, wo sie ist, der Zustand der Turmite bleibt, wie er ist - auch wenn er im Dialog umbenannt worden ist -, aber neue Zustandsdefinitionen werden aus dem Dialog bernommen, desgleichen neue Zustandsnamen, und die Turmite wird gestartet. "Neustart" und "Weiter" werden mit Fehlermeldung abgebrochen, wenn Folgezust„nde eingetragen worden sind, die nicht definiert sind. Die Aktivit„t der Turmite wird auf einem zweiten Bildschirm dargestellt. Die laufende Turmite kann mit ESC abgebrochen werden. Abbruch: Der Dialog wird abgebrochen, aber die ver„nderten Zust„nde werden bernommen! Men Bild --------- Anzeigen: Der zweite Bildschirm, der die Aktivit„t der Turmite festh„lt, wird angezeigt. Laden: Der zweite Bildschirm wird im Screenformat von Diskette geladen. Speichern: Der zweite Bildschirm wird im Screenformat gespeichert. 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. kontinuierlich: Die Umgebung der Turmite wird in die Lupe kopiert, die Turmite wie unter "Weiter" gestartet. Abbruch mit ESC. Einzelschritt: wie "kontinuierlich", aber die Turmite bewegt sich nur nach Tastendruck. ESC bricht ab. Neustart: Die Turmite wird initialisiert und ihre Umgebung in die Lupe kopiert. Die Lupe wird noch nicht angezeigt. Bild -> Lupe: Die Umgebung der Turmite wird (ohne Initialisierung) in die Lupe kopiert. Lupe -> Bild: Die Lupe wird in den zweiten Bildschirm zurckkopiert, mit allen Žnderungen, die inzwischen stattgefunden haben. In der Lupe sind Ort und Blickrichtung der Turmite durch einen Pfeil gekennzeichnet. Durch Striche in den Feldern sind bereits betretene Felder und die letzte Blickrichtung der Turmite auf diesen dargestellt. Rechts vom Lupenfeld ist in knapper Form der aktuelle Zustand der Turmite angezeigt. W„hrend "Einzelschritt" sind noch folgende Manipulationsm”glichkeiten gegeben: - Klicken auf Lupenfelder mit der linken Maustaste „ndert deren Farbe. - Klicken auf ein Lupenfeld mit der linken Maustaste bei gedrckter Shifttaste setzt die Turmite dorthin. - Die Cursortasten „ndern die Blickrichtung der Turmite. Wichtig: Sowohl die Lupe als auch der zweite Bildschirm fr die Turmite sind als Torus implementiert, und zwar unabh„ngig voneinander. Wenn also die Turmite in der Lupe die Lupenr„nder berschritten und die Lupe auf der gegenberliegenden Seite wieder betreten hat, und anschliežend die Lupe ins Bild kopiert wird, so ist der Ablauf der Turmite auf dem Gesamtbild irreversibel ver„ndert. Inhalt der Ordner: ------------------ Ordner TUR: enth„lt eine Reihe von Beispielturmiten. Besonders zu erw„hnen sind die Turmiten V.TUR, V5.TUR, V8.TUR, und VGRAF.TUR. Sie stellen s„mtlich Simulationen der Turmite V aus Spektrum der Wissenschaft, November 1989, S. 8, dar. Diese Turmite kann 4 Farben setzen. Die Simulation besteht darin, daž mehrere Bildschirmpixel zusammengefažt und die 4 Farben durch Graut”ne dargestellt werden. Dabei werden aus dem einen Zustand der Turmite V entsprechend mehrere Zust„nde in der Simulation. Besonders gelungen ist die Turmite VGRAF.TUR. Wird zuvor das Bild VGRAF.PIC aus dem Ordner PIC geladen, und erst dann VGRAF.TUR gestartet, so fhrt diese Simulation den Beweis anschaulich vor, den Bernd Rmmler in Spektrum der Wissenschaft, September 1990, S. 18, fr die Tatsache gegeben hat, daž die Turmite V ein symmetrisches Bild erzeugt. Ordner PIC: enth„lt Hintergrundbilder zur Turmite VGRAF.TUR, sowie die entsprechenden Fllmuster