SN-Evolution: Abschnitt "Zufälliger Mischer" ausgebaut.
[diplomarbeit.git] / diplomarbeit.tex
index 591aa4e..c4d1fce 100644 (file)
@@ -270,8 +270,8 @@ Widerspruch zu der Annahme, dass alle 0-1-Folgen sortiert werden.
 
 Im Gegensatz zum Überprüfen aller möglichen Permutationen, was der
 Komplexitätsklasse
-$\mathcal{O}\left(\sqrt{n}\left(\frac{n}{e}\right)^n\right)$ zuzuordnen ist,
-ist das Überprüfen aller 0-1-Folgen „nur“ mit dem Aufwand $\mathcal{O}(2^n)$
+$\Theta\left(\sqrt{n}\left(\frac{n}{e}\right)^n\right)$ zuzuordnen ist,
+ist das Überprüfen aller 0-1-Folgen „nur“ mit dem Aufwand $\Theta(2^n)$
 verbunden. Entsprechend ist dieses Verfahren nicht \emph{effizient} -- ein
 schnelleres Verfahren ist bisher allerdings nicht bekannt. Um zu überprüfen,
 ob ein Komparatornetzwerk mit 16~Leitungen die Sortiereigenschaft besitzt,
@@ -458,7 +458,7 @@ $\operatorname{OET}(3)$ sortiert.
 Das \emph{Odd-Even-Transpositionsort}-Netzwerk ist weder in Bezug auf die
 Anzahl der Komparatoren noch in Bezug auf die Anzahl der Schichten, in denen
 sich die Komparatoren anordnen lassen, effizient. Es benötigt ${\frac12 n
-(n-1)} = \mathcal{O}(n^2)$~Komparatoren, die in $n$~Schichten angeordnet sind.
+(n-1)} = \Theta(n^2)$~Komparatoren, die in $n$~Schichten angeordnet sind.
 Die im Folgenden vorgestellten Sortiernetzwerke benötigen deutlich weniger Komparatoren,
 ($\Theta(n \log (n)^2)$), die in weniger Schichten,
 ($\Theta(\log (n)^2)$), angeordnet sind.
@@ -574,7 +574,7 @@ Statt an eine Treppe erinnert das Muster nun an einen Trichter.
 Da sich die Anzahl der Leitungen in jedem Rekursionsschritt halbiert, endet
 die Rekursion nach $\log(n)$~Schritten. In jedem Rekursionsschritt werden
 $\frac{n}{2}$~Komparatoren eingefügt, so dass der gesamte Mischer aus
-$\frac{1}{2} n \log(n) = \mathcal{O}\left(n \log(n)\right)$~Komparatoren
+$\frac{1}{2} n \log(n) = \Theta\left(n \log(n)\right)$~Komparatoren
 besteht, die in $\log(n)$~Schichten angeordnet werden können.
 
 \subsubsection{Das bitone Mergesort-Netzwerk}
@@ -746,7 +746,7 @@ in Abbildung~\ref{fig:oe-post-recursive} dargestellt.
 \end{figure}
 
 Da die Teilfolgen $U$ und $V$ in jedem Rekursionsschritt etwa halbiert werden,
-bricht die Rekursion nach $\mathcal{O}\left(\log (n) + \log (m)\right)$
+bricht die Rekursion nach $\Theta\left(\log (n) + \log (m)\right)$
 Schritten ab. Die exakte Anzahl der benötigten Rekursionsschritte (und damit
 Schichten im Mischer-Netzwerk), hängt von der längeren der beiden
 Eingabefolgen ab und beträgt $1 + \lceil \log\left(\max(n, m)\right) \rceil$.
@@ -764,7 +764,7 @@ Länge der Eingabefolgen, $n$ und $m$ ab:
 \end{displaymath}
 Leider ist es schwierig, diese allgemeine Formel in einer geschlossenen Form
 anzugeben. Aus der Anzahl der Rekursionsschritte ist jedoch leicht erkennbar,
-dass $K(n,m)$ in $\mathcal{O}(N \log (N))$ enthalten ist.
+dass $K(n,m)$ in $\Theta(N \log (N))$ enthalten ist.
 
 Für den wichtigen Spezialfall, dass $n = m = 2^{t-1}$ beträgt, lässt sich die
 Anzahl der Komparatoren im Vergleich zum \emph{bitonen Mischer} angeben: Der
@@ -1252,10 +1252,20 @@ die bei Sortiernetzwerken verfolgt werden können:
   \item Möglichst wenige Schichten („schnell“)
 \end{itemize}
 
-Diese Ziele führen im Allgemeinen zu unterschiedlichen Netzwerken. Das
-effizienteste bekannte Sortiernetzwerk für 16~Eingänge besteht aus
-60~Komparatoren in 10~Schichten. Das schnellste bekannte 16-Sortiernetzwerk
-besteht aus 61~Komparatoren in nur 9~Schichten.
+\begin{figure}
+  \centering
+  \subfigure[16-Sortiernetzwerk aus 60~Komparatoren in 10~Schichten. Das Netzwerk wurde von \textit{M.~W. Green} konstruiert und 1969 in \todo{Referenz} veröffentlicht.]{\input{images/16-green.tex}\label{fig:16-green}}
+  \subfigure[16-Sortiernetzwerk aus 61~Komparatoren in 9~Schichten. Das Netzwerk wurde von \textit{D. Van~Voorhis} veröffentlicht.]{\input{images/16-voorhis.tex}\label{fig:16-voorhis}}
+  \caption{Das effizienteste und das schnellste Sortiernetzwerk für
+  16~Leitungen, das derzeit bekannt ist.}
+  \label{fig:16-best-known}
+\end{figure}
+Diese Ziele führen im Allgemeinen zu unterschiedlichen Netzwerken.
+Beispielsweise besteht das \emph{effizienteste} bekannte Sortiernetzwerk für
+16~Eingänge aus 60~Komparatoren in 10~Schichten. Es ist in
+Abbildung~\ref{fig:16-green} dargestellt. Das \emph{schnellste} bekannte
+16-Sortiernetzwerk besteht aus 61~Komparatoren in nur 9~Schichten und ist in
+Abbildung~\ref{fig:16-voorhis} zu sehen.
 
 Eine Gütefunktion, die die beiden Ziele "`effizient"' und "`schnell"'
 berücksichtigen kann, hat die folgende allgemeine Form:
@@ -1555,7 +1565,54 @@ Netzwerk für $n = 18$ bei Verwendung des \emph{bitone Mischers} nur
 um das beste Ergebnis beider Konstruktionen zu erreichen.
 \textsc{SN-Evolution} kann zu diesem Zweck beim Zusammenfügen zweier
 Individuen zufällig zwischen dem \emph{bitonen Mischer} und dem
-\emph{Odd-Even}-Mischer wählen. \todo{Daten noch in eine Tabelle einfügen.}
+\emph{Odd-Even}-Mischer wählen.
+
+Die Ergebnisse von \textsc{SN-Evolution} bei einer zufälligen Wahl des
+Mischers in der Rekombinationsphase sind in Tabelle~\ref{tbl:sn-ev-rnd-fast}
+zusammengefasst. Bei den Leitungszahlen 12, 19, 21, 22 und 23 hat der
+Algorithmus Netzwerke mit einer Effizienz erzeugt, die mit nur einem
+Mischertyp nicht erreicht wurde. Die Ergebnisse mit den Leitungszahlen 18 und
+20 erreichen die Geschwindigkeit der Netzwerke, die mit dem \emph{bitonen
+Mischer} generiert wurden, und verbessern gleichzeitig die Effizienz.
+
+\begin{table}\label{tbl:sn-ev-rnd-fast}
+\begin{center}
+\rowcolors{4}{black!5}{}
+\begin{tabular}{|r|r|r|r|r|r|r|}
+\hline
+Leitungen & \multicolumn{2}{l|}{\textsc{SN-EV} mit \bm{n}}
+          & \multicolumn{2}{l|}{\textsc{SN-EV} mit \oem{n}}
+          & \multicolumn{2}{l|}{\textsc{SN-EV} mit Zufall} \\
+\cline{2-7}
+    ($n$) & Komp. & Schichten & Komp. & Schichten & Komp. & Schichten \\
+\hline
+        8 &         20 &         6 & \gcell  19 &         6 & \gcell  19 &         6 \\
+        9 &         26 &         8 &         26 &         8 &         26 &         8 \\
+       10 &         31 & \gcell  8 &         31 &         9 &         31 & \gcell  8 \\
+       11 & \Gcell  37 &         9 &         38 &         9 & \Gcell  37 &         9 \\
+       12 &         42 &         9 &         43 &         9 & \gcell  41 &         9 \\
+       13 &         48 &        10 &         48 &        10 &         48 &        10 \\
+       14 &         54 &        10 & \gcell  53 &        10 & \gcell  53 &        10 \\
+       15 &         61 &        10 & \Gcell  59 &        10 & \Gcell  59 &        10 \\
+       16 &         67 &        10 & \gcell  63 &        10 &         64 &        10 \\
+       17 &         76 &        12 & \Gcell  74 &        12 & \Gcell  74 &        12 \\
+       18 &         87 & \gcell 12 & \gcell  82 &        13 &         83 & \gcell 12 \\
+       19 &         93 &        13 &         93 &        13 & \Gcell  92 &        13 \\
+       20 &        104 & \gcell 13 & \gcell  97 &        14 &        101 & \gcell 13 \\
+       21 &        109 &        14 &        108 &        14 & \Gcell 107 &        14 \\
+       22 &        118 &        14 &        117 &        14 & \gcell 116 &        14 \\
+       23 &        134 &        14 &        129 &        14 & \Gcell 128 &        14 \\
+       24 &        133 &        15 & \gcell 128 &        15 &        130 &        15 \\
+\hline
+\end{tabular}
+\caption{Übersicht über die Ergebnisse des \textsc{SN-Evolution}-Algorithmus
+  unter Verwendung der verschiedenen Mischer. Der Algorithmus wurde mit dem
+  \emph{Odd-Even-Transpositionsort}-Netzwerk \oet{n} gestartet und nach
+  2.500.000 Iterationen beendet. Die Bewertungsfunktion nutzte die Konstanten
+  $w_{\mathrm{Basis}} = 0$, $w_{\mathrm{Komparatoren}} = 1$,
+  $w_{\mathrm{Schichten}} = n$.}
+\end{center}
+\end{table}
 
 %\input{shmoo-aequivalenz.tex}