Heuristiken
Heuristiken
Heuristiken
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kodierung des<br />
Problems<br />
GOLDBERG/DEB/CLARK [] berechnen die Populationsgröße N in Abhängigkeit<br />
vom Grad der Nichtlinearität k, der Varianz des Problems σ 2 und der Differenz<br />
d der Fitnesswerte zwischen lokalen Optima und globalem Optimum.<br />
N=2 k · σ2<br />
d 2<br />
4.2.2 Nebenpfad: Detaillierte Methodenbeschreibung<br />
Um einen genetischen Algorithmus zur Problemlösung heranziehen zu können<br />
muss zunächst eine Kodierung des Problems durchgeführt werden. Dabei<br />
wird jede Eigenschaft (d.h. jedes Gen) einer Lösung durch eines oder mehrere<br />
Bits repräsentiert. Zum Beispiel steht eine 1 für eine erfüllte und 0 für eine nicht<br />
erfüllte Eigenschaft. Oder die Eigenschaft Farbe wird mit 0 für grün, 1 für blau,<br />
2 für rot usw. kodiert. Die spezielle Ausprägung einer Eigenschaft wird als Allel<br />
bezeichnet. 0 und 1 sind beispielsweise Allele. Die binäre Kodierung besitzt jedoch<br />
den Nachteilen, dass die einzelnen Stellen im binären Code unterschiedlich<br />
bedeutsam sind, da die vorderen Stellen größere Zweierpotenzen kodieren als<br />
die hinteren. Dies kann durch die Anwendung der Gray-Kodierung behoben<br />
werden (vgl. z.B. []).<br />
Die Kodierung des Problems ist wesentlich für die Qualität des genetischen Algorithmus.<br />
Insbesondere muss eine gute Kodierung den gesamten Lösungsraum<br />
abbilden und neue, durch die Anwendung der genetischen Operatoren erzeugte<br />
Individuen müssen ” sinnvolle“ Lösungen bezüglich des zu lösenden Problems<br />
ergeben. Außerdem ist eine Abstimmung von Kodierung und genetischen Operatoren<br />
erforderlich. Idealerweise wird eine 1:1-Kodierung verwendet, d.h. jede<br />
Lösung des Lösungsraumes entspricht genau einem Chromosom. Es ist jedoch<br />
häufig schwierig, solch ein Kodierung zu finden. Deshalb wird in den meisten<br />
Fällen eine 1:m-Kodierung implementiert, d.h. eine Lösung kann durch viele<br />
Chromosomen repräsentiert werden. Dies reduziert jedoch die Effizienz des genetischen<br />
Algorithmus.<br />
Beispiel Um beispielsweise ein Travelling Salesman Problem mit 12 Städten zu kodieren<br />
werden pro Stadt 4 Bits benötigt. Jede Stadt entspricht hierbei genau einer<br />
Bitkombination. Es sind jedoch Bitkombinationen möglich, die nicht mit einer<br />
Stadt belegt sind (z.B. 1111).<br />
16