Commit de1b71fc by Philipp Adolf

Add section on block permutations

parent f7ec91cd
Pipeline #175 passed with stage
in 6 minutes 47 seconds
......@@ -9,11 +9,14 @@
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage[style=alphabetic]{biblatex}
\addbibresource{bibtex.bib}
\usepackage[ngerman]{todonotes}
\newtheorem{lemma}{Lemma}
\newcommand{\teilnehmername}{Philipp Adolf}
\newcommand{\teilnehmermatrnr}{1669101}
\newcommand{\seminarart}{Seminar}
......@@ -163,7 +166,7 @@ Anders ausgedrückt: Wir übersetzen eine Konfiguration eines Automaten in eine
Das Ziel der Arbeit von Durand-Lose ist es, beliebige reversible Zellularautomaten mit reversiblen Blockzellularautomaten zu simulieren. Um dieses Ziel zu erreichen, beschreibt er zuerst eine Reihe von Blockpermutationen, die reversible Zellularautomaten simulieren. Anschließend beweist er, dass diese Blockpermutationen zu einem Blockzellularautomaten zusammengefasst werden können.
\section{Partitionierung}
\section{Blockpermutationen}
Betrachten wir zunächst die Hilfsmengen
......@@ -191,6 +194,55 @@ $$E_{\lambda}^P = \emptyset \quad \wedge \quad E_{\lambda}^N = V$$
\todo[inline]{Lemma 3?}
Die Blockpermutationen benutzen als Zustandsmenge $(S \cup \{\bot\}) \times (S \cup \{\bot\})$. Ein Teil wird zum Speichern des vorherigen Zustands benutzt, der andere zum Speichern des nächsten Zustands. Das Symbol $\bot$ wird verwendet wenn ein Zustand fehlt.
Wir definieren nun folgende Konfiguartionen:
$$\forall c \in C \;\; \forall \lambda \in [0, d+1] \quad \mathcal{E}_{\lambda}(c) = \left(c_{|E_{\lambda}^P}, \mathcal{G}(c)_{|E_{\lambda}^N}\right)$$
Dabei ist $\mathcal{E}_{\lambda}(c)$ die Konfiguration der Blockpermutationen nach $\lambda$ Schritten der Berechnung von $\mathcal{G}(c)$.
Sei $B_{\lambda}$ die Blockpermutation, die $\mathcal{E}_{\lambda}(c)$ auf $\mathcal{E}_{\lambda + 1}(c)$ abbildet. $B_{\lambda}$ hat Breite $3(d+1)r$ und Ursprung $3\lambda r$. Da wir bei jedem Schritt alte Zustände vergessen ($\mathcal{E}_{\lambda + 1} \subsetneq \mathcal{E}_{\lambda}$) ist nicht offensichtlich, dass in jedem Schritt alle Informationen vorhanden sind, die benötigt werden.
\begin{lemma}
Für alle $\lambda$ aus $[0, d]$ enthält $\mathcal{E}_{\lambda}(c)$ genug Informationen, um $\mathcal{E}_{\lambda + 1}(c)$ zu berechnen.
\end{lemma}
\begin{proof}
Die Menge der Zellen, für die ein neuer Zustand berechnet werden muss, ist
$$\Delta_{\lambda} = E_{\lambda + 1}^N \setminus E_{\lambda}^N = \mu_{\lambda} \setminus \bigcup_{0 \leq i < \lambda} \mu_i$$
Für alle Zellen $x \in \Delta_{\lambda}$ gilt
$$x \in \mu_{\lambda} = (3\lambda r, 3\lambda r, \ldots, 3\lambda r) + [r, 3(d+1)r-r-1]^d$$
Dementsprechend sind $x$ und alle seine Nachbarn in
\begin{align}
&(3\lambda r, 3\lambda r, \ldots, 3\lambda r) + &[r - r,\;&3(d+1)r - r - 1 + r]^d&\notag\\
=\;&(3\lambda r, 3\lambda r, \ldots, 3\lambda r) + &[0,\;&3(d+1)r - 1]^d&\notag
\end{align}
Das ist genau die Partitionierung der Blockpermutationen $B_{\lambda}$, da diese den Ursprung $(3\lambda r, 3\lambda r, \ldots, 3\lambda r)$ und Breite $3(d+1)r - 1$ hat. Wir haben nun also gezeigt, dass alle Zellen, für die ein neuer Zustand berechnet werden soll, sowie alle ihre Nachbarn innerhalb eines Blockes liegen. Es bleibt zu zeigen, dass alle vorherigen Zustände, die dafür benötigt werden, noch vorhanden sind.
Sei $i \in [0, \lambda - 1]$. Aus der Definition von $\Delta_{\lambda}$ folgt, dass $x \not\in \mu_i \forall x \in \Delta_{\lambda}$. Das heißt, dass es einen Index $j_i$ gibt, so dass
$$x_{j_i} \not\in 3i r + [r, 3(d+1)r - r - 1]$$
wobei $x_{j_i}$ der $j_i$-te Eintrag des $d$-Tupels $x$ ist. Daraus folgt, dass $x_{j_i} \in 3i r + [-r, r-1]$\todo{Warum?}. Da die Mengen $3ir + [-r, r-1]$ für $i \in [0, \lambda -1]$ disjunkt sind, heißt das, dass es $\lambda$ paarweise verschiedene $j_i$ geben muss.
Sei $y$ eine beliebige Zelle, die zur Berechnung den nächsten Zustands von $x$ benötigt wird. $y$ gehört zu $x + [-r,r]^d$. Für alle $i \in [0, \lambda - 1]$ ist $y_{j_i}$ in $3ir + [-2r, 2r - 1]$. Nehmen wir an, dass ein $y$ existiert, das nicht zu $E_{\lambda}^P$ gehört. Dann gilt für alle $v \in [\lambda, d + 1]$, dass ein $k_v$ existiert, sodass $y_{k_v}$ nicht zu $vr + [r, 3(d+1)r - r - 1]$ gehört, oder äquivalent $y_{k_v} \in 3vr + [-r, r-1]$. Da die Mengen $3vr + [-r, r-1]$ disjunkt sind, gibt es $d+1-\lambda$ paarweise verschiedene $k_v$.
Zusammen existieren $\lambda + d + 1 - \lambda = d + 1$ Werte für $j_i$ und $k_v$, es gibt aber nur $d$ mögliche Werte. Daraus folgt, dass $i_0$ und $v_0$ existieren, sodass $j_{i_0} = k_{v_0}$. Das bedeutet, dass die Schnittmenge von $3i_0r + [-2r, 2r - 1]$ und $3v_0r + [-r, r - 1]$ nicht leer ist. Das ist nur möglich, wenn $i_0 = v_0$, was aber nicht möglich ist, da $i_0 \in [0, \lambda - 1]$ und $v_0 \in [\lambda, d + 1]$, also $i_0 < v_0$.
Unsere Annahmen, dass $y \not\in E_{\lambda}^P$ war also falsch und $y \in E_{\lambda}^P$. Damit sind alle vorherigen Zustände, die benötigt werden, vorhanden, und der nächste Zustand der Zelle $x$ kann berechnet werden.
\end{proof}
Durch die Symmetrie von $E^N$ und $E^P$ können die Zustände, die gelöscht werden, aus den verbleibenden vorherigen Zuständen sowie den neuen Zuständen berechnet werden. Das bedeutet, dass die partielle Funktion $e_{\lambda}$ zu einer Permutation vervollständigt werden kann.
\missingfigure{Beispiel für zweidimensionalen Automaten}
\printbibliography
\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