From da8bbbc5dc446a98cced33ddae4a1cc5f47a35ca Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Mon, 28 Feb 2011 09:20:02 +0100 Subject: [PATCH] =?utf8?q?SN-Evolution-Cut:=20PS:=20Tabelle=20und=20Beispi?= =?utf8?q?el-SN=20hinzugef=C3=BCgt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- diplomarbeit.tex | 84 +++++++++- images/11-ec-from-ps13.tex | 161 +++++++++++++++++++ images/12-ec-from-ps16.tex | 178 +++++++++++++++++++++ images/18-ec-from-ps24.tex | 376 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 794 insertions(+), 5 deletions(-) create mode 100644 images/11-ec-from-ps13.tex create mode 100644 images/12-ec-from-ps16.tex create mode 100644 images/18-ec-from-ps24.tex diff --git a/diplomarbeit.tex b/diplomarbeit.tex index 7f9cb23..70a7c42 100644 --- a/diplomarbeit.tex +++ b/diplomarbeit.tex @@ -2572,11 +2572,7 @@ effizient wie \oes{12}, dafür aber schneller als \oes{12} und \bs{12}. \subsection[Pairwise-Sorting-Netzwerk]{Versuche mit dem Pairwise-Sorting-Netzwerk} -Die Ergebnisse, die \textsc{SN-Evolution-Cut} erzielte, wenn das gegebene -Sortiernetzwerk das \emph{bitone Mergesort}-Netzwerk war -(Abschnitt~\ref{sect:sn-evolution-cut:bs}), waren sehr wirr. Beispielsweise -ist bei dem Netzwerk in Abbildung~\ref{fig:32-ec-from-bs64} nicht ersichtlich, -wie und warum es jede beliebige Eingabe sortiert. +% Effizienz \begin{table} \begin{center} @@ -2612,9 +2608,87 @@ wie und warum es jede beliebige Eingabe sortiert. Jede Zeile gibt die Ergebnisse für ein Eingabenetzwerk \ps{n} an, jede Spalte enthält die Ergebnisse für $m=n-k$, die Anzahl der Leitungen des Ausgabenetzwerks.} + \label{tbl:ec-ps-efficiency} +\end{table} + +% Beispiel Effizienz + +\begin{figure} + \centering + \subfigure[11-Sortiernetzwerk aus 37~Komparatoren in 10~Schichten. Das + Netzwerk wurde von \textsc{SN-Evolution-Cut} aus dem + \emph{Pairwise-Sorting}-Netzwerk \ps{13} + erzeugt.]{\input{images/11-ec-from-ps13.tex}} + \subfigure[12-Sortiernetzwerk aus 41~Komparatoren in 10~Schichten. Das + Netzwerk wurde von \textsc{SN-Evolution-Cut} aus dem + \emph{Pairwise-Sorting}-Netzwerk \ps{16} + erzeugt.]{\input{images/12-ec-from-ps16.tex}} + \caption{Zwei effiziente Sortiernetzwerke, die durch Schnittmuster, die von + \emph{SN-Evolution-Cut} berechnet wurden, aus dem + \emph{Pairwise-Sorting}-Netzwerk \ps{n} erzeugt wurden.} + \label{fig:ec-ps-efficient_networks} +\end{figure} + +% Geschwindigkeit + +\begin{table} + \begin{center} + \rowcolors{2}{black!5}{} + \begin{tabular}{|r|rrrrrrrrrrrrrrrr|} + \hline + & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 \\ + \hline + 9 & 6 & & & & & & & & & & & & & & & \\ + 10 & 6 & 10 & & & & & & & & & & & & & & \\ + 11 & 6 & 9 & 10 & & & & & & & & & & & & & \\ + 12 & 6 & 8 & 9 & 10 & & & & & & & & & & & & \\ + 13 & 6 & 8 & 9 & 10 & 10 & & & & & & & & & & & \\ + 14 & 6 & 8 & 9 & 10 & 10 & 10 & & & & & & & & & & \\ + 15 & 6 & 8 & 9 & 10 & 10 & 10 & 10 & & & & & & & & & \\ + 16 & 6 & 8 & 9 & 10 & 10 & 10 & 10 & 10 & & & & & & & & \\ + 17 & 7 & 8 & 9 & 10 & 10 & 11 & 11 & 11 & 11 & & & & & & & \\ + 18 & 7 & 8 & 9 & 10 & 10 & 11 & 11 & 11 & 11 & 15 & & & & & & \\ + 19 & 7 & 8 & 9 & 10 & 10 & 11 & 11 & 11 & 11 & 15 & 15 & & & & & \\ + 20 & 7 & 8 & 9 & 10 & 10 & 11 & 11 & 11 & 11 & 15 & 15 & 15 & & & & \\ + 21 & 6 & 8 & 9 & 10 & 10 & 11 & 11 & 11 & 12 & 14 & 15 & 15 & 15 & & & \\ + 22 & 6 & 8 & 9 & 10 & 10 & 11 & 11 & 11 & 12 & 14 & 14 & 15 & 15 & 15 & & \\ + 23 & 6 & 9 & 9 & 10 & 10 & 10 & 11 & 11 & 11 & 13 & 14 & 14 & 15 & 15 & 15 & \\ + 24 & 6 & 9 & 9 & 10 & 10 & 10 & 11 & 11 & 11 & 13 & 13 & 14 & 14 & 15 & 15 & 15 \\ + \hline + \ps{m} & 6 & 10 & 10 & 10 & 10 & 10 & 10 & 10 & 10 & 15 & 15 & 15 & 15 & 15 & 15 & 15 \\ + \hline + \end{tabular} + \end{center} + \caption{Anzahl der Schichten der Ergebnisse von + \textsc{SN-Evolution-Cut} mit verschiedenen Größen des + \emph{Pairwise-Sorting}-Netzwerks und unterschiedlichen Werten für~$k$. + Jede Zeile gibt die Ergebnisse für ein Eingabenetzwerk \ps{n} an, jede + Spalte enthält die Ergebnisse für $m=n-k$, die Anzahl der Leitungen des + Ausgabenetzwerks.} \label{tbl:ec-ps-speed} \end{table} +% Beispiel Geschwindigkeit + +\begin{figure} + \begin{center} + \input{images/18-ec-from-ps24.tex} + \end{center} + \caption{Sortiernetzwerk mit 18~Leitungen und 89~Komparatoren in + 13~Schichten. Das Netzwerk wurde von dem Algorithmus + \textsc{SN-Evolution-Cut} aus dem \emph{Pairwise-Sorting}-Netzwerk + $\operatorname{PS}(24)$ erzeugt.} + \label{fig:18-ec-from-ps24} +\end{figure} + +% 2-er Potenz + +Die Ergebnisse, die \textsc{SN-Evolution-Cut} erzielte, wenn das gegebene +Sortiernetzwerk das \emph{bitone Mergesort}-Netzwerk war +(Abschnitt~\ref{sect:sn-evolution-cut:bs}), waren sehr wirr. Beispielsweise +ist bei dem Netzwerk in Abbildung~\ref{fig:32-ec-from-bs64} nicht ersichtlich, +wie und warum es jede beliebige Eingabe sortiert. + Das \emph{Pairwise-Sorting-Netzwerk} $\operatorname{PS}(n)$, das \textit{Ian Parberry} in seiner Arbeit „The Pairwise Sorting Network“ \cite{P1992} definiert, verhält sich anders. Startet man \textsc{SN-Evolution-Cut} mit diff --git a/images/11-ec-from-ps13.tex b/images/11-ec-from-ps13.tex new file mode 100644 index 0000000..b81d006 --- /dev/null +++ b/images/11-ec-from-ps13.tex @@ -0,0 +1,161 @@ +\begin{tikzpicture}[auto] +\node[vertex] (v0) at (0.48,0.00) {}; +\node[vertex] (v1) at (0.48,0.38) {}; +\path[comp] (v0) -- (v1); + +\node[vertex] (v2) at (0.48,0.77) {}; +\node[vertex] (v3) at (0.48,1.15) {}; +\path[comp] (v2) -- (v3); + +\node[vertex] (v4) at (0.48,1.53) {}; +\node[vertex] (v5) at (0.48,1.92) {}; +\path[comp] (v4) -- (v5); + +\node[vertex] (v6) at (0.48,2.30) {}; +\node[vertex] (v7) at (0.48,2.68) {}; +\path[comp] (v6) -- (v7); + +\node[vertex] (v8) at (0.48,3.45) {}; +\node[vertex] (v9) at (0.48,3.84) {}; +\path[comp] (v8) -- (v9); + +\node[vertex] (v10) at (0.96,0.00) {}; +\node[vertex] (v11) at (0.96,0.77) {}; +\path[comp] (v10) -- (v11); + +\node[vertex] (v12) at (1.10,0.38) {}; +\node[vertex] (v13) at (1.10,1.15) {}; +\path[comp] (v12) -- (v13); + +\node[vertex] (v14) at (0.96,1.53) {}; +\node[vertex] (v15) at (0.96,2.30) {}; +\path[comp] (v14) -- (v15); + +\node[vertex] (v16) at (1.10,1.92) {}; +\node[vertex] (v17) at (1.10,2.68) {}; +\path[comp] (v16) -- (v17); + +\node[vertex] (v18) at (0.96,3.07) {}; +\node[vertex] (v19) at (0.96,3.45) {}; +\path[comp] (v18) -- (v19); + +\node[vertex] (v20) at (1.58,0.00) {}; +\node[vertex] (v21) at (1.58,1.53) {}; +\path[comp] (v20) -- (v21); + +\node[vertex] (v22) at (1.73,0.38) {}; +\node[vertex] (v23) at (1.73,1.92) {}; +\path[comp] (v22) -- (v23); + +\node[vertex] (v24) at (1.87,0.77) {}; +\node[vertex] (v25) at (1.87,2.30) {}; +\path[comp] (v24) -- (v25); + +\node[vertex] (v26) at (2.01,1.15) {}; +\node[vertex] (v27) at (2.01,2.68) {}; +\path[comp] (v26) -- (v27); + +\node[vertex] (v28) at (2.49,0.00) {}; +\node[vertex] (v29) at (2.49,3.07) {}; +\path[comp] (v28) -- (v29); + +\node[vertex] (v30) at (2.64,0.38) {}; +\node[vertex] (v31) at (2.64,3.84) {}; +\path[comp] (v30) -- (v31); + +\node[vertex] (v32) at (2.78,0.77) {}; +\node[vertex] (v33) at (2.78,3.45) {}; +\path[comp] (v32) -- (v33); + +\node[vertex] (v34) at (3.26,1.53) {}; +\node[vertex] (v35) at (3.26,3.07) {}; +\path[comp] (v34) -- (v35); + +\node[vertex] (v36) at (3.40,1.92) {}; +\node[vertex] (v37) at (3.40,3.84) {}; +\path[comp] (v36) -- (v37); + +\node[vertex] (v38) at (3.55,2.30) {}; +\node[vertex] (v39) at (3.55,3.45) {}; +\path[comp] (v38) -- (v39); + +\node[vertex] (v40) at (4.03,0.77) {}; +\node[vertex] (v41) at (4.03,3.07) {}; +\path[comp] (v40) -- (v41); + +\node[vertex] (v42) at (4.17,1.15) {}; +\node[vertex] (v43) at (4.17,3.84) {}; +\path[comp] (v42) -- (v43); + +\node[vertex] (v44) at (4.65,0.77) {}; +\node[vertex] (v45) at (4.65,1.53) {}; +\path[comp] (v44) -- (v45); + +\node[vertex] (v46) at (4.79,1.15) {}; +\node[vertex] (v47) at (4.79,1.92) {}; +\path[comp] (v46) -- (v47); + +\node[vertex] (v48) at (4.65,2.30) {}; +\node[vertex] (v49) at (4.65,3.07) {}; +\path[comp] (v48) -- (v49); + +\node[vertex] (v50) at (4.79,2.68) {}; +\node[vertex] (v51) at (4.79,3.84) {}; +\path[comp] (v50) -- (v51); + +\node[vertex] (v52) at (5.27,0.38) {}; +\node[vertex] (v53) at (5.27,3.07) {}; +\path[comp] (v52) -- (v53); + +\node[vertex] (v54) at (5.42,1.15) {}; +\node[vertex] (v55) at (5.42,3.45) {}; +\path[comp] (v54) -- (v55); + +\node[vertex] (v56) at (5.90,0.38) {}; +\node[vertex] (v57) at (5.90,1.53) {}; +\path[comp] (v56) -- (v57); + +\node[vertex] (v58) at (6.04,1.15) {}; +\node[vertex] (v59) at (6.04,2.30) {}; +\path[comp] (v58) -- (v59); + +\node[vertex] (v60) at (5.90,1.92) {}; +\node[vertex] (v61) at (5.90,3.07) {}; +\path[comp] (v60) -- (v61); + +\node[vertex] (v62) at (6.04,2.68) {}; +\node[vertex] (v63) at (6.04,3.45) {}; +\path[comp] (v62) -- (v63); + +\node[vertex] (v64) at (6.52,0.38) {}; +\node[vertex] (v65) at (6.52,0.77) {}; +\path[comp] (v64) -- (v65); + +\node[vertex] (v66) at (6.52,1.15) {}; +\node[vertex] (v67) at (6.52,1.53) {}; +\path[comp] (v66) -- (v67); + +\node[vertex] (v68) at (6.52,1.92) {}; +\node[vertex] (v69) at (6.52,2.30) {}; +\path[comp] (v68) -- (v69); + +\node[vertex] (v70) at (6.52,2.68) {}; +\node[vertex] (v71) at (6.52,3.07) {}; +\path[comp] (v70) -- (v71); + +\node[vertex] (v72) at (6.52,3.45) {}; +\node[vertex] (v73) at (6.52,3.84) {}; +\path[comp] (v72) -- (v73); + +\path[edge] (0,0.00) -- (7.00,0.00); +\path[edge] (0,0.38) -- (7.00,0.38); +\path[edge] (0,0.77) -- (7.00,0.77); +\path[edge] (0,1.15) -- (7.00,1.15); +\path[edge] (0,1.53) -- (7.00,1.53); +\path[edge] (0,1.92) -- (7.00,1.92); +\path[edge] (0,2.30) -- (7.00,2.30); +\path[edge] (0,2.68) -- (7.00,2.68); +\path[edge] (0,3.07) -- (7.00,3.07); +\path[edge] (0,3.45) -- (7.00,3.45); +\path[edge] (0,3.84) -- (7.00,3.84); +\end{tikzpicture} diff --git a/images/12-ec-from-ps16.tex b/images/12-ec-from-ps16.tex new file mode 100644 index 0000000..877fc3e --- /dev/null +++ b/images/12-ec-from-ps16.tex @@ -0,0 +1,178 @@ +\begin{tikzpicture}[auto] +\node[vertex] (v0) at (0.46,0.00) {}; +\node[vertex] (v1) at (0.46,0.74) {}; +\path[comp] (v0) -- (v1); + +\node[vertex] (v2) at (0.60,0.37) {}; +\node[vertex] (v3) at (0.60,1.11) {}; +\path[comp] (v2) -- (v3); + +\node[vertex] (v4) at (0.46,1.47) {}; +\node[vertex] (v5) at (0.46,1.84) {}; +\path[comp] (v4) -- (v5); + +\node[vertex] (v6) at (0.46,2.21) {}; +\node[vertex] (v7) at (0.46,2.58) {}; +\path[comp] (v6) -- (v7); + +\node[vertex] (v8) at (0.46,2.95) {}; +\node[vertex] (v9) at (0.46,3.32) {}; +\path[comp] (v8) -- (v9); + +\node[vertex] (v10) at (0.46,3.68) {}; +\node[vertex] (v11) at (0.46,4.05) {}; +\path[comp] (v10) -- (v11); + +\node[vertex] (v12) at (1.06,0.00) {}; +\node[vertex] (v13) at (1.06,0.37) {}; +\path[comp] (v12) -- (v13); + +\node[vertex] (v14) at (1.06,0.74) {}; +\node[vertex] (v15) at (1.06,1.11) {}; +\path[comp] (v14) -- (v15); + +\node[vertex] (v16) at (1.06,1.47) {}; +\node[vertex] (v17) at (1.06,2.21) {}; +\path[comp] (v16) -- (v17); + +\node[vertex] (v18) at (1.20,1.84) {}; +\node[vertex] (v19) at (1.20,2.58) {}; +\path[comp] (v18) -- (v19); + +\node[vertex] (v20) at (1.06,2.95) {}; +\node[vertex] (v21) at (1.06,3.68) {}; +\path[comp] (v20) -- (v21); + +\node[vertex] (v22) at (1.20,3.32) {}; +\node[vertex] (v23) at (1.20,4.05) {}; +\path[comp] (v22) -- (v23); + +\node[vertex] (v24) at (1.66,1.47) {}; +\node[vertex] (v25) at (1.66,2.95) {}; +\path[comp] (v24) -- (v25); + +\node[vertex] (v26) at (1.80,1.84) {}; +\node[vertex] (v27) at (1.80,3.32) {}; +\path[comp] (v26) -- (v27); + +\node[vertex] (v28) at (1.93,2.21) {}; +\node[vertex] (v29) at (1.93,3.68) {}; +\path[comp] (v28) -- (v29); + +\node[vertex] (v30) at (2.07,2.58) {}; +\node[vertex] (v31) at (2.07,4.05) {}; +\path[comp] (v30) -- (v31); + +\node[vertex] (v32) at (2.53,0.00) {}; +\node[vertex] (v33) at (2.53,1.84) {}; +\path[comp] (v32) -- (v33); + +\node[vertex] (v34) at (2.67,0.37) {}; +\node[vertex] (v35) at (2.67,3.32) {}; +\path[comp] (v34) -- (v35); + +\node[vertex] (v36) at (2.81,0.74) {}; +\node[vertex] (v37) at (2.81,2.58) {}; +\path[comp] (v36) -- (v37); + +\node[vertex] (v38) at (2.95,1.11) {}; +\node[vertex] (v39) at (2.95,4.05) {}; +\path[comp] (v38) -- (v39); + +\node[vertex] (v40) at (2.53,2.21) {}; +\node[vertex] (v41) at (2.53,2.95) {}; +\path[comp] (v40) -- (v41); + +\node[vertex] (v42) at (3.41,0.00) {}; +\node[vertex] (v43) at (3.41,1.47) {}; +\path[comp] (v42) -- (v43); + +\node[vertex] (v44) at (3.55,0.37) {}; +\node[vertex] (v45) at (3.55,1.84) {}; +\path[comp] (v44) -- (v45); + +\node[vertex] (v46) at (3.68,1.11) {}; +\node[vertex] (v47) at (3.68,2.58) {}; +\path[comp] (v46) -- (v47); + +\node[vertex] (v48) at (4.14,0.74) {}; +\node[vertex] (v49) at (4.14,1.84) {}; +\path[comp] (v48) -- (v49); + +\node[vertex] (v50) at (4.28,1.11) {}; +\node[vertex] (v51) at (4.28,3.32) {}; +\path[comp] (v50) -- (v51); + +\node[vertex] (v52) at (4.74,0.37) {}; +\node[vertex] (v53) at (4.74,0.74) {}; +\path[comp] (v52) -- (v53); + +\node[vertex] (v54) at (4.74,1.11) {}; +\node[vertex] (v55) at (4.74,1.84) {}; +\path[comp] (v54) -- (v55); + +\node[vertex] (v56) at (4.74,2.58) {}; +\node[vertex] (v57) at (4.74,3.32) {}; +\path[comp] (v56) -- (v57); + +\node[vertex] (v58) at (5.20,0.37) {}; +\node[vertex] (v59) at (5.20,2.21) {}; +\path[comp] (v58) -- (v59); + +\node[vertex] (v60) at (5.34,0.74) {}; +\node[vertex] (v61) at (5.34,2.95) {}; +\path[comp] (v60) -- (v61); + +\node[vertex] (v62) at (5.48,1.11) {}; +\node[vertex] (v63) at (5.48,3.68) {}; +\path[comp] (v62) -- (v63); + +\node[vertex] (v64) at (5.94,0.74) {}; +\node[vertex] (v65) at (5.94,1.47) {}; +\path[comp] (v64) -- (v65); + +\node[vertex] (v66) at (6.08,1.11) {}; +\node[vertex] (v67) at (6.08,2.21) {}; +\path[comp] (v66) -- (v67); + +\node[vertex] (v68) at (5.94,1.84) {}; +\node[vertex] (v69) at (5.94,2.95) {}; +\path[comp] (v68) -- (v69); + +\node[vertex] (v70) at (6.08,2.58) {}; +\node[vertex] (v71) at (6.08,3.68) {}; +\path[comp] (v70) -- (v71); + +\node[vertex] (v72) at (6.54,0.37) {}; +\node[vertex] (v73) at (6.54,0.74) {}; +\path[comp] (v72) -- (v73); + +\node[vertex] (v74) at (6.54,1.11) {}; +\node[vertex] (v75) at (6.54,1.47) {}; +\path[comp] (v74) -- (v75); + +\node[vertex] (v76) at (6.54,1.84) {}; +\node[vertex] (v77) at (6.54,2.21) {}; +\path[comp] (v76) -- (v77); + +\node[vertex] (v78) at (6.54,2.58) {}; +\node[vertex] (v79) at (6.54,2.95) {}; +\path[comp] (v78) -- (v79); + +\node[vertex] (v80) at (6.54,3.32) {}; +\node[vertex] (v81) at (6.54,3.68) {}; +\path[comp] (v80) -- (v81); + +\path[edge] (0,0.00) -- (7.00,0.00); +\path[edge] (0,0.37) -- (7.00,0.37); +\path[edge] (0,0.74) -- (7.00,0.74); +\path[edge] (0,1.11) -- (7.00,1.11); +\path[edge] (0,1.47) -- (7.00,1.47); +\path[edge] (0,1.84) -- (7.00,1.84); +\path[edge] (0,2.21) -- (7.00,2.21); +\path[edge] (0,2.58) -- (7.00,2.58); +\path[edge] (0,2.95) -- (7.00,2.95); +\path[edge] (0,3.32) -- (7.00,3.32); +\path[edge] (0,3.68) -- (7.00,3.68); +\path[edge] (0,4.05) -- (7.00,4.05); +\end{tikzpicture} diff --git a/images/18-ec-from-ps24.tex b/images/18-ec-from-ps24.tex new file mode 100644 index 0000000..0aaf537 --- /dev/null +++ b/images/18-ec-from-ps24.tex @@ -0,0 +1,376 @@ +\begin{tikzpicture}[auto] +\node[vertex] (v0) at (0.72,0.00) {}; +\node[vertex] (v1) at (0.72,0.57) {}; +\path[comp] (v0) -- (v1); + +\node[vertex] (v2) at (0.72,1.15) {}; +\node[vertex] (v3) at (0.72,1.72) {}; +\path[comp] (v2) -- (v3); + +\node[vertex] (v4) at (0.72,2.30) {}; +\node[vertex] (v5) at (0.72,2.87) {}; +\path[comp] (v4) -- (v5); + +\node[vertex] (v6) at (0.72,3.44) {}; +\node[vertex] (v7) at (0.72,4.02) {}; +\path[comp] (v6) -- (v7); + +\node[vertex] (v8) at (0.72,4.59) {}; +\node[vertex] (v9) at (0.72,5.17) {}; +\path[comp] (v8) -- (v9); + +\node[vertex] (v10) at (0.72,5.74) {}; +\node[vertex] (v11) at (0.72,6.32) {}; +\path[comp] (v10) -- (v11); + +\node[vertex] (v12) at (0.72,6.89) {}; +\node[vertex] (v13) at (0.72,7.46) {}; +\path[comp] (v12) -- (v13); + +\node[vertex] (v14) at (0.72,8.04) {}; +\node[vertex] (v15) at (0.72,8.61) {}; +\path[comp] (v14) -- (v15); + +\node[vertex] (v16) at (0.72,9.19) {}; +\node[vertex] (v17) at (0.72,9.76) {}; +\path[comp] (v16) -- (v17); + +\node[vertex] (v18) at (1.44,1.15) {}; +\node[vertex] (v19) at (1.44,3.44) {}; +\path[comp] (v18) -- (v19); + +\node[vertex] (v20) at (1.65,1.72) {}; +\node[vertex] (v21) at (1.65,4.02) {}; +\path[comp] (v20) -- (v21); + +\node[vertex] (v22) at (1.87,2.30) {}; +\node[vertex] (v23) at (1.87,5.74) {}; +\path[comp] (v22) -- (v23); + +\node[vertex] (v24) at (2.08,2.87) {}; +\node[vertex] (v25) at (2.08,6.32) {}; +\path[comp] (v24) -- (v25); + +\node[vertex] (v26) at (1.44,4.59) {}; +\node[vertex] (v27) at (1.44,8.04) {}; +\path[comp] (v26) -- (v27); + +\node[vertex] (v28) at (1.65,5.17) {}; +\node[vertex] (v29) at (1.65,8.61) {}; +\path[comp] (v28) -- (v29); + +\node[vertex] (v30) at (1.87,6.89) {}; +\node[vertex] (v31) at (1.87,9.19) {}; +\path[comp] (v30) -- (v31); + +\node[vertex] (v32) at (2.08,7.46) {}; +\node[vertex] (v33) at (2.08,9.76) {}; +\path[comp] (v32) -- (v33); + +\node[vertex] (v34) at (2.80,0.00) {}; +\node[vertex] (v35) at (2.80,5.74) {}; +\path[comp] (v34) -- (v35); + +\node[vertex] (v36) at (3.01,0.57) {}; +\node[vertex] (v37) at (3.01,6.32) {}; +\path[comp] (v36) -- (v37); + +\node[vertex] (v38) at (3.23,2.30) {}; +\node[vertex] (v39) at (3.23,3.44) {}; +\path[comp] (v38) -- (v39); + +\node[vertex] (v40) at (3.44,2.87) {}; +\node[vertex] (v41) at (3.44,4.02) {}; +\path[comp] (v40) -- (v41); + +\node[vertex] (v42) at (3.23,4.59) {}; +\node[vertex] (v43) at (3.23,6.89) {}; +\path[comp] (v42) -- (v43); + +\node[vertex] (v44) at (3.44,5.17) {}; +\node[vertex] (v45) at (3.44,7.46) {}; +\path[comp] (v44) -- (v45); + +\node[vertex] (v46) at (2.80,8.04) {}; +\node[vertex] (v47) at (2.80,9.19) {}; +\path[comp] (v46) -- (v47); + +\node[vertex] (v48) at (3.01,8.61) {}; +\node[vertex] (v49) at (3.01,9.76) {}; +\path[comp] (v48) -- (v49); + +\node[vertex] (v50) at (4.16,0.00) {}; +\node[vertex] (v51) at (4.16,8.04) {}; +\path[comp] (v50) -- (v51); + +\node[vertex] (v52) at (4.38,0.57) {}; +\node[vertex] (v53) at (4.38,8.61) {}; +\path[comp] (v52) -- (v53); + +\node[vertex] (v54) at (4.59,1.15) {}; +\node[vertex] (v55) at (4.59,4.59) {}; +\path[comp] (v54) -- (v55); + +\node[vertex] (v56) at (4.81,1.72) {}; +\node[vertex] (v57) at (4.81,5.17) {}; +\path[comp] (v56) -- (v57); + +\node[vertex] (v58) at (5.02,2.30) {}; +\node[vertex] (v59) at (5.02,6.89) {}; +\path[comp] (v58) -- (v59); + +\node[vertex] (v60) at (5.24,2.87) {}; +\node[vertex] (v61) at (5.24,7.46) {}; +\path[comp] (v60) -- (v61); + +\node[vertex] (v62) at (4.59,5.74) {}; +\node[vertex] (v63) at (4.59,9.19) {}; +\path[comp] (v62) -- (v63); + +\node[vertex] (v64) at (4.81,6.32) {}; +\node[vertex] (v65) at (4.81,9.76) {}; +\path[comp] (v64) -- (v65); + +\node[vertex] (v66) at (5.96,2.30) {}; +\node[vertex] (v67) at (5.96,4.59) {}; +\path[comp] (v66) -- (v67); + +\node[vertex] (v68) at (6.17,2.87) {}; +\node[vertex] (v69) at (6.17,5.17) {}; +\path[comp] (v68) -- (v69); + +\node[vertex] (v70) at (6.39,3.44) {}; +\node[vertex] (v71) at (6.39,6.89) {}; +\path[comp] (v70) -- (v71); + +\node[vertex] (v72) at (6.60,4.02) {}; +\node[vertex] (v73) at (6.60,7.46) {}; +\path[comp] (v72) -- (v73); + +\node[vertex] (v74) at (5.96,5.74) {}; +\node[vertex] (v75) at (5.96,8.04) {}; +\path[comp] (v74) -- (v75); + +\node[vertex] (v76) at (6.17,6.32) {}; +\node[vertex] (v77) at (6.17,8.61) {}; +\path[comp] (v76) -- (v77); + +\node[vertex] (v78) at (7.32,1.15) {}; +\node[vertex] (v79) at (7.32,2.30) {}; +\path[comp] (v78) -- (v79); + +\node[vertex] (v80) at (7.54,1.72) {}; +\node[vertex] (v81) at (7.54,2.87) {}; +\path[comp] (v80) -- (v81); + +\node[vertex] (v82) at (7.32,3.44) {}; +\node[vertex] (v83) at (7.32,4.59) {}; +\path[comp] (v82) -- (v83); + +\node[vertex] (v84) at (7.54,4.02) {}; +\node[vertex] (v85) at (7.54,5.17) {}; +\path[comp] (v84) -- (v85); + +\node[vertex] (v86) at (7.32,6.89) {}; +\node[vertex] (v87) at (7.32,8.04) {}; +\path[comp] (v86) -- (v87); + +\node[vertex] (v88) at (7.54,7.46) {}; +\node[vertex] (v89) at (7.54,8.61) {}; +\path[comp] (v88) -- (v89); + +\node[vertex] (v90) at (8.25,0.00) {}; +\node[vertex] (v91) at (8.25,3.44) {}; +\path[comp] (v90) -- (v91); + +\node[vertex] (v92) at (8.47,0.57) {}; +\node[vertex] (v93) at (8.47,4.02) {}; +\path[comp] (v92) -- (v93); + +\node[vertex] (v94) at (8.25,4.59) {}; +\node[vertex] (v95) at (8.25,5.74) {}; +\path[comp] (v94) -- (v95); + +\node[vertex] (v96) at (8.47,5.17) {}; +\node[vertex] (v97) at (8.47,6.32) {}; +\path[comp] (v96) -- (v97); + +\node[vertex] (v98) at (8.25,8.04) {}; +\node[vertex] (v99) at (8.25,9.19) {}; +\path[comp] (v98) -- (v99); + +\node[vertex] (v100) at (8.47,8.61) {}; +\node[vertex] (v101) at (8.47,9.76) {}; +\path[comp] (v100) -- (v101); + +\node[vertex] (v102) at (9.19,0.00) {}; +\node[vertex] (v103) at (9.19,2.30) {}; +\path[comp] (v102) -- (v103); + +\node[vertex] (v104) at (9.40,0.57) {}; +\node[vertex] (v105) at (9.40,2.87) {}; +\path[comp] (v104) -- (v105); + +\node[vertex] (v106) at (9.19,3.44) {}; +\node[vertex] (v107) at (9.19,4.59) {}; +\path[comp] (v106) -- (v107); + +\node[vertex] (v108) at (9.40,4.02) {}; +\node[vertex] (v109) at (9.40,5.17) {}; +\path[comp] (v108) -- (v109); + +\node[vertex] (v110) at (9.19,5.74) {}; +\node[vertex] (v111) at (9.19,6.89) {}; +\path[comp] (v110) -- (v111); + +\node[vertex] (v112) at (9.40,6.32) {}; +\node[vertex] (v113) at (9.40,7.46) {}; +\path[comp] (v112) -- (v113); + +\node[vertex] (v114) at (10.12,0.00) {}; +\node[vertex] (v115) at (10.12,1.15) {}; +\path[comp] (v114) -- (v115); + +\node[vertex] (v116) at (10.33,0.57) {}; +\node[vertex] (v117) at (10.33,1.72) {}; +\path[comp] (v116) -- (v117); + +\node[vertex] (v118) at (10.12,2.30) {}; +\node[vertex] (v119) at (10.12,3.44) {}; +\path[comp] (v118) -- (v119); + +\node[vertex] (v120) at (10.33,2.87) {}; +\node[vertex] (v121) at (10.33,4.02) {}; +\path[comp] (v120) -- (v121); + +\node[vertex] (v122) at (10.12,4.59) {}; +\node[vertex] (v123) at (10.12,5.74) {}; +\path[comp] (v122) -- (v123); + +\node[vertex] (v124) at (10.33,5.17) {}; +\node[vertex] (v125) at (10.33,6.32) {}; +\path[comp] (v124) -- (v125); + +\node[vertex] (v126) at (10.12,6.89) {}; +\node[vertex] (v127) at (10.12,8.04) {}; +\path[comp] (v126) -- (v127); + +\node[vertex] (v128) at (10.33,7.46) {}; +\node[vertex] (v129) at (10.33,8.61) {}; +\path[comp] (v128) -- (v129); + +\node[vertex] (v130) at (11.05,0.57) {}; +\node[vertex] (v131) at (11.05,6.89) {}; +\path[comp] (v130) -- (v131); + +\node[vertex] (v132) at (11.27,1.72) {}; +\node[vertex] (v133) at (11.27,8.04) {}; +\path[comp] (v132) -- (v133); + +\node[vertex] (v134) at (11.48,2.87) {}; +\node[vertex] (v135) at (11.48,9.19) {}; +\path[comp] (v134) -- (v135); + +\node[vertex] (v136) at (12.20,0.57) {}; +\node[vertex] (v137) at (12.20,3.44) {}; +\path[comp] (v136) -- (v137); + +\node[vertex] (v138) at (12.42,1.72) {}; +\node[vertex] (v139) at (12.42,4.59) {}; +\path[comp] (v138) -- (v139); + +\node[vertex] (v140) at (12.63,2.87) {}; +\node[vertex] (v141) at (12.63,5.74) {}; +\path[comp] (v140) -- (v141); + +\node[vertex] (v142) at (12.20,4.02) {}; +\node[vertex] (v143) at (12.20,6.89) {}; +\path[comp] (v142) -- (v143); + +\node[vertex] (v144) at (12.42,5.17) {}; +\node[vertex] (v145) at (12.42,8.04) {}; +\path[comp] (v144) -- (v145); + +\node[vertex] (v146) at (12.63,6.32) {}; +\node[vertex] (v147) at (12.63,9.19) {}; +\path[comp] (v146) -- (v147); + +\node[vertex] (v148) at (13.35,0.57) {}; +\node[vertex] (v149) at (13.35,2.30) {}; +\path[comp] (v148) -- (v149); + +\node[vertex] (v150) at (13.56,1.72) {}; +\node[vertex] (v151) at (13.56,3.44) {}; +\path[comp] (v150) -- (v151); + +\node[vertex] (v152) at (13.35,2.87) {}; +\node[vertex] (v153) at (13.35,4.59) {}; +\path[comp] (v152) -- (v153); + +\node[vertex] (v154) at (13.56,4.02) {}; +\node[vertex] (v155) at (13.56,5.74) {}; +\path[comp] (v154) -- (v155); + +\node[vertex] (v156) at (13.35,5.17) {}; +\node[vertex] (v157) at (13.35,6.89) {}; +\path[comp] (v156) -- (v157); + +\node[vertex] (v158) at (13.56,6.32) {}; +\node[vertex] (v159) at (13.56,8.04) {}; +\path[comp] (v158) -- (v159); + +\node[vertex] (v160) at (13.35,7.46) {}; +\node[vertex] (v161) at (13.35,9.19) {}; +\path[comp] (v160) -- (v161); + +\node[vertex] (v162) at (14.28,0.57) {}; +\node[vertex] (v163) at (14.28,1.15) {}; +\path[comp] (v162) -- (v163); + +\node[vertex] (v164) at (14.28,1.72) {}; +\node[vertex] (v165) at (14.28,2.30) {}; +\path[comp] (v164) -- (v165); + +\node[vertex] (v166) at (14.28,2.87) {}; +\node[vertex] (v167) at (14.28,3.44) {}; +\path[comp] (v166) -- (v167); + +\node[vertex] (v168) at (14.28,4.02) {}; +\node[vertex] (v169) at (14.28,4.59) {}; +\path[comp] (v168) -- (v169); + +\node[vertex] (v170) at (14.28,5.17) {}; +\node[vertex] (v171) at (14.28,5.74) {}; +\path[comp] (v170) -- (v171); + +\node[vertex] (v172) at (14.28,6.32) {}; +\node[vertex] (v173) at (14.28,6.89) {}; +\path[comp] (v172) -- (v173); + +\node[vertex] (v174) at (14.28,7.46) {}; +\node[vertex] (v175) at (14.28,8.04) {}; +\path[comp] (v174) -- (v175); + +\node[vertex] (v176) at (14.28,8.61) {}; +\node[vertex] (v177) at (14.28,9.19) {}; +\path[comp] (v176) -- (v177); + +\path[edge] (0,0.00) -- (15.00,0.00); +\path[edge] (0,0.57) -- (15.00,0.57); +\path[edge] (0,1.15) -- (15.00,1.15); +\path[edge] (0,1.72) -- (15.00,1.72); +\path[edge] (0,2.30) -- (15.00,2.30); +\path[edge] (0,2.87) -- (15.00,2.87); +\path[edge] (0,3.44) -- (15.00,3.44); +\path[edge] (0,4.02) -- (15.00,4.02); +\path[edge] (0,4.59) -- (15.00,4.59); +\path[edge] (0,5.17) -- (15.00,5.17); +\path[edge] (0,5.74) -- (15.00,5.74); +\path[edge] (0,6.32) -- (15.00,6.32); +\path[edge] (0,6.89) -- (15.00,6.89); +\path[edge] (0,7.46) -- (15.00,7.46); +\path[edge] (0,8.04) -- (15.00,8.04); +\path[edge] (0,8.61) -- (15.00,8.61); +\path[edge] (0,9.19) -- (15.00,9.19); +\path[edge] (0,9.76) -- (15.00,9.76); +\end{tikzpicture} -- 2.11.0