You are on page 1of 13

Genetische Algorithmen

Johannes F. Gesell
Universit
at Ulm
Institut f
ur theoretische Informatik
89069 Ulm, Germany
johannes.gesell@uni-ulm.de

Abstract. Diese, im Rahmen eines Proseminars erstellte, Ausarbeitung


bietet eine kurze Einf
uhrung in das Thema der Genetischen Algorithmen,
ihren Wurzeln in der nat
urlichen Evolution, Techniken zur Implementierung und in das Schematheorem.

Genetische Algorithmen

Der Name Genetischer Algorithmus bezeichnet eine Gruppe von stochastischen heuristischen Optimierungsverfahren, die mit der lokalen Suche verwandt
sind. Um 1960 versuchten mehrere Gruppen von Forschern, Algorithmen nach
dem Vorbild der biologischen Evolution zu kreieren. Das Ergebnis war eine
ganze Reihe von verwandten Verfahren, die unter dem Sammelbegriff: Evolution
arer Algorithmus zusammengefasst wurden. John H. Holland lieferte dazu
mit seinem Standard Genetic Algorithm(SGA)[1,3] und seinen Werken u
ber
die Schematheorie[5] einen entscheidenden Beitrag. Hollands Genetischer Algorithmus ist ein Spezialfall der sehr allgemeinen und variantenreichen EvolutionStrategy Algorithmen und einer der popularsten Vertreter der Evolutionaren Algorithmen. Weitere verbreitete Varianten sind die Evolutionare Programmierung,
eine einfachere Variante die der Lokalen Suche ahnelt, und die exotische Genetische Programmierung, die nicht auf das Losen eines Problems sondern auf das
Kreieren eines neuen effektiveren Algorithmus abzielt.
Allen Evolution
aren Algorithmen gemein ist jedoch, dass sie bei der Losung
einfacher Optimierungsprobleme den klassischen Suchalgorithmen wie A*, UCS
oder der Gradientensuche unterliegen. Bei Problemen jedoch die aufgrund von
Nichtlinearit
at, Diskontinuitat oder Multimodalitat nicht effektiv bearbeitet werden k
onnen oder wegen zu hoher Komplexitat oder mangelndem Problemwissens
nicht analytisch berechnet werden konnen, bieten Genetische Algorithmen eine
hervorragende Alternative, denn sie benotigen nur sehr wenig spezifisches Problemwissen (auch wenn sie durch Anpassung an das Problem verbessert werden
k
onnen). Sie sind einfach und schnell zu implementieren, leicht zu portieren und
k
onnen, da sie hochgradig parallelisierbar sind, in verteilten Systemen u
beraus
erfolgreich eingesetzt werden. Als Nachteil kann erwahnt werden das sie wie alle
lokalen Suchalgorithmen (auch wenn sich Genetische Algorithmen in der Praxis
sich nur selten in lokalen Maxima fangen) nicht mit garantierter Sicherheit das

Globale Maximum finden und ihre Laufzeit im Regelfall der eines auf das Problem spezialisierten Algorithmus, sofern es einen gibt, unterliegt.
Mit ihren Vor- und Nachteilen werden sie heute in erster Linie im Bereich der
K
unstlichen Intelligenz oder des Maschinenlernens erfolgreich eingesetzt.

Die Evolutionslehre nach Darwin

Als Vorbild f
ur Genetische Algorithmen diente die Synthetische Evolutionstheorie, die auf die Werke von Darwin und Mendel zur
uckgeht. Die zentralen Mechanismen der Evolution, Mutation, Selektion und Vererbung, werden in Genetischen Algorithmen nachgeahmt.
Das Modell der Evolution umfasst mehrere Punkte:
Genpool und Genotyp:
Innerhalb einer Population einer Spezies reprasentiert jedes Individuum seine
pers
onlichen Eigenschaften in seinem Erbgut. Die Gesamtheit der Population
findet ihre Entsprechung im Genpool, der die Gesamtheit aller genetischen
Information der Spezies darstellt. Jedem Merkmal (Phanotyp) innerhalb der
Spezies steht sein Genotyp, also das genetische Merkmal, das f
ur die Entstehung des Ph
antoyps verantwortlich ist, gegen
uber, das von mindestens einem
Angeh
origen der Spezies getragen wird. Eine einzelne Position innerhalb des
Gencodes an eine bestimmten Stelle wird als Allel bezeichnet.
Die Mendelschen Regeln:
Eine Menge von Mechanismen, denen die Vererbung von Merkmalen unterliegt. Da sie nur teilweise im Konzept der Genetischen Algorithmen umgesetzt wurden sind sie f
ur uns nicht alle von Interesse. Der wichtige Kernpunkt ist, dass bei der Zeugung von Nachkommen jedes Elternteil mit einer
gewissen Wahrscheinlichkeit seine Merkmale an die Vertreter der nachsten
Generation vererbt.
Mutation:
Bei der Zeugung eines Nachkommens hangt dessen Gencode nicht ausschlielich vom Gencode der Eltern ab. Mutation bezeichnet eine spontane Veranderung des Erbguts die von sehr unterschiedlichem Ausma sein kann. Mutationen erweitern den Genpool einer Population mit Erbinformation die zuvor
eventuell noch nicht existierten und erhohen somit die genetische Vielfalt der
Spezies.
Selektion:
Unter dem Begriff der Selektion versteht man in der Biologie eine Vielzahl
von Faktoren die zu einer Auslese unter den Vertretern einer Spezies f
uhren.
Generell ist darunter zu verstehen, dass einige Vertreter einer Spezies eine
bessere Anpassung an den vorherrschenden Lebensraum aufweisen, die ihnen

erm
oglicht, erfolgreicher im Uberlebenskampf,
in der Partnerwerbung oder
bei der Versorgung ihrer Nachkommen zu sein.
Evolution:
Evolution bezeichnet das Zusammenspiel der oben beschriebenen Mechanismen. Der Genpool einer Spezies wird stetig durch Mutation erweitert. Die

Erfolgreichsten unter den Individuen erhalten durch die Selektion bessere


Chancen bei ihrer Fortpflanzung, wobei die Vererbung ihrer Gene ihre Merkmale im Genpool weiter verteilt und festigt.
Als Resultat ver
andert sich eine Spezies standig. Im Allgemeinen f
uhrt dies im
Laufe der Zeit zu einer besseren Anpassung einer Spezies an die vorherrschenden
Umweltbedingungen. Man konnte unter gewissen Voraussetzungen die Evolution
als Mechanismus auffassen, der die verschiedene Gattungen hinsichtlich ihrer

Uberlebensf
ahigkeit optimiert.

Schema Genetischer Algorithmen

Genetische Algorithmen orientieren sich sehr stark am Schema der Evolution.


Jeder Genetische Algorithmus enthalt folgende Elemente und Methoden:
Individuum und Population:
Grunds
atzlich arbeitet ein Genetischer Algorithmus auf einer Menge von
String-Variablen. Ein einzelner String wird als Individuum bezeichnet, ihre
Gesamtheit als Population. Jedes Individuum ist als potentielle Losung des
Problems zu betrachten, besitzt also bereits die Form, die auch die Losung
aufweisen wird (z.B. Bitstring oder eine Permutation).
Fitness-Funktion:
Die Fitness-Funktion ist der einzige Teil eines Genetischen Algorithmus,
der Problemwissen erfordert. Diese Funktion bildet von der Menge aller
m
oglichen L
osungen (genauer: aller moglichen Erscheinungsformen eines Individuums) auf die Menge der rationalen Zahlen ab. Sie dient der Bewertung
eines Individuums und sollte folglich f
ur bessere Losungen hohere Werte
erzielen.
Mutationsoperator:
Die Mutation wird auf einzelne Individuen angewendet und verandert sie im
geringen Mae auf zuf
alliger Basis.
Rekombinationsoperator
Der Rekombinationsoperator berechnet aus zwei Individuen ein oder mehrere
Weitere, die Merkmale beider vorhergehender u
bernehmen.
Parent-Selection Operator:
Der Parent-Selection Operator wird auf die Population angewendet und
w
ahlt auf Basis der Fitness-Funktion Individuenpaare f
ur die Rekombination aus.
Survivor-Selection Operator
Auch der Survivor-Selection Operator wird auf die Population angewendet
und entfernt nicht weiter benotigte Individuen aus der Population.
Abbruchkriterium:
Ein Abbruchkriterium ist stets notwendig da mit einem tatsachlichen Erreichen des globalen Maximums nicht gerechnet werden kann, bzw. es eventuell

nicht m
oglich ist ein solches zweifelsfrei zu erkennen. Ublicherweise
wird es
als eine Schranke f
ur die Anzahl der Iterationen realisiert oder es wird sobald
sich die Fitness nicht weiter verbessert abgebrochen.

Mit diesen Bestandteilen lauft ein genetischer Algorithmus nach diesen Vorgaben ab:
1.
2.
3.
4.
5.
6.
7.

Initialisierung der Population


Fitness-Evaluation
Parent-Selection
Rekombination
Mutation
Survivor-Selection
Abbruchkriterium erf
ullt Abbruch
ELSE 2.

Repr
asentation von Individuen

Beim Entwurf eines Genetischen Algorithmus ist es nicht immer einfach eine geeignete Form f
ur die Individuen zu finden. Aufgrund der Wirkungsweise Genetischer Algorithmen ist es nur moglich, Strings aus Variablen zu verwenden. Mittels
K.O.-Kriterien, wie sie beispielsweise bei der Tabu-Suche oder bei Backtracking
verwendet werden, k
onnen hier keine Losungskandidaten aussortiert werden. Des
weiteren muss jedes Individuum zum einen der Struktur der Losung entsprechen,
umgekehrt auch eine im Problem sinnvolle Form besitzen und nat
urlich von der
Fitness-Funktion bearbeitet werden konnen. Eine weitere wichtige Eigenschaft
ist, dass alle Elemente des Strings den gleichen Einfluss auf die Losung besitzen. So ist es beispielsweise verlockend, einen String aus binaren Variablen
als Integerzahl zu interpretieren. Dies ist aber nicht ratsam, da einzelne Bits
den Betrag der Zahl unterschiedlich stark verandern. Auch w
urden viele Operatoren, die auf den String im spateren Verlauf des Algorithmus angewendet
werden verf
alscht: 810 = 10002 . Der Abstand in Bitflips zu 910 = 10012 betragt
nur 1, zur 710 = 01112 allerdings 4, obwohl die Zahlen 7 und 9 zu 8 benachbart sind. Im Allgemeinen ist die Optimierung einer einzigen Integervariable
mit einem Genetischen Algorithmus nur mit Hilfe fortgeschrittener Techniken
wie Graycoding effizient. G
angiger und angemessener sind:
Bitstrings: Sehr geeignet f
ur die Darstellung von Belegungen, wie beispielsweise beim Rucksackproblem. Geschichtlich gesehen arbeitete Hollands SGA
ausschlielich auf Bitstrings.
Integer Strings: Es ist moglich, sowohl kardinale als auch ordinale Attribute zu verwenden. Diese Darstellung gehort zu den am haufigsten verwendeten.
Strings aus Gleitkommazahlen: Gleitkommazahlen darzustellen ist moglich und wird, da Genetische Algorithmen inzwischen ofters f
ur KI-Systeme
verwendet werden h
aufiger eingesetzt.
Permutationen: F
ur viele NP-vollstandige Probleme (beispielsweise Travelling Salesman Problem) ist eine Darstellung als Permutation sehr sinnvoll.

Mutation

Der Mutationsoperator, der auf ein einzelnes Individuum angewendet wird, ist
nat
urlich in erster Linie von der gewahlten Reprasentation abhangig.
5.1

Mutation von bin


aren Werten

Bitstrings zu mutieren ist u


beraus einfach. Es wird fast ausschlielich ein einziges
Verfahren eingesetzt. Dabei wird jedem Bit eine feste (aber kleine) Wahrscheinlichkeit pm zu mutieren zugeordnet. Sollte ein Bit f
ur die Mutation ausgewahlt
werden, so wird es invertiert. Bei einer Lange L des Bitvektors werden folglich
L pm Bits mutieren. Im Regelfall muss die Mutationsrate dem gew
unschten
Ergebnis angepasst werden. Beispielsweise erfordert das Z
uchten von Population
mit hohem Durchschnittswert eine niedrigere Mutationsrate als das moglichst
schnelle Ann
ahern an ein Maximum.
5.2

Mutation von ganzzahligen Werten

F
ur ganzzahlige Werte werden hauptsachlich zwei Mutationsverfahren eingesetzt. Beide setzten wieder eine Mutationsrate pm voraus. Random Resetting
ahnelt dem Bitflipping. Mit der Wahrscheinlichkeit pm mutiert ein Wert des

Strings und w
ahlt zuf
allig einen neuen, zulassigen Wert. Da dieses Verfahren
jedem Wert die gleiche Chance ermoglicht, eignet es sich besonders f
ur kardinale
Werte. Creep Mutation wurde f
ur eine bessere Kompatibilitat mit ordinalen
Werten entworfen. Zu einem Wert wird, wenn er mutiert, ein kleiner, positiver
oder negativer, Betrag addiert. Sehr verbreitet ist die Variante bei der jede Position mit der Wahrscheinlichkeit p2m inkrementiert und mit p2m dekrementiert
wird.
5.3

Mutation von Gleitkommazahlen

Es erscheint komplizierter Gleitkommazahlen zu mutieren als Integerwerte. Allerdings


ahneln die Vorgehensweisen denen, die auch bei Ganzzahlen angewendet
werden. Die Uniforme Mutation konnte als die Adaption des Random Resetting auf Gleitkommazahlen interpretiert werden. Einem Allel, das wieder mit
einer Wahscheinlichkeit von pm mutierte, wird ein neuer Wert zugewiesen, wobei
dieser zuf
allig aus einem definierten Intervall gewahlt wird, um einen zulassigen
Wert zu garantieren. Wie die Uniforme Mutation dem Random Resetting ahnelt,
so
ahnelt die Nonuniforme Mutation der Creep Mutation. Anstatt frei einen
Wert zu w
ahlen, der den mutierenden ersetzt, wird bei der Nonuniformen Mutation der neue Wert in Abh
angigkeit von dem urspr
unglichen ermittelt. Der neue
Wert liegt hierbei normalverteilt um den vorhergehenden. Dies garantiert, dass
die Mehrzahl der neuen Werte den alten sehr nahe liegen, und ermoglicht die
Modifikation eben dieser durchschnittlichen Nahe mit Hilfe einer Anpassung
der Varianz der Gaussschen Verteilung.

5.4

Mutation von Permutationen

W
ahrend es bisher m
oglich war, einzelne Allele zu modifizieren, ohne auf die
Gesamtheit des Genotyps zu achten, stellt sich bei der Darstellung eines Individuums als Permutation das Problem, dass diese Vorgehensweise die grundlegenden Eigenschaften von Permutationen zerstoren w
urde. Die Tatsache, dass

selbst eine kleine Anderung


von Allelen in einer Permutation groe Auswirkungen haben kann lassen dem schonenden Inversionsverfahren besondere Bedeutung zukommen. Bei der Swap Methode werden zufallig 2 Positionen ausgewahlt
und vertauscht, bei der Insert Mutation ebenfalls 2 Positionen gewahlt aber
der Wert aus der zweiten Position wird neben der ersten Position eingeordnet und die dazwischen liegenden Werte verschoben. Bei der Scramble Mutation wird eine zuf
allige Anzahl von Positionen ausgewahlt und ihre Inhalte
permutiert. Scramble ist somit eine Ausweitung von Swap auf mehrere Positionen. Scramble stellt eine massive Veranderung der urspr
unglichen Permutation
dar und wird meist nur verwendet wenn sehr hohe Mutationsraten gefordert

werden. Ahnlich
wie beim Scramble Verfahren werden bei der Inversion Mutation mehrere Allele ausgewahlt, doch unter der Bedingung, dass diese unterbrechungslos benachbart sind. Der ausgewahlte Teil der Permutation wird
umgekehrt und zur
uckgeschrieben. Da innerhalb der drei Segmente die Ordnung
weitestgehend erhalten bleibt und sich trotzdem ein guter Teil verandert, stellt
dieses Verfahren einen Kompromiss zwischen Swap und Scramble dar und zeigt
sich wirkungsvoller als diese beiden Verfahren.

Rekombination

Die Rekombination unterscheidet Genetische Algorithmen und andere Evolution


are Algorithmen am deutlichsten von herkommlicher lokaler Suche. Bei der
Rekombination werden aus einem oder mehreren Individuen ein oder mehrere
Nachkommen erzeugt. Im Normalfall werden zur Rekombination Crossoverstrategien eingesetzt bei denen aus zwei Eltern zwei Nachkommen erzeugt werden.
Ausnahmen sind hierbei insbesondere bei Permutationen moglich.
6.1

Rekombination von bin


aren und ganzzahligen Werten

Anders als bei der Mutation konnen f


ur binare und ganzzahlige Werte bei der
Rekombination die selben Verfahren eingesetzt werden. Sie sind durchgangig
Crossoververfahren, d.h. es werden aus zwei Eltern zwei Nachkommen produziert.
One-Point Crossover ist die urspr
ungliche Strategie, die bereits in Hollands
SGA Verwendung fand. Die beiden Elternstrings werden an derselben, zufallig
ausgew
ahlten Stelle getrennt und jeweils vertauscht wieder konkateniert. Wenn
statt einer fixen eine zuf
allige Anzahl von Umbruchpunkten gesucht wird, spricht
man von N-Point Crossover. Bei der verallgemeinerten Form, Uniform Crossover, werden alle Positionen einzeln betrachtet. F
ur jede Position eines Elternteils wird zuf
allig bestimmt, an welchen Nachkommen es vererbt wird. Die unbesetzten Stellen werden dann mit den Allelen des zweiten Elternstrings aufgef
ullt.

6.2

Rekombination von Gleitkommazahlen

Bei Gleitkommazahlen k
onnen stets die selben Verfahren wie bei binaren und
ganzzahligen Werten eingesetzt werden. In diesem Fall spricht man von diskreter
Rekombination. Zus
atzlich dazu wird bei Gleitkommazahlen aber auch die
arithmetische Rekombination eingesetzt. Hierbei werden Erbinformationen
unter Umst
anden nicht direkt von Eltern zu Nachkommen weitergegeben, sondern neu gebildet. Bei jeder arithmetischen Rekombination spielt der Faktor
a eine Rolle. Er bezeichnet das Verhaltnis; in welchem die Werte der Eltern
zur Berechnung der Werte der Nachkommen ber
ucksichtigt werden. In manchen
F
allen wird a zuf
allig aus [0,1] gewahlt. Verbreiteter ist allerdings die Variante, in der a mit einer Konstante belegt wird. Ist a konstant 0,5 spricht man
von Uniformer arithmetischer Rekombination. Bei der Single Arithmetic
Recombination wird ein einzelnes Allel zweier Elternstrings ausgewahlt, bei
Simple Arithmetic Recombination alle Allele ab einem gewissem Punkt.
Nun wird f
ur jedes Elternteil ein Nachkomme erzeugt, dessen Allele bis auf
die ausgew
ahlten mit denen des entsprechenden Elternteils identisch sind. F
ur
die restlichen Allele wird der gewichtete Durchschnitt verwendet. So ware zi
als markierte Stelle des Nachkommens und den Stellen xi und yi der Eltern:
zi = a xi + (1 a) yi , wahrend die restlichen Stellen mit den Werten von
Elternteil X identisch w
aren.
6.3

Rekombination von Permutationen

Wenn die Individuen als Permutationen dargestellt werden, sind besondere Anforderungen an den Rekombinationsoperator gestellt. Zusatzlich zu den Schwierigkeiten die bereits bei der Mutation erwahnt wurden, kommt nun hinzu, dass die
Position einer Variable innerhalb des Strings nun eine zusatzliche Bedeutung
inne hat und diese Information auch vererbt werden sollte. Im Laufe der Zeit
wurde eine Vielzahl von Rekombinationsstrategien f
ur diesen Fall entwickelt. Die
am meisten verbreitete, Partially Mapped Crossover, wird hier genauer erlautert.
Weitere bekannte M
oglichkeiten sind: Edge Crossover, welche den Vorteil bietet,
dass gemeinsame Kanten der Eltern garantiert vererbt werden sowie Order und
Cycle Crossover, welche die Absicht verfolgen, die relative (Order Crossover)
beziehungsweise die absolute (Cycle Crossover) Ordnung innerhalb der Permutation zu wahren. Partially Mapped Crossover wurde urspr
unglich zum Behandeln des TSPs entworfen, kann aber problemlos f
ur alle Arten permutationsbasierter Probleme eingesetzt werden. In seiner urspr
unglichen Version erzeugt
sie aus zwei Eltern nur einen Nachfahren, es ist aber moglich, aus den zwei
gleichen Eltern durch Vertauschen der Rollen einen zweiten, unterschiedlichen
Nachkommen zu produzieren. Um aus zwei Eltern, im Nachfolgenden X und Y
genannt, einen Nachkommen zu erzeugen wird folgendermaen vorgegangen:
1. Es werden zwei Crossoverpunkte zufallig ausgewahlt. Der Inhalt von X wird
zwischen den Crossoverpunkten direkt an den Nachkommen weitergegeben.

2. F
ur jedes zwischen den Crossoverpunkten liegende Element aus Y wird u
berpr
uft, ob es bereits im Nachkommen vorkommt. Ist dies nicht der Fall wird, es
markiert.
3. Die zuvor markierten Elemente werden dem Nachkommen hinzugef
ugt: F
ur
das markierte Element aus Y wird das Element aus X gewahlt, welches dort
an der selben Position liegt. F
ur dieses Element aus X wird die Position in Y
ermittelt. Sollte diese Position im Nachfolger noch unbelegt sein, wird an dieser
Stelle das markierte Element dem Nachfolger hinzugef
ugt. Ist diese Position
bereits vergeben, wird das dort platzierte Element wiederum in Y gesucht und
das markierte Element an dieser, garantiert unbelegten Position an den Nachfolger vererbt.
4. Die restlichen, noch nicht vererbten Elemente von Y konnen nun an die
gleiche Position im Nachkommen kopiert werden.
5. (optional) Die Rollen von X und Y werden vertauscht um einen weiteren
Nachkommen zu produzieren.
Beispiel:
X= 1 2 3 4 5 6 7 8 9
Y= 9 3 7 8 2 6 5 1 4
Die Beiden Eltern X und Y. Die Umbruchstellen nach der dritten und siebten
Stelle wurden zuf
allig bestimmt. Die Elemente innerhalb der Umbruchstellen
von X werden direkt in den Nachkommen geschrieben.
N=

4 5 6 7

Die Elemente 8 und 2 kommen in dem markierten Bereich innerhalb von Y,


nicht aber von X vor, f
ur sie m
ussen neue Platze bestimmt werden. Die
Position der 8 in Y ist in N mit dem Element 4 belegt. In Y liegt die 4
auerhalb des markierten Bereichs. Die 8 kann also an der Stelle der 4 aus Y in
N eingef
ugt werden.
N=

4 5 6 7

Die 2 aus Y wurde in N von der 5 verdrangt. Die 5 liegt auch in Y innerhalb des
markierten Bereichs und wurde von der 7 verdrangt. Die 7 liegt in Y auerhalb
des markierten Bereichs. Die 2 kann also an der Stelle der 7 eingef
ugt werden.
N=

2 4 5 6 7

Die restlichen Elemente konnen von Y nun direkt u


bernommen werden.
N= 9 3 2 4 5 6 7 1 8

Darstellung der Population

Es gibt im wesentlichen zwei verschiedene Modelle, um die Population zu organisieren. Das recht einfache Generational Model und das verallgemeinerte,
verbreitetere Steady-State Model. Bei beiden Modellen verf
ugt die Population
u
ber eine feste Gr
oe g. Beim Generational Model werden bei jeder Generation
g Nachkommen gebildet, die die komplette vorhergehende Population ersetzen.
Beim Steady-State Model hingegen werden n (n < g) Individuen ausgewahlt,
um ersetzt zu werden und n weitere, um als Eltern zu dienen (was wiederum n
neue Individuen hervorbringt). Diese Auswahl wird auch Parent- und SurvivorSelection genannt.

Parent Selection

Bei der Parent Selection werden prinzipiell, um n Nachkommen zu generieren,


n/2 mal 2 Eltern gew
ahlt, auf die der Rekombinationsoperator angewandt wird.
Der Mutationsoperator wird anschlieend auf die beiden Nachkommen angewandt. Erst wenn die vollen n fertigen Nachkommen produziert wurden, werden
sie der Population hinzugef
ugt.
8.1

Auswahl nach Fitness-Bewertung

Fitness Proportional Selection (FPS) ist die urspr


unglich verwendete Form
der Parent Selection und wurde von Holland eingef
uhrt. Zuerst wird f
ur jedes
Individuum der Fitness Wert berechnet. Danach werden, meist mittels Roulette
Wheel Verfahren oder Stochastic Universal Sampling1 , die Eltern ausgewahlt.
Die Wahrscheinlichkeit P
eines Individuums i mit dem Fitness Wert fi erwahlt zu
g
werden betr
agt also fi / j=1 fj . Obwohl Fitness Proportional Selection einleuchtend einfach erscheint, f
uhrt er zu einer Reihe von Problemen:
1. Individuen, die bereits kurz nach der Initialisierung einen vergleichsweise
hohen Fitness Wert aufweisen, u
bernehmen sehr schnell die gesamte Population und f
uhren den Algorithmus haufig in ein lokales Maximum. Dieses
Ph
anomen wird auch als Premature Convergence bezeichnet.
2. Liegen die Fitness Werte vieler Individuen nahe beieinander ergibt sich fast
kein Selektionsdruck, da die feinen Unterschiede beim Roulette Wheel Verfahren nahezu keinen Vorteil einbringen.
3. Dies f
uhrt auch dazu, dass transponierte Versionen der selben Fitness Funktion zu sehr unterschiedlichen Ergebnissen f
uhren.
Allerdings kann man mit dem in Punkt 3 beschriebenem Sachverhalt dem Problem in Punkt 2 entgegen wirken. In dem als Windowing bekanntem Verfahren
wird von allen urspr
unglichen Fitness Werten eine Konstante abgezogen. Dies
kann beispielsweise das Minimum oder der Median aller Fitness-Werte sein, oder
aus vorhergegangenen Fitness Werten berechnet werden.
1

siehe: Baker, James E. (1987). Reducing Bias and Inefficiency in the Selection
Algorithm

8.2

Weitere Parent Selection Verfahren

Auswahl nach Ranking


Um den Problemen von FPS entgegen zu wirken kann man anstatt der rohen
Fitness-Werte auch die Position in einem Ranking zur Auswahl nutzen. Bei
diesem Verfahren kann ein konstanter Selektionsdruck erreicht und die Gefahr
der premature convergence reduziert werden. Verbreitet ist hierf
ur die Funktion:
P =

2s
g

2i(s1)
g(g1)

Hier bezeichnet s die erwartete Anzahl von Nachkommen des Erstplatzierten, i


den Rang und g die Populationsgroe. Anschlieend werden, wie bei FPS mit
beispielsweise Roulette Wheel die gew
unschte Anzahl Paare gewahlt.
Tournament Selection
Es ist m
oglich, dass nur unzureichend Information f
ur eine globale Auswahl
zur Verf
ugung steht, beispielsweise beim Einsatz auf verteilten Systemen, keine
Fitnessfunktion existiert oder ihre Berechnung zu aufwandig ware. In diesem
Fall kann man sich mit Tournament Selection helfen. Tournament Selection arbeitet ohne Fitnessfunktion, es m
ussen nur zwei Individuen vergleichbar sein.
Man k
onnte nun alle Individuen sortieren. Dies benotigt aber unter Umstanden
viel Leistung und Speicher, z.B. beim vergleichen von Spielstrategien etc.. Man
k
onnte aber auch eine Mating-Pool genannte Gruppe von Individuen zusammenstellen, die aus hervortretenden Individuen besteht und f
ur die Rekombinaiton
verwendet werden kann. Um den Mating-Pool der Groe m mit einem Tournament der Gr
oe k zu f
ullen und Eltern auszuwahlen, geht man nach dem
folgenden Schema vor:
while (|matingpool| m)
markiere k Individuen zufallig aus der gesamten Population
w
ahle durch Vergleiche das Beste der markierten Individuen
f
uge dieses Individuum dem Mating Pool hinzu
end while (|matingpool| > 0)
markiere 2 Individuen zufallig aus dem Mating Pool
Rekombiniere die markierten Individuen
l
osche die markierten Individuen aus dem Mating-Pool
end
f
uge die neuen Nachkommmen der Population hinzu
Fitness Rang P(FPS) P(Windowing) P(Ranking)
A
1
0
0,1
0
0
B
5
2
0,5
0,571
0,67
c
4
1
0,4
0,428
0,33
Vergleich verschiedener Parent Selection Strategien. Ranking mit s=2.
Windowing mit kleinstem Wert als abzuziehende Konstante

Survivor Selection

Die Survivor Selection ist das Gegenst


uck zur Parent Selection und vervollstandigt damit die Adaption der nat
urlichen Selektion. Um die Groe der Population konstant zu halten, werden nach jedem Rekombinationsvorgang so viele
Individuen aus der Population entfernt wie neue generiert wurden. Je nach Kriterium, nach dem diese ausgewahlt werden wird zwischen zwei Arten von Survivor Selection unterschieden.
Age-Based Replacement
Wenn jedes Individuum nur die gleiche Anzahl von Iterationen in der Population verweilt, spricht man von Age-Based Replacement. Hierbei spielt die Fitness
keine Rolle, d.h. der tats
achliche Selektionsdruck r
uhrt nur seitens der Parent
Selection her. Mit einer Lebensdauer von nur einem Zyklus m
usste die gesamte
Population ausgewechselt werden, es entsprache dem Generational Model. Bei
l
angeren Lebenszeiten k
onnen auch Steady-State Populationen verwendet werden, allerdings schreibt die Lebenszeit hier auch die Anzahl neuer Individuen vor.
Fitness-Based Replacement
Es existieren mehrere Ersetzungsstrategien, die die Fitnesswerte mit ber
ucksichtigen. Die einfachste ist die jeweils Schlechtesten der Population zu entfernen.
Hier hat sich gezeigt, dass dies zwar die durchschnittliche Fitness sehr schnell
wachsen l
asst aber auch sehr zu Premature Convergence neigt. Eine Alternative dazu stellt beispielsweise Elitism dar. Hier werden Fitness-Based und
Age-Based Replacement verbunden. Wahrend die wenigen Besten der Population niemals aussortiert werden, wird die restliche Population mittels Age-Based
Replacement verkleinert. Auf diese Art und Weise gehen die hochstbewerteten
Individuen erst dann verloren, wenn sie von ihren eigenen Nachkommen u
berholt
wurden. Auf eine stochastische Auswahl wird bei der Survivor Selection nur selten zur
uckgegriffen.

10

Wirkungsweise Genetischer Algorithmen

Obwohl Genetische Algorithmen sehr erfolgreich eingesetzt wurden, ist ihr theoretischer Hintergrund noch wenig erforscht. Welche Parameter erfolgversprechend
sind und welche nicht, wird hauptsachlich empirisch untersucht und ist nur bedingt erkl
arbar. Hollands Building-Block und Schematheorie bieten die einzige
Erkl
arung der Mechanismen eines Genetischen Algorithmus.
Schemas
In Bezug auf Strings bezeichnet ein Schema eine Teilmenge der Menge aller
m
oglichen Strings einer gewissen Lange, die sich in einer Anzahl von Positionen
nicht unterscheiden. Ein Element dieser Teilmenge wird Instanz dieses Schemas
genannt. Die Anzahl gemeinsamer Stellen aller Mitglieder des Schemas wird als
Ordnung bezeichnet, die maximale Distanz zwischen zwei definierenden Stellen,

die definierende L
ange. Beispielsweise hatte das Schema *1010* die Instanzen
010100, 010101, 110100 und 110101, die Lange 6, die definierende Lange 3 und
die Ordnung 4. Einem Schema kann in einem GA eine durchschnittliche Fitness
zugeordnet werden.
Schema Wettstreit
F
ur jedes Schema der Ordnung k existieren 2k 1 andere Schemas, die die gleichen Positionen festlegen und die gemeinsam eine Partitionierung der Menge
aller m
oglichen Strings sind. Jedes Element der Population kann mehreren Schemas (mit unterschiedlichen definierenden Stellen) zugeordnet werden. Insgesamt
gibt es f
ur Strings der L
ange l genau 2l verschiedene Schemas. Man kann einen
GA als einen Wettstreit dieser Schemas betrachten, wobei jedes Schema danach
strebt, m
oglichst viele Instanzen in der Population zu besitzen. Je hoher die Fitness eines Schemas, um so mehr Instanzen werden von ihr erzeugt. Letztendlich
versucht ein GA aus dieser Menge optimaler Substrings einen optimalen String
als L
osung zu erstellen.
Building Block
Ein Building Block bezeichnet einen Substring, der, wenn er in eine andere
L
osung eingesetzt werden w
urde, diese mit erhohter Wahrscheinlichkeit verbessern w
urde. Die verschiedenen Operationen dienen alle diesem Zweck. Rekombination versucht, bew
ahrte Schemas zu bewahren und Mutation versucht, neue
Schemas mit einzubeziehen. Betrachtet man die Allele als einzelnes (Bauklotzchen), so versucht ein GA die guten von den nutzlosen zu trennen. Dabei wird
angenommen, dass benachbarte gute Blocke gute Strings hervorbringen. Dies ist
nicht immer der Fall und hangt von dem zugrundeliegenden Problem und der
gew
ahlten Repr
asentation ab. Ist dies der Fall, spricht man von GA-deceptivefunctions.
Schematheorem
Mit dem Wissen, wie die Operatoren eines GAs wirken kommen, wir nun zu zwei
Schl
ussen:
1. Je h
oher die durchschnittliche Fitness eines Schemas, umso wahrscheinlicher
wird es sich verbreiten.
2. Eine h
ohere definierende Lange erhoht die Wahrscheinlichkeit, dass ein Schema bei der Rekombination zertrennt und nur unvollstandig weittergegeben
wird.
Zusammengenommen ist dies der Kern des Schematheorems nach Holland: Schemas mit hoher Fitness und kleiner definierenden Lange verbreiten sich exponentiell schnell innerhalb der Population. Mit den Wahrscheinlichkeiten pc (h)
l1 , dass
eine Instanz durch Crossover und pm o(h) durch Mutation zerstort wird, erhalten
wir den formale Schluss des Schematheorems:

h
i
N (h, t + 1) N (h, t) ff(h,t)
1 pc (h)
l1 pm o(h)
(t)
mit:
f (h, t): durchschnittliche Fitness von Schema h in Generation t
f (t): durchschnittliche Fitness der gesamten Population in Generation t
pc : Rekombinationwahrscheinlichkeit
pm : Mutationswahrscheinlichkeit
(h): definierende L
ange von h
o(h): Ordnung von h
l: L
ange der Strings
N (h, t): erwartete Anzahl von Instanzen von h in Generation t

11

Quellen

1. A.E. Eiben and J.E. Smith: Introduction to Evolutionary Computing,Springer,


Natural Computing Series, 2003, ISBN: 3-540-40184-9
2. David E. Goldberg: Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley, 1989, ISBN 0-201-15767-5
3. M. Srinivas, L.M. Patnaik: Genetic Algorithms: A Survey, 1994, ISSN: 00189162
4. U. Kutschera: Evolutionsbiologie, 2008, 3. Auflage, Verlag Eugen Ulmer,
Stuttgart, ISBN 3-8252-8318-6
5. J.H. Holland: Adaptation in Natural and Artificial Systems: An Introductory
Analysis with Applications to Biology, Control, and Artificial Intelligence,
Bradford Book, 1992, ISBN: 0-262-58111-6

You might also like