6. Logikgatter mit 4 Zuständen pro Pixel

Die Möglichkeiten einen zellulären Automaten zu verwiklichen sind unedlich vielfältig. Noch grundlegender als die Regeln der Weiterentwicklung ist eine Variation der Anzahl Zustände eines einzelnen Pixels. Im Hinterkopf die Bit-Darstellung, wählten wir vier verschiedene Zustände pro Pixel. Es wären auch Drei oder Fünf möglich gewesen, und hätte bestimmt auch interessante andere Möglichkeiten eröffnet.

Mit dieser Ausgangslage versuchten wir Signale entlang eines beliebigen Weges zu leiten und miteinander zu verknüpfen. Die zusätzlichen Zustände nutzten wir, indem neu Pixel neben tot und lebendig noch ?Gedächtnis-Funktionen" haben konnten, und so definierten wir folgende Zustände:

ZustandoooBit-CodierungoooooFunktionoo    ooooFarbe

1oooooooooo00oooooooooooooooinaktiv/totooooo     weiss

2oooooooooo01ooooooooooooooohalbaktiv  oo ooooorange

3oooooooooo10oooooooooooooooaktiv/lebendigo       rot

4oooooooooo11ooooooooooooooopermanentooooo   schwarz

Pixel mit dem Zustand 4 sind immer schwarz und können nie verändert werden. Eine willkommene Eigenschaft um eine Leitung zu verwirklichen. Denn eine Leitung muss permanent sein und soll beliebige Richtungswechsel ermöglichen. Etwas das bei Conway's Game of Life nicht denkbar ist, dass zB. ein Glider geführt werden kann, denn wenn ein Glider in Kontakt mit anderen lebenden Pixeln kommt verliert er normalerweise seine Gleiteigenschaften.

Das Signal, dass in der Leitung entlang laufen soll muss also die Eigenschaft haben, dass es nur mit direktem Kontakt mit der Leitung existieren kann. So ist gewährleistet, dass sich Signale nicht unkontrolliert in eine Richtung divergieren.

Die Zustände 1 und 3 (weiss,rot) haben ähnliche Funktionen wie tot und lebendig bei Convay's Game of Life. Der orange Zustand 2 bewirkt, dass sich das Signal nur in eine bestimmte Richtung entlang der Leitung fortpflanzt. Denn hat man eine symmetrische Ausgangslage, so muss entweder der Algorithmus zur bestimmung der nächsten Generation asymmetrisch sein (Unterscheidung links-rechts bzw. oben-unten), oder es muss wie hier eine Ausbreitungsrichtung mit einem zusätzlichen Pixel ausgeschlossen werden.

6.1 Die Regeln:

Die Tatsache dass nur die direkt angrenzenden Pixel betrachtet werden vereinfacht den Auswertungsalgorithmus gross, denn so müssen jeweils nur 4 Pixel betrachtet werden. Nach langem ausprobieren erachteten wir es als die beste Variante ein Signal umzusetzten wenn ein Bit jeweils durch drei nacheinanderfolgende Pixel codiert werden. Dh. eine 0 wird zu weiss-weiss-weiss und eine 1 wird zu rot-orange-weiss. Dies expandiert zwar die Grösse bzw. Länge eines Signals ist aber Voraussetzung für eine funktionierende Übertragung.

6.1.1 Der Inverter

Der Inverter besteht eigentlich nur aus einer ?ewigen Quelle" und einer ?Kreuzung", wo sich dann die Inversion abspielt. Die Quelle ist so aufgebaut, dass ständig rot-orange-weiss - Folgen im Kreis herum gehen und dabei jedesmal einen roten Pixel auf die Kreuzung schickt. Das hätte eigentlich zur Folge, dass am Signalausgang immer eine 1 anliegen würde. Dem ist auch so, ausser auf der Kreuzung kommt eine zweite 1 vom Signal A entgegen, und da ein weisser Pixel laut Regel weiss bleibt, wenn er zwei rote Nachbarn hat, löschen sie sich wie gewünscht aus.

Eine Knacknuss war auch, dass ein roter Pixel aus der Quelle nicht ein Signal generiert, das dem von A entgegenläuft und ev. auslöscht. Doch dank der breiteren Oeffnung bei der Kreuzung tritt wieder die Situation auf, dass ein weisser Pixel dank den zwei roten Nachbarn weiss bleibt.


 
 

6.1.2 Das AND Gatter

Die AND Schaltung Funktioniert vor allem dank der Regel, dass ein weisser Pixel mit drei roten Nachbarn auch rot wird, und dass sonst ein weisser Pixel nur rot wird wenn er auch an einem Schwarzen angrenzt. Um drei rote Pixel zu erzeugen wird ein Signal verdoppelt, wobei darauf geachtet werden muss, dass die beiden Weglängen beide gleich lang sind. Aus den Regeln wird klar, dass eine 1 von B wirklich nur zum Signalausgang gelangt, falls auch von A eine 1 anliegt.


vorangehende Seite  nächste Seite  [Home]