Information Technology Reference
In-Depth Information
Dabei gilt es bedenken, dass der genetische Algorithmus ein stochastisches System ist,
d. h. je mehr Versuche dem genetischen Algorithmus zugestanden werden, desto höher
fällt die Chance aus, dass gute bzw. optimale Lösungen gefunden werden. Um die gene-
rischen Aspekte eines stochastischen Systems ausnutzen zu können, sollte man daher den
Lösungsraum nicht ohne Not künstlich einengen.
Der dritte Schritt wird notwendig, weil jede potentielle Lösung von einem Chromosom
dargestellt wird. Dabei bezeichnet man eine Population von Chromosomen als einen Ge-
notypus. Insofern wird diese Klasse Genotype auch bei JGAP benötigt, um eine Popu-
lation ins Leben zu rufen.
Genotype population = Genotype.randomInitialGenotype(conf);
Dabei wird der randomInitialGenotype() -Methode das Konfigurationsobjekt
übergeben, woraufhin diese einen Genotypus mit der richtigen Anzahl von Chromosomen
zurückliefert. Dabei ist jedes Gen zufallsgeneriert, d. h. man erhält eine zufällige Bevölke-
rung. Für einen großen Teil der Problem- und Anwendungsfälle ist diese Programmierung
schon ausreichend, um einen adäquaten Anfangsbestand potentieller Lösungen zu erzeugen.
Nachdem alle notwendigen Einstellungen und Konfigurationen vorgenommen wurden,
kann mit der Entwicklung der Population begonnen werden, um potentielle Lösugnen zu
entwickeln.
population.evolve();
Im Regelfall sollte man nach jedem Evolutionszyklus prüfen, ob die Population zufriedenstel-
lende Lösungen beinhaltet. JGAP stellt hierzu die passende getFittestChromosome() -
Methode zur Verfügung.
IChromosome bestSolution = population.getFittestChromosome();
Die Population lässt sich nun solange (weiter) entwickeln, bis eine passende Lösung ge-
funden ist. Eine Alternative hierzu ist es, die Population eine vordefinierte Anzahl von
Generationen entwickeln zu lassen, um dann am Ende des Generationenlaufes die opti-
malen Lösungen zu sondieren. Weitere interessante Beispiele, die gleichzeitig als Muster-
lösungen taugen, findet der Leser in dem Open Source Paket und dort in dem Verzeichnis
examples .
8.4
Logging mit Log4J
Anstatt auftretende Fehler und Infomeldungen auf der die Standardausgabe auszugeben,
können Nachrichten über sogenannte Logger in das Loggingsystem geleitet und dort
gleichzeitig eine Einteilung der Wichtigkeit vorgenommen werden. Der Anwender als
 
Search WWH ::




Custom Search