Commit e063e3a2 by Philipp Adolf

Add Einführung

parent 93684e7c
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
%\usepackage{libertine} %\usepackage{libertine}
\usepackage{tikz} \usepackage{tikz}
\usepackage{amssymb}
\usepackage[style=alphabetic]{biblatex} \usepackage[style=alphabetic]{biblatex}
\addbibresource{bibtex.bib} \addbibresource{bibtex.bib}
...@@ -96,6 +97,52 @@ mit Abänderungen entnommen wurde. ...@@ -96,6 +97,52 @@ mit Abänderungen entnommen wurde.
\tableofcontents \tableofcontents
\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.
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.
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.
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}
\subsection{Zellularautomaten}
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.
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.
$C \in S^{\mathbb{Z}^d}$ wird (globale) Konfiguration genannt. Die globale Überführungsfunktion bildet eine globale Konfiguration auf eine neue globale Konfiguration ab, indem für jede Zelle die lokale Überführungsfunktion ausgewertet wird.
\subsection{Blockpermutationen}
Eine Blockpermutation wird durch $(d, S, w, o, e)$ definiert. Dabei ist $w \in \mathbb{N}^{+}$ die Breite (engl. width). Das Volumen der Blockpermutation ist $V = [0, w - 1]^d \subsetneq \mathbb{Z}$. Die Blockfunktion $e : S^V \rightarrow S^V$ ist eine Permutation.
\todo[inline]{Beschreiben, wie eine Blockpermutation ausgeführt wird}
\missingfigure{Diagramm, das die Ausführung einer Blockpermutation zeigt}
\subsection{Reversibilität}
Zellularautomaten, Blockzellularautomaten und Blockpermutationen definieren Funktionen $\mathcal{G}$ von $S^{\mathbb{Z}^d}$ nach $S^{\mathbb{Z}^d}$. Der Automat $\mathcal{A}$ ist genau dann reversibel, wenn die zugehörige Funktion $\mathcal{G}_{\mathcal{A}}$ bijektiv ist und ein Automat $\mathcal{B}$ mit $\mathcal{G}_{\mathcal{B}} = \mathcal{G}_{\mathcal{A}}^{-1}$ existiert.
Für eindimensionale Zellularautomaten existiert ein Algorithmus, der prüft, ob ein Automat umkehrbar ist oder nicht. Für höherdimensionale Zellularautomaten wurde gezeigt, dass dieses Problem unentscheidbar ist.
Blockpermutation sind hingegen durch ihre Konstruktion trivial reversibel: Man nimmt einfach die inverse Permutation bei gleicher Aufteilung. Blockzellularautomaten sind genau dann reversibel, wenn ihre Blockfunktion eine Permutation ist.
\subsection{Simulation}
Durand-Lose benutzt folgende Definition einer Simulation:
Gegeben zwei Funktionen, $f : F \rightarrow F$ und $g : G \rightarrow G$, sagen wir, dass $f$ von $g$ in linearer Zeit $\tau$ simuliert wird, wenn es zwei Kodierungsfunktionen $\alpha : F \rightarrow G$ und $\beta : G \rightarrow F$, sodass
$$\forall x \in F, \forall n \in \mathbb{N} \qquad f^n(x) = \beta \circ g^{\tau n} \circ \alpha(x)$$
Anders ausgedrückt: Wir übersetzen eine Konfiguration eines Automaten in eine Konfiguration eines anderen Automaten, lassen diesen $\tau$ Schritte machen und übersetzen dann wieder zurück. Das Ergebnis ist dann äquivalent dazu, einen Schritt mit dem ursprünglichen Automaten zu machen.
\printbibliography \printbibliography
\end{document} \end{document}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment