\subsection{Codierung des Genotyps}
\label{sec:codierung}
Bei den meisten Varianten Genetischer Algorithmen wird eine binäre Form der Lösungsrepräsentation oder Codierung
verwendet.
Es muss festgelegt werden, von welcher Art der codierte Wert ist, da ein Bitstring theoretisch alles
mögliche repräsentieren kann, z.B. eine Fließkommazahl, eine ganze Zahl, oder auch einen Buchstaben oder einen Farbwert.
Auch wenn in unserem Zusammenhang hauptsächlich numerische Werte interessant sind, muss doch festgelegt werden,
in welchen Grenzen sich die codierten Werte befinden, und ob sie als ganze Zahlen oder Fließkommazahlen zu interpretieren
sind. Selbst bei Festlegung auf einen bestimmten Datentyp ist zu spezifizieren, welche Codierung genau verwendet wird.

In den meisten Fällen arbeiten Genetische Algorithmen mit numerischen Werten, die ganze Zahlen repräsentieren.
Der hierfür benutzte Standard"=Bin"arcode
ist allerdings nicht unbedingt die beste L"osung.
Der Grund dafür ist, dass im Standard"=Bin"arcode jedes Bit eine unterschiedliche
Wertigkeit besitzt: wird das Bit mit der niedrigsten Wertigkeit ver"andert,
"andert sich der Wert der codierten Zahl nur um 1.
Wird dagegen das h"ochstwertige Bit ge"andert, hat das je nach L"ange des Bitstrings einen ungleich gr"o"seren Einfluss
auf den Zielwert.
Arbeitet man beispielsweise mit Bin"arstrings der L"ange $L=8$, kann man mit einem String $2^{8} = 256$
verschiedene Werte codieren. Bei der Standardcodierung hat das letzte Bit den Wert $2^{0}=1$ und das erste Bit den
Wert $2^{7}=128$. Das bedeutet, das Kippen des letzten Bits "andert den Zielwert um 1, beim ersten Bit "andert er sich
um 128.

Diese Diskrepanzen möchte man bei Genetischen Algorithmen möglichst vermeiden, daher wird häufig eine Codierung verwendet,
die als \textit{Gray"=Code} bekannt ist. Die Besonderheit des Gray"=Code ist, dass sich aufeinanderfolgende Dezimalzahlen
in Gray"=Codierung nur in jeweils einem Bit unterscheiden, was beim Standard-Binärcode nicht immer der Fall ist.
Eine Auswahl von Dezimalzahlen mit entsprechender binärer Gray"=Code- und Standardcodierung ist
in Tabelle \ref{tab:graycode} zu finden.

\begin{table}[ht]
 \centering
 \begin{tabular}{rcc}
 \toprule
 dezimal & Standard binär & Gray"=Code binär \\
 \midrule
 0 & 00000000 & 00000000 \\
 1 & 00000001 & 00000001 \\
 2 & 00000010 & 00000011 \\
 3 & 00000011 & 00000010 \\
 4 & 00000100 & 00000110 \\
 5 & 00000101 & 00000111 \\
 6 & 00000110 & 00000101 \\
 7 & 00000111 & 00000100 \\
 8 & 00001000 & 00001100 \\
 9 & 00001001 & 00001101 \\
 10 & 00001010 & 00001111 \\
 31 & 00011111 & 00010000 \\
 32 & 00100000 & 00110000 \\
 63 & 00111111 & 00100000 \\
 64 & 01000000 & 01100000 \\
 127 & 01111111 & 01000000 \\
 128 & 10000000 & 11000000 \\
 255 & 11111111 & 11111111 \\
 \bottomrule
 \end{tabular}
 \caption{Zahlenwerte in Dezimal-, Standardbinär- und Gray"=Codierung}
 \label{tab:graycode}
\end{table}
