@@ -99,19 +99,27 @@ mit Abänderungen entnommen wurde.
\chapter{Einleitung}
Zellularautomaten sind ein beliebtes Modell, um parallele Berechnungen zu beschreiben und zu analysieren. Dabei wird der Zustand eines Zellularautomaten über die Zustände seiner Zellen festgelegt – jede Zelle hat die gleiche Menge an möglichen Zuständen. Die eigentlichen Berechnungen werden über lokalen Überführungsfunktionen angegeben.
Zellularautomaten sind ein beliebtes Modell, um parallele Berechnungen zu beschreiben und zu analysieren. Dabei wird der Zustand eines Zellularautomaten über die Zustände seiner Zellen festgelegt – jede Zelle hat die gleiche Menge an möglichen Zuständen. Für die eigentlichen Berechnungen werden lokale Überführungsfunktionen angegeben.
Eine besondere Klasse von Zellularautomaten sind jene, bei denen zu jedem Zustand ein eindeutiger Vorgänger existiert. Diese sogenannten reversiblen Zellularautomaten eignen sich besonders zur Simulation von isolierten Systemen, also solchen, die weder Energie noch Masse mit ihrer Umgebung austauschen. Das Problem hierbei ist, dass bei Zellularautomaten mit zwei oder mehr Dimensionen die Frage der Umkehrbarkeit unentscheidbar ist.
Eine besondere Klasse von Zellularautomaten sind jene, bei denen für jede Konfiguration ein eindeutiger Vorgänger existiert. Diese sogenannten reversiblen Zellularautomaten eignen sich besonders zur Simulation von isolierten Systemen, also solchen, die weder Energie noch Masse mit ihrer Umgebung austauschen. Das Problem hierbei ist, dass bei Zellularautomaten mit zwei oder mehr Dimensionen die Frage der Umkehrbarkeit unentscheidbar ist.
Bei Blockzellularautomaten ist dies jedoch einfach zu beantworten. Diese Art von Zellularautomaten teilt die Zellen in jedem Schritt in gleich große Blöcke ein – der nächste Zustand eine Zelle hängt dann nur von den Zuständen der Zellen im gleichen Block ab.
Bei Blockzellularautomaten ist dies hingegen einfach entscheidbar. Bei dieser Art von Zellularautomaten gibt es keine lokale Überführungsfunktion, die den nächsten Zustand einer Zelle angibt. Stattdessen wird eine Funktion angegeben, die für einen ganzen Block von Zellen die nächsten Zustände berechnet. Dabei bekommt diese Funktion nur einen Block als Eingabe, sie kann nicht auf umliegende Blöck zugreifen. Damit trotzdem zwischen den Blöcken Informationen ausgetauscht werden können, werden die Grenzen der Blöcke bei aufeinanderfolgenden Schritten verschoben.
In \cite{DMTCS-AA0110} stellt Durand-Lose eine Konstruktion vor, die zeigt, wie sich ein beliebiger reversibler Zellularautomat durch einen reversiblen Blockzellularautomaten simulieren lässt.
\section{Definitionen}
Im folgenden sei
$$[a, b]=\{ x \mid x \in\mathbb{N}\wedge a \leq x \leq b\}$$
Also ist $[a, b]$ das geschlossene Interval von $a$ bis $b$ (jeweils einschließlich). Dies erweitern wir wie folgt auf $d$-dimensionale Tupel:
Ein Zellularautomat $\mathcal{A}$ wird durch das Tupel $(d, S, r, f)$ definiert, wobei $d$ die Dimensionalität des Automaten angibt. $S$ ist die Menge der Zustände, die eine einzelne Zelle annehmen kann, und $r$ ist der Radius der Nachbarschaft. $f : S^{(2r +1)^d}\rightarrow S$ ist die lokale Überführungsfunktion.
Ein Zellularautomat $\mathcal{A}$ wird durch ein Tupel $(d, S, r, f)$ definiert, wobei $d$ die Dimensionalität des Automaten angibt. $S$ ist die Menge der Zustände, die eine einzelne Zelle annehmen kann, und $r$ ist der Radius der Nachbarschaft. Die lokale Überführungsfunktion ist durch $f : S^{(2r +1)^d}\rightarrow S$ gegeben.
Für einen Schritt wird für jede Zelle die lokale Überführungsfunktion ausgewertet um den Nachfolgezustand zu bestimmen. Dies passiert für alle Zellen gleichzeitig.
...
...
@@ -157,7 +165,7 @@ Diese Mengen sind Hyperwürfel, die mit wachsendem $i$ gleichmäßig in allen Di
\missingfigure{Diagramm mit Beispielen zu $\mu_i$}
Mit diesen Mengen können wir nun folgende Mengen für $0\leq\lambda\leq d$ bilden:
Mit diesen Mengen können wir nun für $0\leq\lambda\leq d$ folgende Mengen bilden:
$$E_{\lambda}^P =\bigcup_{\lambda\leq i \leq d}\mu_i$$