SN-Evolution: RND: Grafik für n = 19.
authorFlorian Forster <octo@leeloo.octo.it>
Sun, 27 Feb 2011 12:04:35 +0000 (13:04 +0100)
committerFlorian Forster <octo@leeloo.octo.it>
Sun, 27 Feb 2011 12:04:35 +0000 (13:04 +0100)
diplomarbeit.tex
images/19-e1-rnd-fast.tex [new file with mode: 0644]

index 69bf56e..19ade54 100644 (file)
@@ -1626,15 +1626,9 @@ 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
 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.
-
-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.
+\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.
 
 \begin{table}\label{tbl:sn-ev-rnd-fast}
 \begin{center}
 
 \begin{table}\label{tbl:sn-ev-rnd-fast}
 \begin{center}
@@ -1675,6 +1669,25 @@ Leitungen & \multicolumn{2}{l|}{\textsc{SN-EV} mit \bm{n}}
 \end{center}
 \end{table}
 
 \end{center}
 \end{table}
 
+Bei einigen Leitungszahlen kann der Algorithmus durch die Verfügbarkeit beider
+Mischer-Netzwerke Sortiernetzwerke zurückgeben, die effizienter als die
+vorherigen Ergebnisse sind. Beispielsweise ist 19-Sortiernetzwerk in
+Abbildung~\ref{fig:19-e1-rnd-fast} mit 92~Komparatoren effizienter als die
+19-Sortiernetzwerke, die nur mit dem \emph{bitonen Mischer}, beziehungsweise
+nur mit dem \emph{Odd-Even}-Mischer erreicht wurden
+(Abbildungen~\ref{fig:19-e1-bm-fast} und~\ref{fig:19-e1-oem-fast}).
+
+\begin{figure}
+  \begin{center}
+    \input{images/19-e1-rnd-fast.tex}
+  \end{center}
+  \caption{Sortiernetzwerk mit 19~Leitungen und 92~Komparatoren in
+    13~Schichten. Das Netzwerk wurde von dem Algorithmus \textsc{SN-Evolution}
+    unter Verwendung des \emph{bitonen Mischers} und des
+    \emph{Odd-Even}-Mischers erzeugt.}
+  \label{fig:19-e1-rnd-fast}
+\end{figure}
+
 %\input{shmoo-aequivalenz.tex}
 
 \newpage
 %\input{shmoo-aequivalenz.tex}
 
 \newpage
diff --git a/images/19-e1-rnd-fast.tex b/images/19-e1-rnd-fast.tex
new file mode 100644 (file)
index 0000000..8eacd82
--- /dev/null
@@ -0,0 +1,389 @@
+\begin{tikzpicture}[auto]
+\node[vertex] (v0) at (0.67,0.00) {};
+\node[vertex] (v1) at (0.67,6.96) {};
+\path[comp] (v0) -- (v1);
+
+\node[vertex] (v2) at (0.87,0.54) {};
+\node[vertex] (v3) at (0.87,2.68) {};
+\path[comp] (v2) -- (v3);
+
+\node[vertex] (v4) at (1.07,1.07) {};
+\node[vertex] (v5) at (1.07,3.21) {};
+\path[comp] (v4) -- (v5);
+
+\node[vertex] (v6) at (1.27,1.61) {};
+\node[vertex] (v7) at (1.27,5.89) {};
+\path[comp] (v6) -- (v7);
+
+\node[vertex] (v8) at (0.87,3.75) {};
+\node[vertex] (v9) at (0.87,6.43) {};
+\path[comp] (v8) -- (v9);
+
+\node[vertex] (v10) at (1.07,4.29) {};
+\node[vertex] (v11) at (1.07,9.11) {};
+\path[comp] (v10) -- (v11);
+
+\node[vertex] (v12) at (1.47,4.82) {};
+\node[vertex] (v13) at (1.47,9.64) {};
+\path[comp] (v12) -- (v13);
+
+\node[vertex] (v14) at (1.67,5.36) {};
+\node[vertex] (v15) at (1.67,7.50) {};
+\path[comp] (v14) -- (v15);
+
+\node[vertex] (v16) at (0.67,8.04) {};
+\node[vertex] (v17) at (0.67,8.57) {};
+\path[comp] (v16) -- (v17);
+
+\node[vertex] (v18) at (2.34,0.54) {};
+\node[vertex] (v19) at (2.34,1.07) {};
+\path[comp] (v18) -- (v19);
+
+\node[vertex] (v20) at (2.34,1.61) {};
+\node[vertex] (v21) at (2.34,3.75) {};
+\path[comp] (v20) -- (v21);
+
+\node[vertex] (v22) at (2.54,2.14) {};
+\node[vertex] (v23) at (2.54,7.50) {};
+\path[comp] (v22) -- (v23);
+
+\node[vertex] (v24) at (2.75,2.68) {};
+\node[vertex] (v25) at (2.75,3.21) {};
+\path[comp] (v24) -- (v25);
+
+\node[vertex] (v26) at (2.34,4.29) {};
+\node[vertex] (v27) at (2.34,9.64) {};
+\path[comp] (v26) -- (v27);
+
+\node[vertex] (v28) at (2.75,4.82) {};
+\node[vertex] (v29) at (2.75,9.11) {};
+\path[comp] (v28) -- (v29);
+
+\node[vertex] (v30) at (2.95,5.89) {};
+\node[vertex] (v31) at (2.95,6.43) {};
+\path[comp] (v30) -- (v31);
+
+\node[vertex] (v32) at (3.62,0.00) {};
+\node[vertex] (v33) at (3.62,0.54) {};
+\path[comp] (v32) -- (v33);
+
+\node[vertex] (v34) at (3.62,1.07) {};
+\node[vertex] (v35) at (3.62,2.68) {};
+\path[comp] (v34) -- (v35);
+
+\node[vertex] (v36) at (3.82,2.14) {};
+\node[vertex] (v37) at (3.82,5.36) {};
+\path[comp] (v36) -- (v37);
+
+\node[vertex] (v38) at (3.62,3.21) {};
+\node[vertex] (v39) at (3.62,6.96) {};
+\path[comp] (v38) -- (v39);
+
+\node[vertex] (v40) at (4.02,3.75) {};
+\node[vertex] (v41) at (4.02,5.89) {};
+\path[comp] (v40) -- (v41);
+
+\node[vertex] (v42) at (4.22,4.29) {};
+\node[vertex] (v43) at (4.22,4.82) {};
+\path[comp] (v42) -- (v43);
+
+\node[vertex] (v44) at (3.62,7.50) {};
+\node[vertex] (v45) at (3.62,8.04) {};
+\path[comp] (v44) -- (v45);
+
+\node[vertex] (v46) at (3.62,9.11) {};
+\node[vertex] (v47) at (3.62,9.64) {};
+\path[comp] (v46) -- (v47);
+
+\node[vertex] (v48) at (4.89,0.00) {};
+\node[vertex] (v49) at (4.89,1.61) {};
+\path[comp] (v48) -- (v49);
+
+\node[vertex] (v50) at (5.09,0.54) {};
+\node[vertex] (v51) at (5.09,2.68) {};
+\path[comp] (v50) -- (v51);
+
+\node[vertex] (v52) at (5.29,1.07) {};
+\node[vertex] (v53) at (5.29,3.21) {};
+\path[comp] (v52) -- (v53);
+
+\node[vertex] (v54) at (4.89,2.14) {};
+\node[vertex] (v55) at (4.89,7.50) {};
+\path[comp] (v54) -- (v55);
+
+\node[vertex] (v56) at (5.09,5.36) {};
+\node[vertex] (v57) at (5.09,8.57) {};
+\path[comp] (v56) -- (v57);
+
+\node[vertex] (v58) at (5.29,6.43) {};
+\node[vertex] (v59) at (5.29,6.96) {};
+\path[comp] (v58) -- (v59);
+
+\node[vertex] (v60) at (5.96,0.54) {};
+\node[vertex] (v61) at (5.96,1.07) {};
+\path[comp] (v60) -- (v61);
+
+\node[vertex] (v62) at (5.96,2.68) {};
+\node[vertex] (v63) at (5.96,3.21) {};
+\path[comp] (v62) -- (v63);
+
+\node[vertex] (v64) at (5.96,5.36) {};
+\node[vertex] (v65) at (5.96,7.50) {};
+\path[comp] (v64) -- (v65);
+
+\node[vertex] (v66) at (5.96,8.04) {};
+\node[vertex] (v67) at (5.96,8.57) {};
+\path[comp] (v66) -- (v67);
+
+\node[vertex] (v68) at (6.63,0.54) {};
+\node[vertex] (v69) at (6.63,6.43) {};
+\path[comp] (v68) -- (v69);
+
+\node[vertex] (v70) at (6.83,1.07) {};
+\node[vertex] (v71) at (6.83,5.89) {};
+\path[comp] (v70) -- (v71);
+
+\node[vertex] (v72) at (7.03,1.61) {};
+\node[vertex] (v73) at (7.03,3.21) {};
+\path[comp] (v72) -- (v73);
+
+\node[vertex] (v74) at (7.23,2.68) {};
+\node[vertex] (v75) at (7.23,3.75) {};
+\path[comp] (v74) -- (v75);
+
+\node[vertex] (v76) at (7.03,4.29) {};
+\node[vertex] (v77) at (7.03,5.36) {};
+\path[comp] (v76) -- (v77);
+
+\node[vertex] (v78) at (7.23,4.82) {};
+\node[vertex] (v79) at (7.23,8.57) {};
+\path[comp] (v78) -- (v79);
+
+\node[vertex] (v80) at (6.63,7.50) {};
+\node[vertex] (v81) at (6.63,9.64) {};
+\path[comp] (v80) -- (v81);
+
+\node[vertex] (v82) at (6.83,8.04) {};
+\node[vertex] (v83) at (6.83,9.11) {};
+\path[comp] (v82) -- (v83);
+
+\node[vertex] (v84) at (7.90,0.54) {};
+\node[vertex] (v85) at (7.90,2.68) {};
+\path[comp] (v84) -- (v85);
+
+\node[vertex] (v86) at (8.10,1.07) {};
+\node[vertex] (v87) at (8.10,1.61) {};
+\path[comp] (v86) -- (v87);
+
+\node[vertex] (v88) at (8.10,2.14) {};
+\node[vertex] (v89) at (8.10,4.82) {};
+\path[comp] (v88) -- (v89);
+
+\node[vertex] (v90) at (7.90,3.21) {};
+\node[vertex] (v91) at (7.90,5.89) {};
+\path[comp] (v90) -- (v91);
+
+\node[vertex] (v92) at (8.30,3.75) {};
+\node[vertex] (v93) at (8.30,6.43) {};
+\path[comp] (v92) -- (v93);
+
+\node[vertex] (v94) at (8.10,5.36) {};
+\node[vertex] (v95) at (8.10,8.04) {};
+\path[comp] (v94) -- (v95);
+
+\node[vertex] (v96) at (7.90,8.57) {};
+\node[vertex] (v97) at (7.90,9.64) {};
+\path[comp] (v96) -- (v97);
+
+\node[vertex] (v98) at (8.97,0.54) {};
+\node[vertex] (v99) at (8.97,1.07) {};
+\path[comp] (v98) -- (v99);
+
+\node[vertex] (v100) at (8.97,1.61) {};
+\node[vertex] (v101) at (8.97,2.68) {};
+\path[comp] (v100) -- (v101);
+
+\node[vertex] (v102) at (9.17,2.14) {};
+\node[vertex] (v103) at (9.17,4.29) {};
+\path[comp] (v102) -- (v103);
+
+\node[vertex] (v104) at (8.97,3.21) {};
+\node[vertex] (v105) at (8.97,3.75) {};
+\path[comp] (v104) -- (v105);
+
+\node[vertex] (v106) at (8.97,4.82) {};
+\node[vertex] (v107) at (8.97,7.50) {};
+\path[comp] (v106) -- (v107);
+
+\node[vertex] (v108) at (9.17,5.89) {};
+\node[vertex] (v109) at (9.17,6.43) {};
+\path[comp] (v108) -- (v109);
+
+\node[vertex] (v110) at (9.17,6.96) {};
+\node[vertex] (v111) at (9.17,9.64) {};
+\path[comp] (v110) -- (v111);
+
+\node[vertex] (v112) at (8.97,8.57) {};
+\node[vertex] (v113) at (8.97,9.11) {};
+\path[comp] (v112) -- (v113);
+
+\node[vertex] (v114) at (9.84,0.54) {};
+\node[vertex] (v115) at (9.84,2.14) {};
+\path[comp] (v114) -- (v115);
+
+\node[vertex] (v116) at (10.04,1.07) {};
+\node[vertex] (v117) at (10.04,4.29) {};
+\path[comp] (v116) -- (v117);
+
+\node[vertex] (v118) at (9.84,4.82) {};
+\node[vertex] (v119) at (9.84,5.36) {};
+\path[comp] (v118) -- (v119);
+
+\node[vertex] (v120) at (9.84,5.89) {};
+\node[vertex] (v121) at (9.84,8.57) {};
+\path[comp] (v120) -- (v121);
+
+\node[vertex] (v122) at (10.04,6.43) {};
+\node[vertex] (v123) at (10.04,9.11) {};
+\path[comp] (v122) -- (v123);
+
+\node[vertex] (v124) at (10.25,7.50) {};
+\node[vertex] (v125) at (10.25,8.04) {};
+\path[comp] (v124) -- (v125);
+
+\node[vertex] (v126) at (10.92,0.00) {};
+\node[vertex] (v127) at (10.92,6.43) {};
+\path[comp] (v126) -- (v127);
+
+\node[vertex] (v128) at (11.12,1.61) {};
+\node[vertex] (v129) at (11.12,4.82) {};
+\path[comp] (v128) -- (v129);
+
+\node[vertex] (v130) at (11.32,2.14) {};
+\node[vertex] (v131) at (11.32,6.96) {};
+\path[comp] (v130) -- (v131);
+
+\node[vertex] (v132) at (11.52,2.68) {};
+\node[vertex] (v133) at (11.52,5.36) {};
+\path[comp] (v132) -- (v133);
+
+\node[vertex] (v134) at (11.72,3.21) {};
+\node[vertex] (v135) at (11.72,7.50) {};
+\path[comp] (v134) -- (v135);
+
+\node[vertex] (v136) at (11.92,3.75) {};
+\node[vertex] (v137) at (11.92,8.04) {};
+\path[comp] (v136) -- (v137);
+
+\node[vertex] (v138) at (12.59,0.00) {};
+\node[vertex] (v139) at (12.59,2.68) {};
+\path[comp] (v138) -- (v139);
+
+\node[vertex] (v140) at (12.79,2.14) {};
+\node[vertex] (v141) at (12.79,3.21) {};
+\path[comp] (v140) -- (v141);
+
+\node[vertex] (v142) at (12.59,3.75) {};
+\node[vertex] (v143) at (12.59,4.29) {};
+\path[comp] (v142) -- (v143);
+
+\node[vertex] (v144) at (12.59,4.82) {};
+\node[vertex] (v145) at (12.59,5.89) {};
+\path[comp] (v144) -- (v145);
+
+\node[vertex] (v146) at (12.79,5.36) {};
+\node[vertex] (v147) at (12.79,6.43) {};
+\path[comp] (v146) -- (v147);
+
+\node[vertex] (v148) at (12.59,6.96) {};
+\node[vertex] (v149) at (12.59,7.50) {};
+\path[comp] (v148) -- (v149);
+
+\node[vertex] (v150) at (13.46,0.00) {};
+\node[vertex] (v151) at (13.46,1.07) {};
+\path[comp] (v150) -- (v151);
+
+\node[vertex] (v152) at (13.46,1.61) {};
+\node[vertex] (v153) at (13.46,2.14) {};
+\path[comp] (v152) -- (v153);
+
+\node[vertex] (v154) at (13.46,2.68) {};
+\node[vertex] (v155) at (13.46,3.75) {};
+\path[comp] (v154) -- (v155);
+
+\node[vertex] (v156) at (13.66,3.21) {};
+\node[vertex] (v157) at (13.66,4.82) {};
+\path[comp] (v156) -- (v157);
+
+\node[vertex] (v158) at (13.46,4.29) {};
+\node[vertex] (v159) at (13.46,5.36) {};
+\path[comp] (v158) -- (v159);
+
+\node[vertex] (v160) at (13.46,5.89) {};
+\node[vertex] (v161) at (13.46,6.96) {};
+\path[comp] (v160) -- (v161);
+
+\node[vertex] (v162) at (13.66,6.43) {};
+\node[vertex] (v163) at (13.66,8.04) {};
+\path[comp] (v162) -- (v163);
+
+\node[vertex] (v164) at (13.46,7.50) {};
+\node[vertex] (v165) at (13.46,8.57) {};
+\path[comp] (v164) -- (v165);
+
+\node[vertex] (v166) at (14.33,0.00) {};
+\node[vertex] (v167) at (14.33,0.54) {};
+\path[comp] (v166) -- (v167);
+
+\node[vertex] (v168) at (14.33,1.07) {};
+\node[vertex] (v169) at (14.33,1.61) {};
+\path[comp] (v168) -- (v169);
+
+\node[vertex] (v170) at (14.33,2.14) {};
+\node[vertex] (v171) at (14.33,2.68) {};
+\path[comp] (v170) -- (v171);
+
+\node[vertex] (v172) at (14.33,3.21) {};
+\node[vertex] (v173) at (14.33,3.75) {};
+\path[comp] (v172) -- (v173);
+
+\node[vertex] (v174) at (14.33,4.29) {};
+\node[vertex] (v175) at (14.33,4.82) {};
+\path[comp] (v174) -- (v175);
+
+\node[vertex] (v176) at (14.33,5.36) {};
+\node[vertex] (v177) at (14.33,5.89) {};
+\path[comp] (v176) -- (v177);
+
+\node[vertex] (v178) at (14.33,6.43) {};
+\node[vertex] (v179) at (14.33,6.96) {};
+\path[comp] (v178) -- (v179);
+
+\node[vertex] (v180) at (14.33,7.50) {};
+\node[vertex] (v181) at (14.33,8.04) {};
+\path[comp] (v180) -- (v181);
+
+\node[vertex] (v182) at (14.33,8.57) {};
+\node[vertex] (v183) at (14.33,9.11) {};
+\path[comp] (v182) -- (v183);
+
+\path[edge] (0,0.00) -- (15.00,0.00);
+\path[edge] (0,0.54) -- (15.00,0.54);
+\path[edge] (0,1.07) -- (15.00,1.07);
+\path[edge] (0,1.61) -- (15.00,1.61);
+\path[edge] (0,2.14) -- (15.00,2.14);
+\path[edge] (0,2.68) -- (15.00,2.68);
+\path[edge] (0,3.21) -- (15.00,3.21);
+\path[edge] (0,3.75) -- (15.00,3.75);
+\path[edge] (0,4.29) -- (15.00,4.29);
+\path[edge] (0,4.82) -- (15.00,4.82);
+\path[edge] (0,5.36) -- (15.00,5.36);
+\path[edge] (0,5.89) -- (15.00,5.89);
+\path[edge] (0,6.43) -- (15.00,6.43);
+\path[edge] (0,6.96) -- (15.00,6.96);
+\path[edge] (0,7.50) -- (15.00,7.50);
+\path[edge] (0,8.04) -- (15.00,8.04);
+\path[edge] (0,8.57) -- (15.00,8.57);
+\path[edge] (0,9.11) -- (15.00,9.11);
+\path[edge] (0,9.64) -- (15.00,9.64);
+\end{tikzpicture}