Information Technology Reference
In-Depth Information
Ein Objekt der Klasse Individuum besteht aus einem Array von Atomen, die je nach
Codierung beispielsweise Bits in Form von boolean-Variablen, ganze Zahlen, Fließkom-
mazahlen etc. sind. Zunächst wird mit Bits gearbeitet, die als Integer-Zahl gespeichert
werden. Weiterhin ist jedem Objekt noch ein Fitnesswert zugewiesen, die über die Metho-
den bewerten() bzw. getFittness() ausgelesen wird.
Sowohl die Bewertung als auch die genetischen Operatoren operieren auf Individuen,
sind also dort definiert. Folgende Funktionen sind demnach vorgesehen:
• Erzeugen von zufälligen Individuen: generate()
• Berechnung und Rückgabe der Fitness: getFitness()
• Mutation des Individuums: mutate()
• Kreuzung der Individuen: crossover()
Ergänzt werden diese Funktionen unter anderem durch folgende Hilfsfunktionen:
• Anlegen von Objekt-Instanzen: Konstruktur()
• Ausgabe des Individuums: print()
• Erzeugen einer Kopie des Individuums: clone()
Die bisherige Beschränkung des klassischen Genetischen Algorithmus auf lediglich zwei
Zustände erscheint für didaktische Zwecke zwar angenehm, stellt jedoch im Sinne des
Problemlösens eine nicht immer aufrecht zu erhaltende Einschränkung dar. In der Litera-
tur findet man zu der Fragestellung eine reiche Auswahl an Rekombinations-Operatoren,
weshalb an dieser Stelle exemplarisch nur drei dieser Operatoren kurz vorgestellt werden
sollen:
Diskrete Rekombination : Man bestimmt aus den Eltern X = (x 1 ….x n ) und Y = (y 1 ,…y n )
die Nachkommenschaft Z = (z 1 ,… z n ), indem z i = x i oder z i = y i mit der Wahrscheinlich-
keit von 0,5 ausgewählt wird. Insofern wird hier ein ein klassisches Uniform Crossover
angewendet. Dabei wird jeder Wert des Individuums einzeln betrachtet.
Intermediäre Rekombination : Hier wird die Nachkommenschaft unter Anwendung der
folgenden Formel bestimmt: z i = x i + a i (y i − x i ), wobei a i zufällig gleichverteilt aus dem
Intervall [− 0,25; 1,25] gewählt wird. Auch hier wird jeder Wert des Individuums ein-
zeln betrachtet.
Erweiterte Linien Rekombination : Diese Variante hingegen betrachtet das Individu-
um als Ganzes und bestimmt die Nachkommenschaft unter Anwendung der Formel:
z i = x i + a i (y i − x i ), wobei a i zufällig gleichverteilt aus dem Intervall [− 0,25; 1,25] ge-
wählt wird.
Man kann sich die Auswirkungen dieser Operationen grafisch veranschaulichen. Diskrete
Rekombination wählt einen der Elternpunkte, die Erweiterte Linien Rekombination wählt
Search WWH ::




Custom Search