From: Florian Forster Date: Sun, 27 Feb 2011 12:04:35 +0000 (+0100) Subject: SN-Evolution: RND: Grafik für n = 19. X-Git-Url: https://git.octo.it/?p=diplomarbeit.git;a=commitdiff_plain;h=15a20a5b130765574e39a8c2cc886fef3a88191e SN-Evolution: RND: Grafik für n = 19. --- diff --git a/diplomarbeit.tex b/diplomarbeit.tex index 69bf56e..19ade54 100644 --- a/diplomarbeit.tex +++ b/diplomarbeit.tex @@ -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 -\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} @@ -1675,6 +1669,25 @@ Leitungen & \multicolumn{2}{l|}{\textsc{SN-EV} mit \bm{n}} \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 diff --git a/images/19-e1-rnd-fast.tex b/images/19-e1-rnd-fast.tex new file mode 100644 index 0000000..8eacd82 --- /dev/null +++ b/images/19-e1-rnd-fast.tex @@ -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}