Schematheorem

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Schemasatz)

Das Schematheorem nach John H. Holland behandelt das Konvergenzverhalten genetischer Algorithmen. Das Theorem beweist, dass sich Individuen mit überdurchschnittlicher Fitness mit höherer Wahrscheinlichkeit durchsetzen.

Herleitung

Das Schematheorem betrachtet das Genom eines Individuums, in der Regel also eine Bitkette, die Werte kodiert. Zunächst muss der Begriff Schema erläutert werden: Ein Schema ist ein Bitmuster, das eine Menge von Bitketten repräsentiert. Ein Schema besteht aus den Zeichen 0 1 oder #. Das Zeichen # fungiert als Platzhalter für eine 0 oder 1.

Beispielsweise bezeichnet das Schema #101# die folgende Menge von Bitketten:

01010, 01011, 11011, 11010.

Das Schematheorem berechnet nun den Erwartungswert dafür, dass ein gewisses Schema H von einer Generation zur nächsten „überlebt“. Hierzu werden die drei zentralen Schritte eines Genetischen Algorithmus untersucht:

Es wird eine Population bestehend aus N binären Genomen der Länge l zu einem Zeitpunkt t betrachtet. Die verwendete Fitness-Funktion f sei normiert und für alle Bitketten der Länge l definiert.

Im Zuge der Herleitung werden folgende Schreibweisen verwendet:

     Anzahl der Genome zum Zeitpunkt t, die das Schema H enthalten.
     Der Durchmesser des Schemas H, wird definiert als Länge der kürzesten
     Teilkette, die noch alle festen Bits des Schemas enthält.
     Z. B. d(#0101##1##)=7.
     Steht für die Anzahl der festen Bits in H. Z. B. b(##0##11#)=3

Selektion

Da die Fitness normiert ist, gilt für die Wahrscheinlichkeit p, dass eine bestimmte Elternkette aus einer Population ausgewählt wird:

Seien nun ohne Einschränkung alle diejenigen Bitketten der Population zur Zeit t, die das Schema H enthalten.

Die Fitness des Schemas H wird dann definiert durch: .

Die Wahrscheinlichkeit, dass eine Kette ausgewählt wird, die H enthält, ist somit:

Für die Wahrscheinlichkeit, dass zwei Elternketten, die beide H enthalten, ausgewählt werden, gilt: .

Rekombination (Crossover)

Beim 1-Point-Rekombination wird zunächst ein Trennpunkt zwischen den Bitstellen 1 und l-1 gewählt. Falls beide Elternteile H enthalten, so enthält auch die Tochterkette dieses Schema. Enthält nur eine Elternkette das Schema, so wird H im Mittel in der Hälfte der Fälle weitergegeben, falls es nicht beim Crossover selbst durchtrennt wird.

Die Wahrscheinlichkeit, dass es nicht durchtrennt wird, ist:

Damit gilt für die Wahrscheinlichkeit W, dass beim Crossover das Schema H weitergegeben wird:

Falls beim Crossover das Schema H durchtrennt wird, besteht die Möglichkeit, dass das fehlende Teilstück an passender Stelle in der anderen Elternkette enthalten ist. Daher rührt die Ungleichung. Falls 2-Point-Crossover durchgeführt wird, hat das lediglich Auswirkungen auf , die Wahrscheinlichkeit, dass das Schema durchtrennt wird, steigt.

Mutation

Sei p die Mutationswahrscheinlichkeit, das heißt, jedes Bit der neuen Kette wird mit der Wahrscheinlichkeit p negiert. Dies bedeutet, dass das Schema H mit festen Bits mit der Wahrscheinlichkeit erhalten bleibt.

Wird dieser Effekt berücksichtigt, so ergibt sich für die Wahrscheinlichkeit , dass eine durch die Operatoren Crossover und Mutation erzeugte Kette das Schema H enthält:

Mit .

Fazit

Werden also insgesamt N neue Ketten erzeugt, so gilt für den Erwartungswert der Anzahl der Ketten, die das Schema H zum Zeitpunkt enthalten:

Die letzten beiden Formeln zeigen, dass Schemata mit überdurchschnittlicher Fitness und kleinem Durchmesser sich mit großer Wahrscheinlichkeit durchsetzen. Die Reproduktionswahrscheinlichkeit steigt aber auch mit der Häufigkeit eines Schemas . Das heißt, ein durchschnittliches Schema kann sich innerhalb einer Population durchsetzen, wenn es oft genug vorkommt. Dieser Effekt wird genetisches Driften genannt.

Weiterhin verdient der Faktor Beachtung. Eine hohe Mutationsrate p bewirkt eine verstärkte Destruktion erfolgreicher Muster. Andererseits ist eine gewisse Mutationshäufigkeit nötig, um den Suchraum möglichst umfassend zu durchsuchen. Durch Justierung von p kann also die Suchaktivität des Algorithmus gesteuert werden.