From 8d573522999d9050049c4c95d3b2c8986715bfd6 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Sun, 27 Feb 2011 12:33:58 +0100 Subject: [PATCH] =?utf8?q?SN-Evolution:=20OEM:=20Beispiel=20fuer=2019-SN?= =?utf8?q?=20hinzugef=C3=BCgt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- diplomarbeit.tex | 22 +- ...1-oddeven-1296543330.tex => 16-e1-oem-fast.tex} | 0 images/19-e1-oem-fast.tex | 393 +++++++++++++++++++++ 3 files changed, 408 insertions(+), 7 deletions(-) rename images/{16-e1-oddeven-1296543330.tex => 16-e1-oem-fast.tex} (100%) create mode 100644 images/19-e1-oem-fast.tex diff --git a/diplomarbeit.tex b/diplomarbeit.tex index eb02552..69bf56e 100644 --- a/diplomarbeit.tex +++ b/diplomarbeit.tex @@ -1554,26 +1554,34 @@ erzielen. Die Sortiernetzwerke, die \textsc{SN-Evolution} unter Verwendung des \emph{Odd-Even-Merge}-Netzwerks findet, erreichen das \emph{Odd-Even-Mergesort}-Netzwerk bezüglich Effizienz, übertreffen es aber nicht. Ein Beispiel für ein entsprechendes Sortiernetzwerk ist in -Abbildung~\ref{fig:16-e1-oddeven-1296543330} dargestellt. +Abbildung~\ref{fig:16-e1-oem-fast} dargestellt. \begin{figure} \begin{center} - \input{images/16-e1-oddeven-1296543330.tex} + \input{images/16-e1-oem-fast.tex} \end{center} \caption{Sortiernetzwerk mit 16~Leitungen und 63~Komparatoren in 10~Schichten. Das Netzwerk wurde von dem Algorithmus \textsc{SN-Evolution} unter Verwendung des \emph{Odd-Even}-Mischers erzeugt.} - \label{fig:16-e1-oddeven-1296543330} + \label{fig:16-e1-oem-fast} \end{figure} Mit einer Gütefunktion, die schnelle Sortiernetzwerke bevorzugt, ist es auch mit dem \emph{Odd-Even}-Mischer möglich, dass \textsc{SN-Evolution} -Sortiernetzwerke zurück gibt, die schneller als \oes{n} sind. Dies geschieht -beispielsweise bei $n = 11$ und $n = 12$: für diese Leitungszahlen gibt -\textsc{SN-Evolution} Sortiernetzwerke aus, die nur 9~Schichten benötigen. -\oes{11} und \oes{12} benötigen jeweils 10~Schichten. +Sortiernetzwerke zurück gibt, die schneller als \oes{n} sind. Beispielsweise +benötigt das 19-Sortiernetzwerk, das in Abbildung~\ref{fig:19-e1-oem-fast} +dargestellt ist, nur 13~Schichten, während \oes{19} 14~Schichten benötigt. +\begin{figure} + \begin{center} + \input{images/19-e1-oem-fast.tex} + \end{center} + \caption{Sortiernetzwerk mit 19~Leitungen und 93~Komparatoren in + 13~Schichten. Das Netzwerk wurde von dem Algorithmus \textsc{SN-Evolution} + unter Verwendung des \emph{Odd-Even}-Mischers erzeugt.} + \label{fig:19-e1-oem-fast} +\end{figure} %\begin{figure} %\begin{center} diff --git a/images/16-e1-oddeven-1296543330.tex b/images/16-e1-oem-fast.tex similarity index 100% rename from images/16-e1-oddeven-1296543330.tex rename to images/16-e1-oem-fast.tex diff --git a/images/19-e1-oem-fast.tex b/images/19-e1-oem-fast.tex new file mode 100644 index 0000000..a6dd4f6 --- /dev/null +++ b/images/19-e1-oem-fast.tex @@ -0,0 +1,393 @@ +\begin{tikzpicture}[auto] +\node[vertex] (v0) at (0.65,0.00) {}; +\node[vertex] (v1) at (0.65,3.13) {}; +\path[comp] (v0) -- (v1); + +\node[vertex] (v2) at (0.85,0.52) {}; +\node[vertex] (v3) at (0.85,1.04) {}; +\path[comp] (v2) -- (v3); + +\node[vertex] (v4) at (0.85,1.57) {}; +\node[vertex] (v5) at (0.85,3.65) {}; +\path[comp] (v4) -- (v5); + +\node[vertex] (v6) at (1.04,2.61) {}; +\node[vertex] (v7) at (1.04,9.39) {}; +\path[comp] (v6) -- (v7); + +\node[vertex] (v8) at (0.65,4.17) {}; +\node[vertex] (v9) at (0.65,6.26) {}; +\path[comp] (v8) -- (v9); + +\node[vertex] (v10) at (0.85,4.70) {}; +\node[vertex] (v11) at (0.85,8.87) {}; +\path[comp] (v10) -- (v11); + +\node[vertex] (v12) at (1.24,5.22) {}; +\node[vertex] (v13) at (1.24,5.74) {}; +\path[comp] (v12) -- (v13); + +\node[vertex] (v14) at (0.65,7.30) {}; +\node[vertex] (v15) at (0.65,8.35) {}; +\path[comp] (v14) -- (v15); + +\node[vertex] (v16) at (1.89,0.00) {}; +\node[vertex] (v17) at (1.89,0.52) {}; +\path[comp] (v16) -- (v17); + +\node[vertex] (v18) at (1.89,1.04) {}; +\node[vertex] (v19) at (1.89,3.13) {}; +\path[comp] (v18) -- (v19); + +\node[vertex] (v20) at (2.09,1.57) {}; +\node[vertex] (v21) at (2.09,6.78) {}; +\path[comp] (v20) -- (v21); + +\node[vertex] (v22) at (2.28,2.09) {}; +\node[vertex] (v23) at (2.28,9.39) {}; +\path[comp] (v22) -- (v23); + +\node[vertex] (v24) at (1.89,7.30) {}; +\node[vertex] (v25) at (1.89,7.83) {}; +\path[comp] (v24) -- (v25); + +\node[vertex] (v26) at (2.93,0.52) {}; +\node[vertex] (v27) at (2.93,1.04) {}; +\path[comp] (v26) -- (v27); + +\node[vertex] (v28) at (2.93,1.57) {}; +\node[vertex] (v29) at (2.93,4.17) {}; +\path[comp] (v28) -- (v29); + +\node[vertex] (v30) at (3.13,2.09) {}; +\node[vertex] (v31) at (3.13,2.61) {}; +\path[comp] (v30) -- (v31); + +\node[vertex] (v32) at (3.13,3.65) {}; +\node[vertex] (v33) at (3.13,6.78) {}; +\path[comp] (v32) -- (v33); + +\node[vertex] (v34) at (2.93,5.22) {}; +\node[vertex] (v35) at (2.93,7.30) {}; +\path[comp] (v34) -- (v35); + +\node[vertex] (v36) at (2.93,7.83) {}; +\node[vertex] (v37) at (2.93,8.35) {}; +\path[comp] (v36) -- (v37); + +\node[vertex] (v38) at (2.93,8.87) {}; +\node[vertex] (v39) at (2.93,9.39) {}; +\path[comp] (v38) -- (v39); + +\node[vertex] (v40) at (3.78,1.57) {}; +\node[vertex] (v41) at (3.78,3.13) {}; +\path[comp] (v40) -- (v41); + +\node[vertex] (v42) at (3.98,2.09) {}; +\node[vertex] (v43) at (3.98,8.87) {}; +\path[comp] (v42) -- (v43); + +\node[vertex] (v44) at (4.17,2.61) {}; +\node[vertex] (v45) at (4.17,4.70) {}; +\path[comp] (v44) -- (v45); + +\node[vertex] (v46) at (3.78,3.65) {}; +\node[vertex] (v47) at (3.78,6.26) {}; +\path[comp] (v46) -- (v47); + +\node[vertex] (v48) at (4.37,4.17) {}; +\node[vertex] (v49) at (4.37,6.78) {}; +\path[comp] (v48) -- (v49); + +\node[vertex] (v50) at (4.17,5.74) {}; +\node[vertex] (v51) at (4.17,7.83) {}; +\path[comp] (v50) -- (v51); + +\node[vertex] (v52) at (3.78,7.30) {}; +\node[vertex] (v53) at (3.78,8.35) {}; +\path[comp] (v52) -- (v53); + +\node[vertex] (v54) at (5.02,2.09) {}; +\node[vertex] (v55) at (5.02,2.61) {}; +\path[comp] (v54) -- (v55); + +\node[vertex] (v56) at (5.02,3.65) {}; +\node[vertex] (v57) at (5.02,4.17) {}; +\path[comp] (v56) -- (v57); + +\node[vertex] (v58) at (5.02,4.70) {}; +\node[vertex] (v59) at (5.02,8.87) {}; +\path[comp] (v58) -- (v59); + +\node[vertex] (v60) at (5.22,5.74) {}; +\node[vertex] (v61) at (5.22,7.30) {}; +\path[comp] (v60) -- (v61); + +\node[vertex] (v62) at (5.41,6.26) {}; +\node[vertex] (v63) at (5.41,6.78) {}; +\path[comp] (v62) -- (v63); + +\node[vertex] (v64) at (5.22,7.83) {}; +\node[vertex] (v65) at (5.22,8.35) {}; +\path[comp] (v64) -- (v65); + +\node[vertex] (v66) at (6.07,0.00) {}; +\node[vertex] (v67) at (6.07,3.65) {}; +\path[comp] (v66) -- (v67); + +\node[vertex] (v68) at (6.26,0.52) {}; +\node[vertex] (v69) at (6.26,4.17) {}; +\path[comp] (v68) -- (v69); + +\node[vertex] (v70) at (6.46,1.04) {}; +\node[vertex] (v71) at (6.46,6.26) {}; +\path[comp] (v70) -- (v71); + +\node[vertex] (v72) at (6.65,2.09) {}; +\node[vertex] (v73) at (6.65,7.83) {}; +\path[comp] (v72) -- (v73); + +\node[vertex] (v74) at (6.85,2.61) {}; +\node[vertex] (v75) at (6.85,8.35) {}; +\path[comp] (v74) -- (v75); + +\node[vertex] (v76) at (7.04,3.13) {}; +\node[vertex] (v77) at (7.04,6.78) {}; +\path[comp] (v76) -- (v77); + +\node[vertex] (v78) at (6.07,4.70) {}; +\node[vertex] (v79) at (6.07,5.74) {}; +\path[comp] (v78) -- (v79); + +\node[vertex] (v80) at (6.07,7.30) {}; +\node[vertex] (v81) at (6.07,8.87) {}; +\path[comp] (v80) -- (v81); + +\node[vertex] (v82) at (7.70,0.52) {}; +\node[vertex] (v83) at (7.70,1.57) {}; +\path[comp] (v82) -- (v83); + +\node[vertex] (v84) at (7.89,1.04) {}; +\node[vertex] (v85) at (7.89,3.65) {}; +\path[comp] (v84) -- (v85); + +\node[vertex] (v86) at (7.70,2.09) {}; +\node[vertex] (v87) at (7.70,4.70) {}; +\path[comp] (v86) -- (v87); + +\node[vertex] (v88) at (8.09,2.61) {}; +\node[vertex] (v89) at (8.09,5.22) {}; +\path[comp] (v88) -- (v89); + +\node[vertex] (v90) at (8.28,3.13) {}; +\node[vertex] (v91) at (8.28,4.17) {}; +\path[comp] (v90) -- (v91); + +\node[vertex] (v92) at (7.70,7.83) {}; +\node[vertex] (v93) at (7.70,9.39) {}; +\path[comp] (v92) -- (v93); + +\node[vertex] (v94) at (7.89,8.35) {}; +\node[vertex] (v95) at (7.89,8.87) {}; +\path[comp] (v94) -- (v95); + +\node[vertex] (v96) at (8.93,0.00) {}; +\node[vertex] (v97) at (8.93,0.52) {}; +\path[comp] (v96) -- (v97); + +\node[vertex] (v98) at (8.93,1.04) {}; +\node[vertex] (v99) at (8.93,1.57) {}; +\path[comp] (v98) -- (v99); + +\node[vertex] (v100) at (8.93,2.09) {}; +\node[vertex] (v101) at (8.93,2.61) {}; +\path[comp] (v100) -- (v101); + +\node[vertex] (v102) at (8.93,3.13) {}; +\node[vertex] (v103) at (8.93,3.65) {}; +\path[comp] (v102) -- (v103); + +\node[vertex] (v104) at (8.93,4.17) {}; +\node[vertex] (v105) at (8.93,6.26) {}; +\path[comp] (v104) -- (v105); + +\node[vertex] (v106) at (9.13,5.22) {}; +\node[vertex] (v107) at (9.13,7.30) {}; +\path[comp] (v106) -- (v107); + +\node[vertex] (v108) at (9.33,5.74) {}; +\node[vertex] (v109) at (9.33,7.83) {}; +\path[comp] (v108) -- (v109); + +\node[vertex] (v110) at (8.93,8.87) {}; +\node[vertex] (v111) at (8.93,9.39) {}; +\path[comp] (v110) -- (v111); + +\node[vertex] (v112) at (9.98,0.00) {}; +\node[vertex] (v113) at (9.98,2.09) {}; +\path[comp] (v112) -- (v113); + +\node[vertex] (v114) at (10.17,0.52) {}; +\node[vertex] (v115) at (10.17,2.61) {}; +\path[comp] (v114) -- (v115); + +\node[vertex] (v116) at (9.98,4.70) {}; +\node[vertex] (v117) at (9.98,5.22) {}; +\path[comp] (v116) -- (v117); + +\node[vertex] (v118) at (9.98,5.74) {}; +\node[vertex] (v119) at (9.98,7.30) {}; +\path[comp] (v118) -- (v119); + +\node[vertex] (v120) at (10.17,6.78) {}; +\node[vertex] (v121) at (10.17,8.87) {}; +\path[comp] (v120) -- (v121); + +\node[vertex] (v122) at (9.98,7.83) {}; +\node[vertex] (v123) at (9.98,8.35) {}; +\path[comp] (v122) -- (v123); + +\node[vertex] (v124) at (10.83,1.04) {}; +\node[vertex] (v125) at (10.83,4.70) {}; +\path[comp] (v124) -- (v125); + +\node[vertex] (v126) at (11.02,1.57) {}; +\node[vertex] (v127) at (11.02,5.22) {}; +\path[comp] (v126) -- (v127); + +\node[vertex] (v128) at (11.22,2.09) {}; +\node[vertex] (v129) at (11.22,6.78) {}; +\path[comp] (v128) -- (v129); + +\node[vertex] (v130) at (11.41,2.61) {}; +\node[vertex] (v131) at (11.41,9.39) {}; +\path[comp] (v130) -- (v131); + +\node[vertex] (v132) at (11.61,3.13) {}; +\node[vertex] (v133) at (11.61,5.74) {}; +\path[comp] (v132) -- (v133); + +\node[vertex] (v134) at (11.80,3.65) {}; +\node[vertex] (v135) at (11.80,7.30) {}; +\path[comp] (v134) -- (v135); + +\node[vertex] (v136) at (12.00,4.17) {}; +\node[vertex] (v137) at (12.00,7.83) {}; +\path[comp] (v136) -- (v137); + +\node[vertex] (v138) at (10.83,6.26) {}; +\node[vertex] (v139) at (10.83,8.35) {}; +\path[comp] (v138) -- (v139); + +\node[vertex] (v140) at (12.65,2.09) {}; +\node[vertex] (v141) at (12.65,3.13) {}; +\path[comp] (v140) -- (v141); + +\node[vertex] (v142) at (12.85,2.61) {}; +\node[vertex] (v143) at (12.85,3.65) {}; +\path[comp] (v142) -- (v143); + +\node[vertex] (v144) at (12.65,4.17) {}; +\node[vertex] (v145) at (12.65,4.70) {}; +\path[comp] (v144) -- (v145); + +\node[vertex] (v146) at (12.65,5.22) {}; +\node[vertex] (v147) at (12.65,6.26) {}; +\path[comp] (v146) -- (v147); + +\node[vertex] (v148) at (12.85,5.74) {}; +\node[vertex] (v149) at (12.85,6.78) {}; +\path[comp] (v148) -- (v149); + +\node[vertex] (v150) at (12.65,7.30) {}; +\node[vertex] (v151) at (12.65,9.39) {}; +\path[comp] (v150) -- (v151); + +\node[vertex] (v152) at (13.50,1.04) {}; +\node[vertex] (v153) at (13.50,2.09) {}; +\path[comp] (v152) -- (v153); + +\node[vertex] (v154) at (13.70,1.57) {}; +\node[vertex] (v155) at (13.70,2.61) {}; +\path[comp] (v154) -- (v155); + +\node[vertex] (v156) at (13.50,3.13) {}; +\node[vertex] (v157) at (13.50,4.17) {}; +\path[comp] (v156) -- (v157); + +\node[vertex] (v158) at (13.70,3.65) {}; +\node[vertex] (v159) at (13.70,5.22) {}; +\path[comp] (v158) -- (v159); + +\node[vertex] (v160) at (13.50,4.70) {}; +\node[vertex] (v161) at (13.50,5.74) {}; +\path[comp] (v160) -- (v161); + +\node[vertex] (v162) at (13.50,6.26) {}; +\node[vertex] (v163) at (13.50,7.30) {}; +\path[comp] (v162) -- (v163); + +\node[vertex] (v164) at (13.70,6.78) {}; +\node[vertex] (v165) at (13.70,7.83) {}; +\path[comp] (v164) -- (v165); + +\node[vertex] (v166) at (13.50,8.35) {}; +\node[vertex] (v167) at (13.50,9.39) {}; +\path[comp] (v166) -- (v167); + +\node[vertex] (v168) at (14.35,0.52) {}; +\node[vertex] (v169) at (14.35,1.04) {}; +\path[comp] (v168) -- (v169); + +\node[vertex] (v170) at (14.35,1.57) {}; +\node[vertex] (v171) at (14.35,2.09) {}; +\path[comp] (v170) -- (v171); + +\node[vertex] (v172) at (14.35,2.61) {}; +\node[vertex] (v173) at (14.35,3.13) {}; +\path[comp] (v172) -- (v173); + +\node[vertex] (v174) at (14.35,3.65) {}; +\node[vertex] (v175) at (14.35,4.17) {}; +\path[comp] (v174) -- (v175); + +\node[vertex] (v176) at (14.35,4.70) {}; +\node[vertex] (v177) at (14.35,5.22) {}; +\path[comp] (v176) -- (v177); + +\node[vertex] (v178) at (14.35,5.74) {}; +\node[vertex] (v179) at (14.35,6.26) {}; +\path[comp] (v178) -- (v179); + +\node[vertex] (v180) at (14.35,6.78) {}; +\node[vertex] (v181) at (14.35,7.30) {}; +\path[comp] (v180) -- (v181); + +\node[vertex] (v182) at (14.35,7.83) {}; +\node[vertex] (v183) at (14.35,8.35) {}; +\path[comp] (v182) -- (v183); + +\node[vertex] (v184) at (14.35,8.87) {}; +\node[vertex] (v185) at (14.35,9.39) {}; +\path[comp] (v184) -- (v185); + +\path[edge] (0,0.00) -- (15.00,0.00); +\path[edge] (0,0.52) -- (15.00,0.52); +\path[edge] (0,1.04) -- (15.00,1.04); +\path[edge] (0,1.57) -- (15.00,1.57); +\path[edge] (0,2.09) -- (15.00,2.09); +\path[edge] (0,2.61) -- (15.00,2.61); +\path[edge] (0,3.13) -- (15.00,3.13); +\path[edge] (0,3.65) -- (15.00,3.65); +\path[edge] (0,4.17) -- (15.00,4.17); +\path[edge] (0,4.70) -- (15.00,4.70); +\path[edge] (0,5.22) -- (15.00,5.22); +\path[edge] (0,5.74) -- (15.00,5.74); +\path[edge] (0,6.26) -- (15.00,6.26); +\path[edge] (0,6.78) -- (15.00,6.78); +\path[edge] (0,7.30) -- (15.00,7.30); +\path[edge] (0,7.83) -- (15.00,7.83); +\path[edge] (0,8.35) -- (15.00,8.35); +\path[edge] (0,8.87) -- (15.00,8.87); +\path[edge] (0,9.39) -- (15.00,9.39); +\end{tikzpicture} -- 2.11.0