View
536
Download
0
Category
Preview:
DESCRIPTION
Seminararbeit. Gibt Überblick über gängige Prinzipien für das Design Memetischer Algorithmen (Evolutionäre Algorithmen mit lokaler Suche). Ausgiebige Literaturliste. Sprache: Deutsch.
Citation preview
Westfälische Wilhelms-Universität Münster
Seminararbeit
Prinzipien Memetischer Algorithmen für MAX-2-SAT
Im Rahmen des Seminars SoftComputing AG
(Vertiefungsmodul Informatik)
Dominic Steffen
Jägerstr. 18
48153 Münster
d.steffen@uni-muenster.de
Themensteller: Prof. Dr. W.-M. Lippe Betreuer: PD Dr. Borschbach Institut für Informatik Praktische Informatik in der Wirtschaft
II
Inhalt 1 Einleitung ................................................................................................................... 5
2 Das Optimierungsproblem MAX-2-SAT .................................................................. 6
2.1 Definition des Problems ..................................................................................... 6
2.1.1 Das Erfüllbarkeitsproblem SAT ................................................................. 6 2.1.2 Das Optimierungsproblem MAX-SAT ....................................................... 7
2.2 Komplexität und Approximation ....................................................................... 7
2.2.1 Komplexitätsklassen P und NP ................................................................... 8
3 Algorithmen ............................................................................................................. 11
3.1 Evolutionäre Algorithmen ................................................................................ 11
3.1.1 Einführung ................................................................................................ 11 3.1.2 Genetische Algorithmen ........................................................................... 12
3.2 Lokale Suche .................................................................................................... 22
3.3 Hybride Evolutionäre Algorithmen .................................................................. 25
3.3.1 Motivation ................................................................................................. 25
3.4 Memetische Algorithmen ................................................................................. 26
4 Umsetzung ............................................................................................................... 29
4.1 Individuen und Population ............................................................................... 29
4.2 Bewertung der Fitness ...................................................................................... 30
4.3 Populationsmanagement .................................................................................. 31
4.4 Rekombination ................................................................................................. 33
4.5 Mutation ........................................................................................................... 35
4.6 Lokale Suche .................................................................................................... 36
4.7 Performanz und Design .................................................................................... 37
5 Abschließende Betrachtungen ................................................................................. 39
6 Literaturverzeichnis ................................................................................................. 40
III
Abbildungsverzeichnis Abbildung 1 1-Punkt-Crossover mit Trennstelle t = 6 ................................................... 17
Abbildung 2 Uniform Crossover .................................................................................... 18
Abbildung 3 Roulette Selektion ...................................................................................... 21
Abbildung 4 Memetischer Algorithmus mit mehreren Phasen der Verbesserung ......... 27
Abbildung 5 Performanz der Crossoveroperatoren (GASAT) auf einer
Zufallsgenerierten 3-SAT-Instanz mit 500 Variablen: 1. Uniform CO, 2. CCTM, 3. CC,
4. F&F ............................................................................................................................. 35
IV
Formelverzeichnis Formel 1 Fitnessfunktion einer Population ..................................................................... 15
Formel 2 Durchschnittliche Fitness ................................................................................ 15
Formel 3 Fitnessfunktion von MAX-2-SAT .................................................................. 15
Formel 4 No-Free-Lunch Theorem ................................................................................. 25
Formel 5 Fitnessfunktion von MATHiC ........................................................................ 30
Formel 6 Standardisierte Fitness (MATHiC) ................................................................. 30
Formel 7 Fitnessfunktion von GASAT ........................................................................... 31
Formel 8 Flipfunktion ..................................................................................................... 31
Formel 9 Verbesserungsfunktion (GASAT) ................................................................... 31
Formel 10 Survivor-Selection nach Variante 1 (MATHiC) ........................................... 32
Formel 11 Survivor-Selection Variante 2 (MATHiC) .................................................... 32
Formel 12 Survivor-Selection Bedingung (GASAT) ..................................................... 33
Formel 13 Wahrheitsgrad einer Klausel ......................................................................... 36
Formel 14 Gewicht einer Klausel ................................................................................... 37
Prinzipien Memetischer Algorithmen für MAX-2-SAT
5
1 Einleitung
Diese Arbeit befasst sich mit memetischen Algorithmen zur Bewältigung von MAX-2-
SAT Probleminstanzen. Memetische Algorithmen sind Hybride
Approximationsalgorithmen, deren Hauptkomponenten Evolutionäre Algorithmen und
lokale Suchheuristiken sind. Diese Algorithmen bieten einen effizienten Weg,
Näherungslösungen von guter Qualität für die sonst nahezu unmöglich zu lösenden
MAX-2-SAT Problemstellungen zu generieren.
Diese Arbeit beginnt mit der Darstellung der Problemklasse MAX-2-SAT und eine
Einordnung in die Komplexitätstheorie. Danach werden im dritten Kapitel die
grundlegenden Kenntnisse über relevante Algorithmen aufbereitet. Das Kapitel stellt die
Klasse der Evolutionären Algorithmen und die Lokale Suche da und erörtert Gründe,
warum Hybridalgorithmen sinnvoll sein können. Dann wird das Prinzip des
Memetischen Algorithmus erläutert. Im vierten Kapitel wird dann die Umsetzung dieser
Prinzipien anhand der Betrachtung von zwei Memetischen Algorithmen MATHiC, von
Exeler, und GASAT, von Lardeux, Saubion und Hao, illustriert. Die Arbeit schließt im
fünften Kapitel mit einer abschließenden Betrachtung des Themas.
Prinzipien Memetischer Algorithmen für MAX-2-SAT
6
2 Das Optimierungsproblem MAX-2-SAT
MAX-2-SAT gehört zur Klasse der Optimierungsprobleme, der die Klasse der SAT-
Probleme zugrunde liegt. Aus diesem Grunde möchte ich zunächst in die Problemklasse
SAT einführen und dann darauf aufbauend MAX-2-SAT erläutern.
2.1 Definition des Problems
2.1.1 Das Erfüllbarkeitsproblem SAT
SAT1 ist ein Erfüllbarkeitsproblem der Aussagenlogik: Für einen gegebenen booleschen
Ausdruck : 0,1 0,1 über n Variablen , … , soll die Behauptung „Es
existiert eine Variablenbelegung, die diesen Ausdruck erfüllt“ bewiesen oder widerlegt
werden. SAT ist somit ein Entscheidungsproblem2. Der Boolesche Ausdruck wird in
Konjunktiver Normalform notiert.
Definition: Ein Ausdruck ist in Konjunktiver Normalform (KNF), wenn er aus einer
oder mehrerer Klauseln besteht, die durch UND-Verknüpfungen miteinander verbunden
sind und alle Klauseln aus einem Literal oder mehreren Literalen bestehen, welche
durch ODER-Verknüpfungen miteinander verbunden sind. Ein Literal ist ein Variable
oder deren Negation.
Beispiel eines Booleschen Ausdrucks in (KNF):
f x , x , x , x x x x x x x
SAT-verwandte Problemstellungen sind nach [LSH06] 3:
• Model-Finding: Das Auffinden von Variablenbelegungen, welche den
Booleschen Ausdruck erfüllen,
• MAX-SAT: Das Auffinden von Variablenbelegungen, welche die maximale
Anzahl Klauseln des Booleschen Ausdrucks erfüllt ( 2.1.2),
• Model-Counting: Das Bestimmen der Anzahl aller Variablenbelegungen, welche
den Booleschen Ausdruck erfüllen.
1 Kurzform für „Satisfiability“: Erfüllbarkeit 2 Ein Entscheidungsproblem sind Probleme, die als Antwort „Ja/Nein“ oder „Wahr/Falsch“ erwarten. Vgl. [Exe08] 3 Vom Autor aus dem Englischen übersetztz
Prinzipien Memetischer Algorithmen für MAX-2-SAT
7
K-SAT
k-SAT-Probleme sind SAT-Probleme deren Boolescher Ausdruck weiteren
Beschränkungen unterliegt. Dafür werde zunächst der Begriff der k-KNF eingeführt:
Definition: Ein Boolescher Ausdruck wird als k-KNF bezeichnet, wenn er in
konjunktiver Normalform notiert ist und jede Klausel nicht mehr als k Literale enthält.
Ein k-SAT Problem ist nun ein SAT-Problem über n Variablen , … , dessen
Boolescher Ausdruck : 0,1 0,1 in k-KNF vorliegt.
2.1.2 Das Optimierungsproblem MAX-SAT
Das mit SAT verwandte Optimierungsproblem MAX-SAT versucht zu einem
gegebenen, in KNF notierten Booleschen Ausdruck : 0,1 0,1 über n Variablen
, … , diejenige Variablenbelegung X zu finden, welche die maximale Anzahl
Klauseln erfüllt. MAX-SAT gehört somit zur Klasse der Optimierungsprobleme.
Definition:4 Ein Optimierungsproblem sei ein Quadrupel , , , mit
als Klasse möglicher Eingaben (Instanzen), : ä ö ,
der Gütefunktion : , , ü , und der
Optimierungsrichtung , .
Es gibt auch ein zu k-SAT korrespondierendes Optimierungsproblem, genannt MAX-k-
SAT. MAX-k-SAT ist ein Optimierungsproblem, welches zu einem gegebenen, in k-
KNF notierten Booleschen Ausdruck : 0,1 0,1 über n Variablen
, … , diejenige Variablenbelegung X sucht, welche die maximale Anzahl Klauseln
erfüllt.
2.2 Komplexität und Approximation
Um die Nutzung von Approximationsalgorithmen anstelle von exakten Algorithmen zu
rechtfertigen, ist es nötig einen kurzen Überblick über die Komplexitätstheorie,
insbesondere der komplexitätstheoretischen Klassen P und NP zu schaffen und dann
den Bezug zum MAX-2-SAT-Problem herzustellen.
4 Nach [Exe08]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
8
2.2.1 Komplexitätsklassen P und NP
Ist ein Problem algorithmisch lösbar, so bleibt dennoch die Frage zu beantworten ob es
auch praktisch lösbar ist. Praktisch lösbar bedeutet, dass es (unter anderem) innerhalb
zumutbarer Zeitgrenzen lösbar ist.
Komplexitätsklasse P
Die Klasse P ist die Klasse aller Probleme, die praktisch gelöst werden können [Hro07,
S. 223]. Ein Problem wird dann zur Klasse P gezählt, wenn ein Algorithmus mit
maximal polynomieller Komplexität existiert der dieses Problem löst. Ein Problem kann
als Sprache aufgefasst werden, deren Wörter Eingaben einer Turingmaschine sind. Die
Akzeptanz der Eingabe durch die Turingmaschine wird als Antwort betrachtet. Eine
Turingmaschine akzeptiert eine Eingabe, wenn sie nach einer finiten Anzahl von
Schritten in einen der definierten Endzustände übergeht. Dadurch kann die
Problemklasse P genauer definiert werden:
Definition5: Sei M eine (deterministische) Mehrbandturingmaschine (MTM) mit dem
Eingabealphabet Σ, Σ ein Wort der Länge n über Σ und 6 die
Berechnungskomplexität von M auf x, so ist die Zeitkomplexität von M für alle Worte
der Länge n als max | Σ definiert.
Definition7: Sei L(M) eine Sprache L die von einer Mehrbandturingmaschine M
akzeptiert wird, so ist |
die Menge aller Sprachen zu denen eine Turingmaschine existiert, welche die
Sprache innerhalb der oberen Schranke von f(n) akzeptiert.
Definition8: Die Menge enthält alle Sprachen, die in
polynomieller Zeit akzeptiert werden.
Komplexitätsklasse NP
Demgegenüber enthält die Klasse NP alle Probleme, die von einer
nichtdeterministischen Mehrbandturingmaschine in polynomieller Zeit gelöst werden
können. Eine nichtdeterministische Turingmaschine kann eine Turingmaschine
betrachtet werden, die bei jedem Schritt der zu einer Verzweigung führt die
5 Nach [Hro07, S.208] 6 Entspricht der Anzahl der Berechnungsschritte von M auf x (siehe [ebd.]) 7 Nach [ebd., S.215] 8 Nach [ebd.]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
9
bestmögliche Entscheidung trifft (oder alle Zweige parallel verfolgt) und eine Sprache
dann akzeptiert, wenn mindestens ein Zweig in einen definierten Endzustand übergeht.
Definition9: Sei L(M) eine Sprache L die von einer nichtdeterministischen
Mehrbandturingmaschine (NTM) M akzeptiert wird, so ist
| die Menge aller
Sprachen zu denen eine nichtdeterministische Mehrbandturingmaschine existiert,
welche die Sprache innerhalb der oberen Schranke von f(n) akzeptiert.
Definition10: Die Menge enthält alle Sprachen, die in
polynomieller Zeit von einer Nichtdeterministischen Turingmaschine akzeptiert werden.
NP kann auch als die Klasse der Probleme aufgefasst werden, zu denen ein Beweis
innerhalb superpolynomieller Zeit erstellt, ein gegebener Beweis aber innerhalb
polynomieller Zeit verifiziert werden kann [Hro07, Kap.6.5]. Alle Probleme der Klasse
P liegen auch in der Klasse NP, also , jedoch besteht gegenwärtig kein Grund
anzunehmen, dass gilt und somit auch .
NP-Schwere Sprachen und NP-Vollständigkeit
Innerhalb der Komplexitätsklasse NP existieren jedoch Probleme, die schwerer (zu
lösen) sind als andere Probleme der Klasse. NP-schwere Probleme sind alle Probleme,
die mindestens so schwer sind wie jedes andere Problem aus NP. Somit können alle
Probleme aus NP auf NP-schwere Probleme reduziert werden:
Definition11: Seien Σ und Σ zwei Sprachen, so ist polynomiell auf
reduzierbar, , falls eine Turingmaschine M existiert die in polynomieller
Laufzeit für jedes Wort Σ ein Wort Σ berechnet, so dass
. M wird dann eine polynomielle Reduktion von auf genannt.
Definition12: Eine Sprache L ist NP-schwer, falls für alle Sprachen gilt
. (Alle Sprachen aus NP sind polynomiell auf L reduzierbar).
Darüber hinaus gibt es diejenigen NP-schweren Probleme, die vollständig in NP liegen.
Diese werden NP-Vollständig genannt:
9 Nach [Hro07, S.225] 10 Nach [ebd., S.225] 11 Nach [ebd., S.238] 12 Nach [ebd.]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
10
Definition13: Eine Sprache L ist NP-vollständig, falls sie die folgenden Bedingungen
erfüllt:
1.
2. L ist NP-schwer.
NP-Vollständige Probleme sind die Essenz der Klasse NP: Sollte zu einem dieser
Probleme gezeigt werden, dass es in P liegt, so würde daraus gelten dass alle anderen
Probleme auch in NP liegen und gilt14. NP-vollständige Probleme sind auf
deterministischen Touringmaschinen nur mit einer superpolynomiellen Zeitkomplexität
lösbar.
Einordnung von MAX-SAT und MAX-2-SAT
Leider sind die Problemklassen MAX-SAT und MAX-2-SAT NP-vollständig [GaJo79]
. Dadurch gibt es für diese Klassen keinen exakten Lösungsalgorithmus der große
Instanzen dieser Probleme praktisch lösen könnte. Glücklicherweise reichen in den
meisten Fällen der Praxis Näherungslösungen vollkommen aus, so dass auf
Approximationsalgorithmen zurückgegriffen werden kann. Diese sind vielfältiger Art
und entstammen aus Konzepten wie semidefinierter Programmierung, basieren der
Lokalen Suche oder sind Evolutionäre Algorithmen [Exe06, Kap. 4.1.2]. Es sollte
jedoch beachtet werden, dass dies in der Regel unvollständige Algorithmen welche nur
einen Teil des Suchraums durchsuchen, im Gegensatz zu vollständigen Algorithmen
welche den Suchraum vollständig durchsuchen, sind. Hierdurch ist es unmöglich einen
Beweis bezüglich der Nichtexistenz eines Optimums zu einem MAX-SAT Problem zu
erbringen (oder die Nichterfüllbarkeit einer SAT-Instanz zu beweisen) [LHS06, S.2].
13 Nach [ebd.] 14 Dies ist gegenwärtig bekanntlich jedoch noch nicht gezeigt worden.
Prinzipien Memetischer Algorithmen für MAX-2-SAT
11
3 Algorithmen
3.1 Evolutionäre Algorithmen
3.1.1 Einführung
Die Inspiration für die Klasse der evolutionären Algorithmen ist die natürliche
Evolution, also der Prozess durch den sich Lebewesen über mehrere Generationen an
die Herausforderungen ihrer Umwelt anpassen [Lip06]. In den Grundzügen beschrieben
wurde dieser Prozess im 19. Jahrhundert von Charles Darwin in seinem Buch „On the
Origin of Species“ [Dar56] , in welchem er das Konzept der „natürlichen Auslese“
(„natural selection“) beschrieb. Die natürliche Auslese kann vereinfachend ausgedrückt
auch als das Prinzip des „Survival of the fittest“, also als das Überleben des Stärkeren,
umschrieben werden [ebd.]. Die Selektion ist einer der wichtigen Mechanismen der
Evolution. Ein weiterer ist Reproduktion: In einer Population paaren sich Individuen,
die Eltern, welche ihre Eigenschaften neu kombiniert an die Kinder weitergegeben. Dies
geschieht über eine Rekombination der Erbinformationen der Eltern, der Gene, und
deren Weitergabe an die Kinder [Lip06, Kap.4.3]. Eine intuitiv verständliche
Konsequenz der natürlichen Auslese ist die Erhöhung der durchschnittlichen
Überlebensfitness der Lebewesen, welche diesem Prozess unterworfen sind. Man
könnte sagen, sie werden gegen die Umstände einer gegebenen Umwelt optimiert
bezüglich ihrer Überlebensfähigkeit. Zusammenfassend kann also gesagt werden, dass
die zwei wesentlichen wirkenden Kräfte in diesem Prozess erstens Variationsoperatoren
wie Rekombination und Mutation sind, welche die nötige Diversität und dadurch
Neuheit erzeugen, und zweitens der Filter der Selektion, welcher den
Lösungskandidaten Beschränkungen auferlgt und dadurch den Prozess steuert [HKS05,
S.6].
Die Applikation dieser Prinzipien zur automatischen Lösung mathematischer Probleme
ist vielversprechend und wird laut [HKS05, Kap. 3] schon seit 1948 verfolgt, seit Alan
Turing zum ersten Mal die „genetische oder evolutionäre Suche“15 vorschlug. Seit den
60er Jahren des 20. Jahrhunderts entstanden vier grundlegende Varianten der
evolutionären Programmierung, nämlich Rechenberg und Schwefels
„Evolutionsstrategien“; Hollands „Genetische Algorithmen“ (GA); Fogel, Owens und 15 Vom Autor aus dem Englischen übersetzt
Prinzipien Memetischer Algorithmen für MAX-2-SAT
12
Walshs „Evolutionäre Programmierung“ (EP) sowie zuletzt Anfang der 90er Kozas
„Genetische Programmierung“ (GP).16 Obwohl die Entwicklung dieser Varianten
unabhängig von einander geschah, so sind doch grundlegende Elemente aufgrund des
gemeinsamen Vorbildes gleich [Lip06, S.363]. Für diese Arbeit reicht das Verständnis
der Genetischen Algorithmen nach Holland [Hol98] , die ich nun näher erläutern
möchte. Ich beziehe mich dabei auf die Erläuterungen in [Lip06, Kap. 4.4 und Kap.
4.5].
3.1.2 Genetische Algorithmen
Wie im vorangegangen Unterkapitel beschrieben, sind Evolutionäre Algorithmen dem
Evolutionsprozess nachempfunden. Sie können in die Komponenten
Lösungsrepräsentation, Population und Populationsmanagement, Evaluation,
Rekombination und Selektion zerlegt werden. Diese Komponenten werde ich nun für
Genetische Algorithmen, mit besonderer Beachtung der Problemstellung MAX-2-SAT,
erläutern.
3.1.2.1 Lösungsrepräsentation
Lösungen werden in genetischen Algorithmen durch Individuen repräsentiert. Ein
Individuum enthält die Lösung in einer geeigneten Codierung, welche Genotyp eines
Individuums genannt wird17. Die aus dem Genotyp erzeugte Lösung wird Phänotyp des
Individuums genannt. Ein Genotyp wird auf einen Phänotyp durch eine Relation
, , abgebildet, wobei P der Raum der Phänotypen, G der Raum der
Genotypen sind und M die abbildende Funktion : darstellt [HKS05, Kap 3.2].
Als Kodierungsformat zur Kodierung der Lösungskandidaten zu Problemen der Klasse
SAT bietet sich eine boolesche Kodierung an, zum Beispiel in Form eines Bitstrings
oder eines Arrays boolescher Werte. Eine Position im Genotyp wird Gen18 genannt und
entspricht jeweils einer Variablen des Problems. Die Werte die ein Gen annehmen kann
werden Allele genannt, in diesem Fall existieren zu jedem Gen die zwei Allele 0 und 1.
Als Abstandsmaß zweier Codewörter (Genome) kann der Hamming-Abstand verwendet
werden. Unter dem Hamming-Abstand versteht man die Anzahl Bits mit
16 Vgl. dazu [ebd. HKS05, Kap. 3] und [Lip06 Kap. 4.1; Kap. 4.2.2]. 17 Synonyme: Chromosom, Lösung, Struktur oder auch Individuum. Vgl. [Lip06, S.365] 18 Synonyme: Locus (pl.: Loci), Position oder auch Variable. Vgl. [HKS05, S.7]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
13
unterschiedlichen Werten zweier Codewörter. Ein Codewort <0010> hat einen
Hamming-Abstand von 2 zu dem Codewort <0001>.
3.1.2.2 Population
Eine Menge von Individuen wird als Population bezeichnet. Individuen in Populationen
können untereinander in familienähnlichen Beziehungen stehen, welche durch ihre
genetische Linie bestimmt ist. Eltern, oder Vorfahren, eines Individuums sind
diejenigen Individuen deren Genom zur Erzeugung eines anderen Individuums durch
Rekombination verwendet wurde. Die erzeugten Individuen werden Kinder, oder
Nachfahren, der Eltern genannt. Der Begriff der Generation bezeichnet den Abstand
zweier Individuen die eine gemeinsame genetische Linie haben voneinander auf diese
Linie. Ein Kind ist eine Generation von seinen Eltern entfernt, das Kind des Kindes ist
zwei Generationen von den Großeltern entfernt. Der Grad der Verschiedenheit der
Individuen einer Population wird Diversität genannt.
3.1.2.3 Populationsmanagement
Die Phasen eines Evolutionären Algorithmus können in Initiierung, Evolutionszyklus
und Erfüllung des Abbruchkriteriums eingeteilt werden. Der Ablauf dieser Phasen ist
im Modell 1 dargestellt.
In der Phase der Initiierung werden die Individuen der Anfangspopulation erstellt. Um
eine gute Diversität der Individuen zu erreichen werden die Gene der Individuen
zumeist durch Zufallsgeneratoren mit Allelen belegt. In den meisten Algorithmen
ziehen die Zufallsgeneratoren die Allele gleichverteilt mit einer Wahrscheinlichkeit
#. Dies entspricht der Bildung einer Untermenge aus dem Suchraum durch
Ziehung einer Stichprobe. In einigen Fällen, wenn zum Beispiel Vorwissen über die
Beschaffenheit ausreichend guter Lösungen vorhanden ist, kann es vorteilhaft sein die
Individuen der Anfangspopulation entsprechend dieser Vorkenntnis zu formen.
In der zweiten Phase, dem Evolutionszyklus, werden die Individuen iterativ den
Selektions- und Rekombinationsoperatoren unterzogen. Dies hat zur Folge, dass neue
Individuen entstehen und alte Individuen aussterben. Es existieren zwei
unterschiedliche Ansätze des Austausches von Individuen einer Population: Im
generationsbasierten Ansatz wird die komplette vorhandene Population durch eine neue
ersetzt, während im Steady-State-Ansatz nur eine Untermenge der Population betrachtet
und dort Individuen ersetzt werden.
Prinzipien Memetischer Algorithmen für MAX-2-SAT
14
Die dritte und letzte Phase beendet den Evolutionszyklus wenn eines der definierten
Abbruchkriterien erfüllt wurde. Abbruchkriterien können zum Beispiel das Erreichen
einer bestimmten Lösungsgüte, einer festgelegten maximalen Anzahl Generationen, der
Ablauf der vorgesehenen Rechenzeit, etc. oder eine Kombination davon sein.
Modell 1 Schema eines Evolutionären Algorithmus
Die Größe einer Population ist ein wichtiger Parameter eines Genetischen Algorithmus,
welcher direkt Einfluss auf die Lösungsgüte und Performanz des Algorithmus hat. Die
jeweilige optimale Populationsgröße ist abhängig von dem gegebenen Problem und der
Beschaffenheit des Algorithmus. Eine übliche Art der Bestimmung des Parameters ist
die Durchführung einer empirischen Studie, welche die Performanz und Lösungsgüte
des Algorithmus bei unterschiedlichen Populationsgrößen untersucht. Die optimale
Populationsgröße wird dann aus den Ergebnissen der Studie inferiert.
Eine weitere Variante ist die parallele Verwendung von mehreren Populationen, die
untereinander über Migration Individuen austauschen können.
3.1.2.4 Evaluation
Die Qualität der Lösung die durch ein bestimmtes Individuum repräsentiert wird, wird
durch eine Evaluationsfunktion, üblicherweise Fitness-Funktion genannt, bestimmt. Die
Prinzipien Memetischer Algorithmen für MAX-2-SAT
15
Fitness-Funktion wird anwendungsabhängig definiert und drückt üblicherweise aus wie
gut ein bestimmtes Individuum sich dem gewünschten Zielwert angepasst. Sie ist auch
die Grundlage zur Definition des Begriffes der Verbesserung („improvement“) und
erlaubt auch die Individuen nach ihrer Fitness zu ordnen. Die Fitness-Funktion ist von
bedeutender Wichtigkeit für die Selektion von Individuen.
Die Bestimmung der Fitness einer Population wird über die Funktion bestimmt:
Formel 1 Fitnessfunktion einer Population
Wobei Eval die Funktion zur Bestimmung der individuellen Fitness, P eine Population
von Individuen aus dem Suchraum S und X ein Individuum der Population ist. Die
Durchschnittliche Fitness kann definiert werden durch:
Φ1#
Formel 2 Durchschnittliche Fitness
Wobei # der Kardinalitätsoperator ist, der die Anzahl der Elemente einer Menge
zurückgibt. Zur Verbesserung der Performanz von der genetischen Operatoren kann es
manchmal förderlich sein, die Fitness eines Individuums in Abhängigkeit von der
Gesamtbevölkerung auszudrücken: Fitness: S P . Zum Beispiel als Proportionale
Fitness oder als Verbesserung zum schlechtesten Individuum
der Population X, P Eval X min P Eval q .
Im Falle von MAX-2-SAT ist eine triviale Fitness-Funktion zum Beispiel die
Quantifizierung der erfüllten Klauseln:
Eval: S
X # c|sat X, c c
Formel 3 Fitnessfunktion von MAX-2-SAT
Wobei S der Suchraum ist, X ein Individuum aus dem Suchraum und sat(X,c) die
triviale Funktion, welche den Wert 1 annimmt, wenn die Klausel c des Problems F
erfüllt ist und 0 wenn nicht.
Prinzipien Memetischer Algorithmen für MAX-2-SAT
16
3.1.2.5 Genetische Operationen
Genetische Operationen, auch Variationsoperatoren genannt, erstellen neue Individuen
auf der Grundlage von vorhandenen Individuen, indem sie diese auf der Genotypebene
manipulieren. Dies sorgt dann dafür, dass auf der Phänotypebene neue
Lösungskandidaten entstehen.
Genetische Operationen können in zwei Klassen eingeteilt werden: Zum einen in die
Klasse der Rekombinations- oder Crossoveroperatoren und zum anderen in die Klasse
der Mutationsoperatoren.
Rekombination
Rekombinationsoperatoren, auch Crossoveroperatoren (CO) genannt, simulieren die
geschlechtliche Fortpflanzung von zwei (oder mehr) Elternindividuen durch
Rekombination der Erbinformationen der Eltern und der Formung eines (oder mehrerer)
Kinder daraus. Üblich sind Crossoveroperatoren die aus zwei Eltern ein oder zwei
Kinder erzeugen. Die Anzahl der Eltern, die ein Crossoveroperator als
Eingangsparameter verlangt, wird Arität genannt. Die Verwendung von mehr als zwei
Eltern zur Rekombination hat zwar kein biologisches Äquivalent, [HKS05] weist aber
darauf hin, dass es Studien gibt, welche auf die positiven Effekte höherer Arität auf die
Evolution hinweisen19.
Es existieren viele Varianten möglicher Crossoveroperatoren. Dies ist dadurch zu
erklären, dass Crossoveroperatoren die Grundlage dafür bilden, den Suchraum effizient
zu durchschreiten in dem sie Teile guter Partiallösungen miteinander kombinieren um
bessere Individuen zu erzeugen. Die Anpassung der Operatoren an problemspezifisches
prozedurales Vorwissen soll diese bezüglich ihrer Problemlösungseffizienz optimieren.
Crossoveroperatoren sind stochastische Operatoren, da die Auswahl der Genomteile der
Eltern und die Art der Kombination oft von zufälligen Ereignissen abhängen.
Die am häufigsten Auftretenden Varianten sind
• 1-Punkt-CO
• N-Punkt-CO
• Uniform-CO
• Shuffle-CO
19 Z.B. Eiben, A.: Multiparent Recombination in Bäck, Fogel, Michalewicz: Evolutionary Computation 1, Institute of Physics Publishing, Bristol, 2000. Seiten 289-307.
Prinzipien Memetischer Algorithmen für MAX-2-SAT
17
• Intermediärer CO
• Linearer CO
• Tausch CO
Eine ausführliche Erläuterungen dieser Operatoren ist in dieser Arbeit nicht möglich,
deswegen sei hier an [Lip06, Kap. 4.5.3] verwiesen. Für das Verständnis dieser Arbeit
reicht eine kurze Erläuterung des 1-Punkt- und des Uniform-Crossovers:
Der binäre20 1-Punkt-Crossover bildet aus zwei Eltern ein neues Kind, indem er die
Genome der Eltern an einer Stelle, der Trennstelle, in einen vorderen und hinteren Teil
aufteilt. Ein neues Individuum wird nun dadurch erzeugt, dass sein Genom aus dem
vorderen Teil von Elter 1 (oder Elter 2) und dem hinteren Teil von Elter 2 (oder Elter 1)
gebildet wird. Eine Modifikation des 1-Punkt-Crossover kann leicht zwei Kinder aus
zwei Eltern herstellen, indem das Genom des ersten Kindes aus dem vorderen Teil des
Genoms von Elter 1 und dem hinteren Teil des Genoms von Elter 2 gebildet wird und
das Genom des zweiten Kindes aus dem vorderen Teil des Genoms von Elter 2 und dem
hinteren Teil von Elter 1 gebildet wird. Die Trennstelle wird üblicherweise durch einen
Zufallsgenerator bestimmt.
Abbildung 1 1-Punkt-Crossover mit Trennstelle t = 6
Eine weitere Variante, die in den später diskutierten Algorithmen genutzt wird ist der
binäre Uniform-Crossover, welcher aus zwei Eltern ein neues Kind bildet. Hierzu wird
ein Bitmuster der Länge n gleichverteilt erzeugt, wobei n der Anzahl der Variablen der
Individuen entspricht. Das Kind bekommt dann an der jeweiligen Variablenstelle den
Wert des Elter 1 zugewiesen, wenn das Muster an der Stelle den Wert 0 hat und sonst
den Wert des Elter 2. Siehe hierzu auch Abbildung 2.
20 In Bezug auf die Anzahl der Eltern
Prinzipien Memetischer Algorithmen für MAX-2-SAT
18
Abbildung 2 Uniform Crossover
Mutation
Die Mutation ist ein unärer21 Variationsoperator. Auf der Grundlage eines gegebenen
Individuums wird durch Veränderung des Genoms ein neues Kind erzeugt.
Charakteristisch ist, dass diese Änderungen meist zufallsbedingt sind, so dass die
Beschaffenheit des Ergebnisses (das Kind) von dem Eintreten zufälliger Ereignisse
abhängt. In diesem Zusammenhang weist [HKS05, Seite 9] auch darauf hin, dass unter
Umständen auch eine bestimmte Heuristik (wie z.B. die lokale Suche) als
Mutationsoperator bezeichnet werden kann, weil sie aus einem Individuum ein Kind
erzeugt, jedoch hebt er hervor, dass im Allgemeinen unter Mutation eine zufällige und
vorurteilsfreie Veränderung des Individuums verstanden wird. Deswegen sei ein
problemspezifischer heuristischer unärer Operator von einer Mutation zu unterscheiden.
Im Falle von MAX-2-SAT kann ein trivialer Mutationsoperator zum Beispiel der
zufällige Flip22 einer Variablen sein. Ein simpler Mutationsoperator für MAX-2-SAT ist
in Modell 2 dargestellt. Zu Beachten ist, dass das Individuum direkt durch sein Kind
ersetzt wird.
21 Er hat somit die Arität 1 22 Ein Flip ist die Veränderung des Wertes einer Variablen, definiert durch
0,1 0,1 ; 1
Prinzipien Memetischer Algorithmen für MAX-2-SAT
19
Modell 2 Simpler Mutationsoperator für MAX-2-SAT
3.1.2.6 Selektion
Der Begriff der Selektion umfasst die Auswahlentscheidungen bezüglich der Individuen
einer Population, welche der Algorithmus im Verlauf des Evolutionszyklus treffen
muss. Hierbei unterscheidet man zwischen zwei grundsätzlichen Arten, der Mating
Selection23 und der Survivor Selection24.
Mating Selection
Die Mating Selection wählt aus einer gegebenen Population Eltern für den
Crossoveroperator aus. Typischerweise ist die Mating Selection stochastisch, aber
bevorzugt Individuen mit höherer Fitness. Die Mating Selection hat die Aufgabe,
Individuen zur Rekombination zu finden, die wahrscheinlich zu einem besseren
Kindindividuum führen. Aus diesem Ziel wird die Fitness-Bevorzugung abgeleitet.
Zudem muss aber vermieden werden, in lokalen Optima hängen zu bleiben. Deswegen
werden auch mitunter schlechteren Individuen die Möglichkeit eingeräumt, seine Gene
23 Synonyme: Parent Selection, Paarungsselektion 24 Synonym: Environmental Selection
Prinzipien Memetischer Algorithmen für MAX-2-SAT
20
weiterzugeben. Somit muss ein Trade-Off eingegangen werden zwischen der
Erforschung des Suchraumes nach vielversprechenden Suchgebieten (Exploration) und
der Verbesserung des bereits gefunden Materials (Exploitation).
Die Anpassung der Selektion an problemspezifisches Vorwissen sorgt auch hier für eine
Steigerung der Effizienz. Insofern existieren auch hier wieder einer Anzahl
verschiedener Varianten, von denen ich nun zwei Vorstellen werden, die für das
Verständnis der Arbeit wichtig sind: Zunächst das Stochastic-Universal-Sampling
(SUS), welches von MATHiC verwendet wird, und die Uniform Selection, welche von
GASAT verwendet wird.
Stochastic Universal Sampling SUS
Das SUS ist der am häufigsten eingesetzte Selektionsmechanismus, er wird auch
fitnessproportionale Selektion genannt. Ein Individuum wird hier mit einer
Wahrscheinlichkeit selektiert, welche proportional zu seiner Fitness ist. Somit werden
Individuen mit höherer Fitness vor denen mit niedriger Fitness bevorzugt. Dennoch
haben Individuen mit geringer Fitness immer noch eine gewisse Chance zur
Rekombination ausgewählt zu werden. Ausgangspunkt für das SUS ist die Roulette-
Selektion, welche in [Lip06, S.384] anhand des Roulette-Spiel veranschaulicht wird:
Das Rad des Roulette-Spiels ist eingeteilt in Sektoren. Jeder Sektor ist einem
Individuum zugeordnet und seine Größe ist proportional zur Fitness des Individuums.
Dann wird eine Zufallszahl ermittelt, analog zur umlaufenden Kugel des Roulette-
Spiels, welche in einem bestimmten Sektor zum Stillstand kommt. Das zu diesem
Sektor gehörende Individuum wird dann selektiert. Dieser Vorgang wird µ mal
wiederholt um µ Eltern zu selektieren. Die Roulette Selektion ist in Abbildung 3
dargestellt.
Eine Gefahr bei der Roulette Selektion besteht darin, dass der Anteil eines
Individuums im Matingpool von der erwarteten relativen Häufigkeit welche durch
die relative Fitness bestimmt wurde, abweichen kann. Zum Beispiel kann ein
Individuum µ‐Mal im Matingpool auftreten. Diese Abweichung wird als Spread bezeichnet. Das SUS ist eine spreadreduzierende Variante der Roulette Selektion.
Anstatt von µ Selektionsvorgängen wird nun nur ein Selektionsvorgang, aber diesmal mit µ Zeigern durchgeführt. Hierdurch werden dann µ Individuen in den Matingpool übernommen und davon jedes Individuum sooft, wie Zeiger auf seinen
Sektor zeigen.
Prinzipien Memetischer Algorithmen für MAX-2-SAT
21
C
A
Abbildung 3 Roulette Selektion
Uniforme Selektion
Die Uniforme Selektion wählt aufgrund der durch die Fitnessfunktion induzierten
Ordnung auf der Population eine Untermenge P‘ mit der Kardinalität # der
besten Individuen aus, wobei # und 0,1 . Ein Individuum wird dann zufällig
gleichverteilt selektiert und zur Rekombination herangezogen. Zu beachten ist, dass alle
1 schlechtesten Individuen nicht mehr zur Selektion herangezogen werden.
Der Selektionsdruck ist bei kleinem u also sehr hoch, bei großen u sehr niedrig. In der
Subpopulation werden schlechte Individuen mit der gleichen Wahrscheinlichkeit wie
Gute zur Rekombination selektiert.
Survivor Selection
Die Survivor Seletion wählt, geleitet von der Fitnessfunktion, diejenigen Individuen
aus, die in die nächste Nachfolgepopulation übernommen werden soll. Sie wird nach
der Erstellung der Kinder aufgerufen. Da in den meisten Evolutionären Algorithmen die
Größe der Population konstant bleibt, wird zumeist eine Ersetzung vorgenommen,
deswegen wird die Survivor Selection auch Ersetzung oder Ersetzungsstrategie genannt.
Übliche Auswahlkriterien sind hier die Fitness eines Individuums oder auch das Alter.
Im Gegensatz zur Mating Selection ist die Survivor Selection in der Regel
deterministisch.
Prinzipien Memetischer Algorithmen für MAX-2-SAT
22
3.2 Lokale Suche
Unter Lokaler Suche wird eine metaheuristische Suchmethode verstanden, welche eine
Punktmenge in der Nachbarschaft der aktuellen Lösung nach Verbesserungen
durchsucht. Wird eine Verbesserung gefunden, so ersetzt diese die aktuelle Lösung. Ein
Schema der Lokalen Suche ist in Modell 3 dargestellt.
Start
Gegeben: Lösung i,
Nachbarschaftsfunktion nTiefe t
Fitnessfunktion F
Beste Lösung(BL)Setze BL = i
Anzahl durchgeführte
Iterationen (ADI) = 0; Wiedeholen bis
ADI > t
Äußere Schleife
Durchlauf d = 0;Solange
Pivotregel nicht erfüllt
Wähle Nachbar j aus n(i) der noch
nicht besucht wurde
F(j) besser als F(BL) ? Setze BL = jJa
d = d + 1
Nein
ADI = ADI + 1
Aktuelle Lösung i
Setze i = BL
Innere Schleife
Ausgabe BL
Ende
Modell 3 Schema der Lokalen Suche25
Die Nachbarschaft einer Lösung wird durch die Nachbarschaftsfunktion definiert.
Diese liefert eine Punktemenge, welche alle Punkte des Suchraums enthält die durch die
Anwendung eines Bewegungsoperators („Move-Operator“) vom Punkt i erreichbar
25 Nach [HKS05, S.11 Fig.2]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
23
sind26. Sie kann als Abstandsfunktion angesehen werden, welche alle Punkte
zurückgibt, die nicht weiter als k Schritte von der aktuellen Lösung entfernt sind. k sei
hier ein Parameter, der den maximal erlaubten Abstand von der aktuellen Lösung
angibt. Die Nachbarschaftsfunktion kann als Graph , dargestellt werden,
wobei die Knotenmenge v alle Lösungen im Suchraum enthält und die Kantenmenge e
die Anwendung des Bewegungsoperators repräsentiert, so dass gilt:
[HKS05, S.11]. Unter Zuhilfenahme einer Bewertungsfunktion können skalare
Fitnesswerten den Punkten des Suchraumes zugeordnet werden. Dann können die
Graphen als Fitnesslandschaften betrachtet werden [ebd.].
Die Pivot-Regel definiert die Entscheidungsregel, nach der eine Lösung als
Verbesserung der aktuellen Lösung angesehen wird und dann deren Platz als aktuelle
Lösung einnimmt. Es gibt zwei typische Varianten der Pivot-Regel: Die steilster-
Anstieg-Pivot-Regel durchsucht die komplette Nachbarschaft nach der besten Lösung,
dass heißt sie terminiert erst, nachdem die Anzahl der Durchläufe der Schleife
# . Die alternative Variante wird Erster-Anstieg- oder Gieriger-Ansteig-Pivot Regel
genannt, sie terminiert nachdem die erste Verbesserung in der Nachbarschaft gefunden
wurde, also # . Sollte die Nachbarschaft zu groß sein um sie effizient
zu durchsuchen, so kann auch eine kleinere, zufällig gezogene Stichprobe der
Nachbarschaft durchsucht werden um die Performanz des Algorithmus zu erhöhen.
Die Suchtiefe t definiert die Anzahl der iterativen Verbesserungsversuche der
gefundenen Lösung. Sie kann als Entfernung angesehen werden, welche der
Algorithmus von der Ausgangslösung auf dem Weg zum lokalen Optimum zurücklegen
darf. Hierbei wird die innere Schleife noch einmal gestartet, diesmal jedoch ausgehend
von der im vorherigen Suchlauf gefundenen besseren Lösung. Eine Lokale Suche,
welche versucht die gefundenen Lösungen iterativ zu verbessern wird Iterative Lokale
Suche genannt. Es sei anzumerken, dass es mitunter sinnvoll sein kann bei SAT-
Problemen auch Lösungen anzunehmen, die weder eine Verbesserung noch eine
Verschlechterung mit sich bringen27, da SAT-Probleme häufig ausgedehnte Plateaus
aufweisen können [Exe08, S.19].
Des Weiteren sei anzumerken, dass problemspezifisches Wissen in die Gestaltung der
Nachbarschaftsstruktur mit einfließen kann, zwecks Verbesserung der Effizienz des 26 Im SAT-Kontext entspricht eine Bewegung dem Flip einer Variable 27 Bei SAT-Problemen zum Beispiel die Annahme einer Lösung, welche die gleiche Anzahl Klauseln erfüllt wie die gegenwärtig aktuelle Lösung.
Prinzipien Memetischer Algorithmen für MAX-2-SAT
24
Algorithmus und der Qualität der Lösung. In HKS05 wird bemerkt, dass die Wahl des
optimalen Bewegungsoperators nicht nur abhängig von der Problemklasse sein kann,
sondern auch von dem Zustand der Evolutionären Suche.
Zwei oft verwendete lokale Suchheuristiken sind die „Simulierte Abkühlung“
(Simulated Annealing) und die Tabusuche. Diese beiden Heuristiken zeichnen sich
durch ihre Fähigkeit aus, sich aus der Gefangenschaft lokaler Optima befreien zu
können.
Die Simulierte Abkühlung ist inspiriert vom physikalischen Abkühlungsprozess, in dem
Moleküle zwischenzeitlich auch Anordnungen annehmen können, die nicht
energieoptimal sind, bis sie mit abnehmender Temperatur weniger fluktuieren und sich
immer mehr einer nahe-energieoptimalen Anordnung nähern. Übertragen auf die
Mathematik entspricht dieses einem Prinzip, welches erlaubt zwischenzeitlich auch
schlechtere Lösungen anzunehmen um aus lokalen Optima zu entfliehen. Analog zur
Temperatur gibt es hier einen Parameter, welcher mit der Zeit abnimmt. Dieser
Parameter kann z.B. als Anzahl der Schritte interpretiert werden, welche die nächste
Lösung von der aktuellen entfernt sein darf [Exe08, S.20] oder als Wahrscheinlichkeit,
mit der eine schlechtere Lösung als neue Lösung akzeptiert wird [HKS05]. Eine
detaillierte Beschreibung der Simulierten Abkühlung kann zum Beispiel in [KaMü05]
gefunden werden.
Die Tabusuche schränkt systematisch den Lösungsraum ein um lokale Optima zu
vermeiden, indem sie schon besuchte Lösungen für „tabu“ erklärt und diese dann bei
folgenden Suchvorgängen im Normalfall nicht mehr in Erwägung zieht. Üblicherweise
werden diese Lösungen für eine spezifische Anzahl λ Suchvorgänge für tabu erklärt und
werden danach wieder normal behandelt. In gewissen Fällen können auch tabuisierte
Lösungen als neue Lösung akzeptiert werden. Nämlich genau dann, wenn die Lösung
zu einer größere Verbesserung führen würde als jede andere Lösung die nicht tabu ist.
Dieses Prinzip wird Aspiration genannt [LSH06, Kap. 5.1]. Die Anwendung dieses
Prinzips ist insbesondere dann sinnvoll, wenn die Liste der Restriktionen nicht die
Lösungen enthält, sondern Bewegungen des Bewegungsoperators. Da dies bei MAX-
SAT Problemen meistens flips einer Variablen sind, werden dadurch mehr Lösungen
blockiert als eigentlich nötig. Durch das Prinzip der Aspiration werden daraus
entstehende Nachteile kompensiert [ebd.].
Prinzipien Memetischer Algorithmen für MAX-2-SAT
25
3.3 Hybride Evolutionäre Algorithmen
3.3.1 Motivation
Die sinnvolle Hybridisierung von Evolutionären Algorithmen, also die Komposition
Evolutionärer Algorithmen mit anderen Suchkonzepten, soll die Nachteile der einzelnen
Konzepte kompensieren während die Vorteile dieser möglichst erhalten bleiben.
Evolutionäre Algorithmen sind zum Beispiel sehr erfolgreich darin, „gute“ Bereiche im
Suchraum zu identifizieren (Exploration), während sie sich aber schwer damit tun,
nahe-optimale Lösungen zu finden (Exploitation). Dieser Nachteil kann durch sinnvolle
Komposition mit einer heuristischen Methode, welche gut darin ist lokale Optima in
einer gegebenen Untermenge des Suchraumes zu finden, kompensiert werden. Generell
besteht ein großes Optimierungspotential bezüglich der Effizienz eines Algorithmus
durch den Einfluss von problemspezifischem Wissen in die Gestaltung des
Algorithmus. Diese Erkenntnis basiert auf der Feststellung, dass es leider keine
erfolgreiche und effiziente Problemlöser gibt, welche universell einsetzbar sind: Ein
wachsender Berg empirische Beweise findet theoretische Erklärung im No-Free-Lunch
Theorem (NFL)28.
Satz: , | , | 29
Formel 4 No-Free-Lunch Theorem
Dieses kann so verstanden werden, dass jeder Effizienzvorteil, den ein Algorithmus in
der Lösung der Probleme einer Problemklasse hat, durch Effizienznachteile in der
Lösung der Probleme einer anderen Problemklasse ausgeglichen wird30. Somit haben
alle stochastischen Algorithmen die gleiche durchschnittliche Performanz bezüglich der
Lösung aller Problemklassen31. Der oben notierte Satz nach [Exe08, Kap. 2.7] drückt
dieses aus: Die Erwartungswerte eines Leistungsmaßes eines Algorithmus bezüglich
der Lösung einer Probleminstanz aus der Menge aller Probleminstanzen über
Auswertungen sind für zwei Algorithmen , , wobei die Menge aller
möglichen Optimierungsalgorithmen auf dem Suchraum S ist, gleich. Besteht also kein
Wissen über das Problem, so ist im Mittel kein Algorithmus einem Anderen überlegen.
Dies kann auch als Plädoyer für den Einfluss von problemspezifischem Wissen in die 28 [WoMa96] 29 Nach [Exe08, Kap. 2.7] 30 Vgl. [WoMa96] 31 Vgl. [Exe08, Kap 2.7], [HKS05, S. 13, Fußnote 5]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
26
Gestaltung von Algorithmen angesehen werden: Soll eine bestimmte Klasse von
Problemen gelöst werden, so sollte Wissen über diese in die Gestaltung des
Algorithmus zur Verbesserung seiner Effizienz einfließen. Dies kann zu Beispiel durch
die Nutzung spezialisierter Operatoren (Genetische Operatoren sowie lokale
Suchoperatoren) und/oder schon bekannter guter Lösungskandidaten in der
Initialisierungsphase sein. Auch können komplexe Probleme in Teilprobleme zerlegt
werden, zu denen es schon einige exakte Methoden und gute Heuristiken gibt. Dies
bedeutet, dass Evolutionäre Algorithmen als Prä- oder Postprozessoren für diese
exakten Algorithmen genutzt werden können oder, wie hier zumeist,
problemspezifisches Wissen in die Gestaltung des lokalen Suchoperators einfließt.
Darüber hinaus sollte auch noch erwähnt werden, dass Evolutionäre Algorithmen
gerade durch die stochastische Komponente die Tendenz dazu haben, bei strukturierten
Problemen32 Lösungen mit Strukturdefekten zu generieren. Diese sind oft minimal und
können durch heuristische Methoden repariert werden, sie haben eine „heilende
Wirkung“. Siehe hierzu auch [HKS05, Kap. 5.1].
3.4 Memetische Algorithmen
Die Metapher hinter dem Konzept der memetischen Algorithmen basiert auf dem
Konzept der „Meme“, welches Richard Dawkins in „The Selfish Gene“ beschrieben hat
[Daw06] . Dawkins konzipierte das „Mem“ als den zweiten Replikator33 der
Evolutionsprozessen unterlegen ist. Der erste Replikator ist natürlich das Gen. Während
das Gen die biologische Charakteristik eines Individuums konstituiert, so ist das Mem
das kulturelle Gegenstück: Meme konstituieren Gedanken, Ideen, kulturelle Praktiken –
generell alle kulturellen, nicht-physischen Artefakte, welche von Individuen einer
Population untereinander weitergegeben werden können. Meme unterliegen auch
Replikations-, Variations- und Selektionsmechanismen analog der Gene, ihre
Verbreitung ist zum Beispiel stark abhängig von ihrem empfundenen Nutzen und
erfährt dadurch eine Selektion.
Die Fitness eines Individuums in seiner Lebensphase ist nun nicht mehr nur durch seine
genetischen Anlagen bestimmt, sondern kann variieren indem das Individuum im
32 Strukturierte Probleme sind Realweltprobleme wie MAX-CUT oder Break-Minimization, unstrukturierte sind Random-Instanzen. 33 Ein Replikator ist eine Instanz, welche die Fähigkeit besitzt Kopien von sich selbst anzulegen. Vgl. [Daw06, Kap. 2]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
27
Verlauf seiner Lebensphase neue Charakteristiken erwirbt (z.B. neue Fähigkeiten
erlernt). Der Phänotyp eines Individuums ist somit nicht mehr nur vom Genotyp
abhängig, Individuen mit gleichem Genotyp können verschiedene phänotypische
Ausprägungen aufweisen und Individuen mit unterschiedlichen Genotypen einen
identischen Phänotyp. Dieses Phänomen wird phänotypische Plastizität genannt.
Die üblichste Art der Hybridisierung von Evolutionären Algorithmen, und diejenige, die
am besten zum Dawkins Konzept der Meme passt [HKS05, S. 14], ist die der
Einführung einer oder mehrerer Phasen der Verbesserung der Individuen einer
Population innerhalb jeder Generation, durch lokale Suche in der einfachsten Version:
Abbildung 4 Memetischer Algorithmus mit mehreren Phasen der Verbesserung34
Die Abbildung 4 zeigt das Modell eines memetischen Algorithmus mit verschiedenen
Phasen der Verbesserung durch lokale Suche (blau markiert). Die lokale Suche kann
eingesetzt werden um die Individuen in der Anfangspopulation und durch Crossover-
und Mutationsoperatoren entstandene Nachfolger zu verbessern. An dieser Stelle
entsteht nun die Frage, ob die neu entstandenen Individuen mit den besseren Lösungen
34 Nach [HKS05, S.15, Fig.3]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
28
in die Population aufgenommen werden sollen, oder ob die alten Individuen mit dem
Fitnesswert der besseren Lösung beibehalten werden sollen. In der Biologie entspricht
dies der Fragestellung ob in der Lebensphase erworbene Eigenschaften genetisch
vererbt werden können oder nicht. Die dazu gehörenden Positionen sind die von
Lamarck35 und Baldwin36. Lamarck glaubte, dass die genetische Vererbung erworbener
Charakcteristika möglich ist. Unter dem Baldwin-Effekt wird die genetische
Assimilation verstanden, der allmähliche Übergang von erlernten Charakteristika in den
Genotyp einer Population durch den Vorzug von Individuen im Selektionsprozess,
welche diese leichter erlenen können oder sogar genetisch zu dieser Verhaltensweise
prädisponiert sind. Obwohl die moderne Genetik das letztgenannte Konzept unterstützt
wird das Konzept von Lamarck in memetischen Algorithmen zumeist angewendet. Ein
Memetischer Algorithmus folgt der Lamarackschen Vorgehensweis, wenn das Resultat
der Lokalen Suche das Ausgangsindividuum ersetzt, und der Baldwinschen wenn das
Ausgangsindividuum in der Population erhalten bleibt, jedoch aber den Fitnesswert des
Resultats der lokalen Suche zugewiesen bekommt [HKS05, S.15].
35 Jean-Baptiste Pierre Antoine de Monet, Chevalier de Lamarck (1744-1829), frz. Botaniker und Zoologe 36 James M. Baldwin (1861-1934), amerik. Philosoph und Psychologe
Prinzipien Memetischer Algorithmen für MAX-2-SAT
29
4 Umsetzung
In diesem Kapitel soll die Umsetzung der im vorangegangenen beschriebenen
Prinzipien in zwei Algorithmen, MATHiC und GASAT, betrachtet werden. MATHiC
wurde von André Exeler von der Westfälischen-Wilhelms-Universität Münster
konzipiert und ist in [Exe08] beschrieben. GASAT ist die Schöpfung von Frédéric
Lardeux, Frédéric Saubion und Jin-Kao Hao von der Université Angers (Frankreich)
und ist in [LSH06] dokumentiert. Die Umsetzung wird jeweils in den einzelnen
Teilkomponenten Individuen und Population, Fitness, Populationsmanagement
(Mating- und Survivorselection), Rekombination und lokale Suche abgeschlossen
voneinander betrachtet, in dem die Umsetzung der Teilkomponenten in den beiden
Algorithmen gegenübergestellt wird. Danach werden Performanz-bestimmende
Designentscheidungen aufgezeigt.
4.1 Individuen und Population
Beide Algorithmen definieren ein Individuum als aus einer Lösung und einer
memetischen Komponente bestehend.
MATHiC definiert ein Individuum als , | 0,1 wobei n
die Anzahl der Variablen der Probleminstanz, L eine Lösung im Suchraum 0,1
und H eine Permutation der Indices der Variablen ist. ist die symmetrische Gruppe
der Indices. H repräsentiert hier die Fliphistorie, d.h. sobald der Wert einer Variable
durch einen Operator verändert wird, wird diese Änderung vermerkt in dem der Rang
der Variable in der Fliphistorie geändert wird. Die zuletzt veränderte Variable hat den
Rang 0, die am Längsten nicht mehr veränderte den höchsten Rang. Die Fliphistorie
wird durch eine doppelt-verkettete Liste realisiert, deren Elemente nach ihrem Rang
geordnet werden.
GASAT hingegen definiert ein Individuum als , | 0,1
1, … , , wobei H ähnlich wie in MATHiC als Fliphistorie
verwendet wird. Da diese in GASAT nur innerhalb der lokalen Suche genutzt wird,
reicht eine Reduzierung der Länge auf die Länge der Tabuliste. D.h. nur die zuletzt
veränderten Variablen werden gespeichert.
Prinzipien Memetischer Algorithmen für MAX-2-SAT
30
Die Lösung L wird in beiden Algorithmen durch eine Serie von Bits der Länge n
kodiert, in MATHiC als Array von booleschen Werten, in GASAT als Binärstring.
4.2 Bewertung der Fitness
Die Bewertung der Fitness in MATHiC wird ausgehend von der trivialen
Fitnessfunktion, welche zu einer Lösung aus dem Suchraum S die Anzahl der erfüllten
Klauseln zurückgibt zu einer standardisierten Fitnessfunktion, welche ein Individuum
im Kontext der anderen Individuen der Population bewertet, erweitert. Die triviale
Fitnessfunktion ist in Formel 5 notiert, wobei c eine Klausel eines Problems aus und
, die Funktion die Wahr zurückgibt wenn die Klausel durch erfüllt ist und
Falsch wenn nicht. # ist der Kardinalitätsoperator [Exe08, Kap.4.3.1].
:
# | ,
Formel 5 Fitnessfunktion von MATHiC37
Die standardisierte Fitness kann nun berechnet werden, indem von dem Fitnesswert des
Individuums der Fitnesswert des schlechtesten Individuums der Population abgezogen
wird. Dies ist nötig, da in der Regel die Anzahl der erfüllten Klauseln in den Individuen
sehr hoch ist. Der Abzug des Minimalwertes erlaubt eine bessere Unterscheidung der
Individuen. Die Standardisierte Fitnessfunktion ist in Formel 6 notiert [ebd.].
:
,
Formel 6 Standardisierte Fitness (MATHiC)38
Wird die Problemstellung in MATHiC als Maximierungsproblem interpretiert, so sieht
GASAT diese als Minimierungsproblem. Während in MATHiC das Individuum mit
dem höchsten Wert der Fitnessfunktion das fitteste ist, so ist es in GASAT das
Individuum mit dem niedrigsten Wert, da GASAT die Anzahl der nichterfüllten
Klauseln zählt. Der kleinstmögliche Wert ist somit 0. Die Fitnessfunktion von GASAT
ist in Formel 7 notiert [LSH06, Kap. 2.2]:
37 Im Sinne von [Exe08, Kap.4.3.1] 38 Im Sinne von [ebd.]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
31
:
# | ,
Formel 7 Fitnessfunktion von GASAT39
GASAT führt darüber hinaus noch die Verbesserungsfunktion ein. Diese quantifiziert
die Verbesserung eines Individuums bezüglich der Anzahl der erfüllten Klauseln, wenn
der Wert einer Variablen i geflippt wird [ebd.]. Ein Flip ist die Veränderung des Wertes
einer Variablen, definiert durch die Flip-Funktion:
0,1 0,1 1
Formel 8 Flipfunktion40
Somit kann die Verbesserungsfunktion folgendermaßen definiert werden, mit der
Lösung X, der Variablen i (Position in X) und , als das flippen der i-ten
Variable von X:
:
,
Formel 9 Verbesserungsfunktion (GASAT)41
Die Verbesserungsfunktion wird in GASAT zur Entscheidungsfindung genutzt, welche
den Verbesserungsprozess in der lokalen Suche und im Crossoveroperator von GASAT
leitet.
4.3 Populationsmanagement
MATHiC wählt einen generationsbasierten Ansatz des Populationsmanagements. Dazu
werden #M Individuen für den Matingpool über die spreadminimale Selektionstechnik
Stochastic-Universal-Sampling (SUS) gewählt, wobei mit #M = #P genauso viele
Individuen in den Mating-Pool kommen wie es Individuen in der Population gibt. Es
können Individuen jedoch mehrmals in den Matingpool aufgenommen werden. Durch
SUS ist das Auftreten eines Individuums im Matingpool proportional zu seiner Fitness
[Exe08, Kap. 4.2].
39 [LSH06, Kap. 2.2] 40 Die Flipfunktion wird in beiden Algorithmen verwendet, die Notation hier folgt [LSH06, Kap 2.2] 41 Nach [LSH06, Kap. 2.2]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
32
Aus dem Matingpool werden dann # mal jeweils zwei Individuen gleichverteilt ohne
Zurücklegen gezogen und einem binären Crossoveroperator als Eingaben übergeben
( : , mit Suchraum S). Dieses Verfahren wird einmal wiederholt, so
dass jedes Individuum zweimal zur Reproduktion herangezogen wurde. Dadurch
entsteht eine Nachfolgerpopulation P‘ mit der Größe # # [Exe06, Kap.4.2].
MATHiC implementiert nun zwei verschiedene Möglichkeiten der Survivor Selection.
Die erste Variante ist „Alle Einfügen“ benannt, wobei dies nicht wirklich zutrifft. Es
werden zwar größtenteils alle Individuen aus der Subpopulation P‘ in die neue
Generation übernommen, abzüglich jedoch der Schlechtesten. Dafür werden die
Besten der Population P (Elite) übernommen [Exe08, Kap.4.3.5].
, , #
Formel 10 Survivor-Selection nach Variante 1 (MATHiC)
Formel 10 repräsentiert diese Variante, wobei , die Menge der besten
Individuen aus P zurückgibt.
Die zweite Variante wird als „Bessere Einfügen“ bezeichnet. Hier wird die neue
Population aus der Population P und der Nachfolgerpopulation P‘ gebildete, indem
sukzessive die besten Individuen aus P‘ die schlechtesten Individuen aus P ersetzen, bis
das nächstbeste Individuum aus P‘ einen geringeren Fitnesswert hat als das schlechteste
Individuum aus P [ebd.].
, , # ä , 1 #
Formel 11 Survivor-Selection Variante 2 (MATHiC)
Wobei P eine Population ist, auf deren Individuen eine Rangfolge durch die
Fitnessfunktion induziert wurde und P[i] das Individuum mit dem i-ten Rang ist.
GASAT hingegen verfolgt den Steady-State Ansatz und erhält die Population
größtenteils. Hier wird nur das Älteste Individuum ausgetauscht. GASAT erstellt einen
Matingpool M der Größe #M der besten Individuen der Population P. Ein typischer
Wert ist zum Beispiel die Größe von #M=15 bei einer Population von #P=100. Die
jeweilig optimalen Werte für eine gegebene Problemstellung - s.h. Klasse von
Problemen - müssen jeweils einzeln ermittelt werden, typischerweise über eine
empirische Studie. Aus diesen Individuen werden dann zwei gleichverteilt gezogen und
dem binären Crossoveroperator als Eingaben übergeben und ein Nachfolgerindividuum
Prinzipien Memetischer Algorithmen für MAX-2-SAT
33
erzeugt. Dies entspricht soweit dem Konzept der Uniformen Selektion ( Kap.
3.1.2.6). Hat das Nachfolgerindividuum eine bessere Fitness als das schlechteste
Individuum der Sub-Population M so wird das Individuum in die Population P
aufgenommen, falls nicht, so wird der Prozess erneut begonnen [LSH06, Kap. 3.1].
Formel 12 Survivor-Selection Bedingung (GASAT)42
: 0,1
X S,M P 1 wenn fitness X fitness best M0 sonst
4.4 Rekombination
MATHiC implementiert vier Varianten eines Tabu-History-Crossover (THC). Hierbei
wird die Fliphistorie eines Individuums in die Entscheidungen der Verbesserung eines
Individuums während des Crossovers einbezogen. Die erste Variante THC1 initialisiert
einen Nachfolger zunächst mit einer undefinierten Variablenbelegung und übergibt eine
Fliphistorie der Eltern an den Nachfolger. Dann werden die Klauseln beider Eltern in
zufälliger Reihenfolge durchschritten, wobei die jeweilige Klausel in beiden Eltern
gleichzeitig betrachtet wird. Ist eine Klausel in beiden Eltern nicht erfüllt, so wird die
Variable mit der größten Verbesserung geflippt und ihr Wert in das
Nachfolgerindividuum geschrieben. Der Flip wird jeweils in der Fliphistorie vermerkt.
Alle hierdurch nicht definierten Klauseln werden gleichverteilt aus beiden Eltern
übernommen (entspricht dem Verhalten eines Uniform Crossovers). Die Variante THC2
baut auf der Variante THC1 auf. Sie berücksichtigt bei der Entscheidung, welche
Variable geflippt werden soll, auch den Rang. Eine Variable wird immer dann geflippt,
wenn sie auch den größten Rang in der Fliphistorie des Nachfolgerindividuums hat,
sonst mit der Wahrscheinlichkeit p und die andere Variable mit der Wahrscheinlichkeit
1-p. Die letzte Variante THC3 unterscheidet sich von der Zweiten durch die Art der
Übertragung der Fliphistorie. Die Fliphistorie des Nachfolgerindividuums wird hier aus
beiden Eltern durch Mittelwertbildung der Ränge der Fliphistorien dieser erzeugt. Die
Mittelwerte werden dann der Größe nach sortiert und, soweit nicht sie nach ganzzahlig
sind, in einen ganzzahligen Wert konvertiert. Variablen mit gleichem Rangwert werden
zufällig sortiert. Die letzte Variante, THC4, ist eine Weiterentwicklung von THC3. Hier
wird in einer von beiden Eltern nicht erfüllten Klausel die Variable mit dem größten
42 Im Sinne von [LSH06, Kap. 3.1]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
34
Rang mit der Wahrscheinlichkeit p geflippt, sonst die andere (mit der
Wahrscheinlichkeit 1-p) [Exe08, Kap. 4.3.2].
GASAT implementiert auch verschiedene Crossoveroperatoren [LSH06, Kap.4]. Diese
verfolgen die Ziele erfüllte Klauseln möglichst zu erhalten, nicht erfüllte zu korrigieren
und die Struktur der Eltern dabei möglichst zu erhalten [ebd., Kap. 4.3]. Im Gegensatz
zu MATHiC verzichtet GASAT auf die Verwendung einer memetischen Komponente
in der Entscheidungsfindung während der Crossoveroperation. Die drei die Ziele
verfolgenden Crossoveroperatoren basieren auf dem in 3.1.2.5 beschriebenen Uniform
Crossover, welcher auch implementiert wurde. Die erste Variante ist der Corrective
Clause Crossover (CC), welcher das Ziel verfolgt, nicht erfüllte Klauseln möglichst zu
verbessern. Ähnlich wie im vorangegangen beschriebenen THC1 wird hier, wenn beide
Eltern eine Klausel nicht erfüllen, diejenige Variable der Klausel geflippt, welche zu der
größten Verbesserung führt [ebd., Kap. 4.1]. Die Verbesserungsfunktion ist in Formel 9
( Kapitel 4.2) notiert. Die nächste Variante, der Corrective Clause and Truth
Maintenance Crossover (CCTM), baut auf dem CC auf und versucht dabei die
Beeinflussung der erfüllten Klauseln durch Flips zu minimieren. Ist eine Klausel für
beide Eltern erfüllt, so könnte man direkt die Variablenwerte aus einem der beiden
Eltern übernehmen. Dies würde jedoch die Struktur des anderen Elter außer acht lassen.
Da nicht Variablenwerte beider Eltern kopiert werden können, da diese unterschiedlich
sein können, wird diejenige Variable, deren Flip die geringsten Auswirkungen hat
(ermittelt durch die Verbesserungsfunktion), so gesetzt, dass die dazugehörende Klausel
im Nachfolger erfüllt wird [ebd., Kap. 4.2]. Die letzte implementierte Variante ist der
Crossover von Fleurent und Ferland (F&F)43, welcher die Variablenwerte desjenigen
Elter übernimmt, welcher die Klausel erfüllt, wenn nur ein Elter die Klausel erfüllt
[ebd., Kap.4.3]. Hierzu wird in [ebd.] bemerkt, dass die Performanz durch die
Reihenfolge der Traversierung der Klauseln beeinflusst werden kann. (In GASAT
werden die Klauseln in der gegebenen Reihenfolge durchlaufen.)
Die Entscheidung, welcher der implementierten Crossoveroperatoren für die Lösung
einer Problemstellung genutzt werden soll, wird oft durch die Ergebnisse empirischer
Studien geleitet. Die in GASAT verwendeten Crossoveroperatoren wurden an einer
zufallsgenerierten 3-SAT-Instanz mit 500 Variablen getestet und zeigen die Performanz 43 Siehe hierzu Fleurent, C.; Ferland, J.A.: „Object-oriented implementation of heuristic search methods for graph coloring, maximum clique, and satisfiability” in Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge aus DIMACS Series in Discrete Mathematics and Theoretical Computer Science Band 26, S. 619-652, 1996.
Prinzipien Memetischer Algorithmen für MAX-2-SAT
35
der einzelnen Crossoveroperatoren in den Dimensionen Fitness und Diversität auf,
jeweils einmal mit und ohne Selektionsprozess. Jeder Operator wurde über jedes
Element über das gleiche Set von 20 Populationen getestet (Populationsgröße 100,
Matingpool 15).
Abbildung 5 Performanz der Crossoveroperatoren (GASAT) auf einer Zufallsgenerierten 3-SAT-Instanz mit 500 Variablen44: 1. Uniform CO, 2. CCTM, 3. CC, 4. F&F
Hierbei ist zu sehen, dass CC und CCTM (mit Selektionsprozess) sehr schnell gute
Fitnessniveaus erreichen und vor allem im Vergleich mit den anderen Operatoren zum
Zeitpunkt des Abbruchs die höchste Lösungsgüte erreicht haben. Desweiteren erhalten
sie die Diversität der Population möglichst lange aufrecht und verhindern so in lästigen
lokalen Optima hängen zu bleiben. Die Crossoveroperatoren wurden auch an weiteren
unstrukturierten aber auch strukturierten Instanzen getestet, wobei die Ergebnisse
ähnlich waren. Für weitere Details sei an [LSH06, Kap. 4.5] verwiesen.
4.5 Mutation
Von den beiden betrachteten Algorithmen implementiert einzig MATHiC eine Form der
Mutation. Sie erfüllt dort den Zweck, die Diversität der Population aufrecht zu erhalten:
Der Mutationsoperator verändert hier alle Individuen, welche eine Hamming-Distanz 44 Bildquelle: [LSH06, S.11]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
36
kleiner als d zum besten Individuum haben, indem die Klauseln zufällig durchlaufen
werden und dann in jeder nichterfüllten Klausel eine Variable mit der
Wahrscheinlichkeit geflippt wird [Exe08, Kap. 4.3.3].
4.6 Lokale Suche
Beide Algorithmen verwenden eine (oder mehrere) Variante(n) der in Kapitel 3.2
beschriebenen Tabusuche.
Die Tabusuche in MATHiC verwendet die Fliphistorie als Steuerung, wobei die
zuletzt geflippten Elemente als „tabu“ behandelt werden, und somit in der Suchphase
zunächst nicht beachtet werden. Die in MATHiC verwendete Tabusuche ist gierig: Sie
wählt aus allen erlaubten – nicht tabuisierten - Variablen diejenige zum Flip aus, welche
zur größtmöglichen Verbesserung führt. Gibt es mehrere Variablen mit gleich hoher
Verbesserung, so wird diejenige Variable geflippt, deren Rang in der Fliphistorie höher
ist. Es gibt jedoch Ausnahmen von dieser Regel: Gibt es eine Variable in der Tabuliste,
deren Flip zu einer größeren Verbesserung führen würde, so wird diese geflippt.
Befindet sich die Suche auf einem Plateau, gibt es also keine Variable deren Flip zu
einer Verbesserung führen würde und eine, deren Flip die Anzahl der erfüllten Klauseln
nicht verändern würde, so wird diese geflippt. Diese Seitwärtsbewegung wird dann
iterativ n mal ausgeführt (Durchschreiten aller Variablen) oder bis alle Klauseln erfüllt
sind. [Exe08, Kap. 4.3.4]
Im GASAT-Algorithmus wurden mehrere Varianten implementiert, namentlich die
Standard-Tabusuche ( Kap. 3.2), die Tabusuche mit verfeinerter Variablenauswahl
für Flips45 (RVCF) und die Tabusuche mit Diversifikation [LSH06, Kap. 5].
RVCF folgt der Idee, dass je mehr Literale einer Klausel wahr sind, desto einfacher ist
es die Variablen in der Klausel zu flippen, ohne die Erfüllung der Klausel zu gefährden.
Dazu wird als entscheidungsrelevante Kennzahlen der Wahrheitsgrad46 und das
Gewicht47 einer Klausel eingeführt:
, # | , 1,
Formel 13 Wahrheitsgrad einer Klausel48
45 Übersetzt nach “Tabusearch with refinement of variable choice to flip” [LSH06, Kap. 5.2] 46 Truthdegree 47 Weight 48 Nach [LSH06, S. 13]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
37
Wobei die Menge der Klauseln des Problems ist, ein Literal und , der Wert
des Literals unter der Lösung X.
,∑ ,| , , ,
# | , , , 1
∑ ,| , , ,
# | , , , 0
Formel 14 Gewicht einer Klausel49
Wobei eine Variable ist ein dazugehöriges Literal. Eine Variable
wird dann geflippt, wenn Sie aus den Variablen, die die größte Verbesserung bringen,
auch das größte Gewicht besitzt (bei mehr als einer Variablen mit der größten
Verbesserung) [ebd., Kap. 5.2].
Die TS mit Diversifikation löst das Problem der „Stumble clauses“. Stumble Clauses,
sind Klauseln, über die der Algorithmus tatsächlich „stolpert“ - Sie sind sehr
widerspenstig. Im Verlauf der Optimierung werden viele Klauseln erfüllt, einige jedoch
bleiben meist für lange Zeit unerfüllt und blockieren so den Algorithmus, das sind die
Stumble clauses. In GASAT werden diese Stumble Clauses für eine maximale Anzahl
von maxFalse Malen ertragen, bis sie durch Flip einer in der Klausel enthaltenen
Variable gezwungen werden erfüllt zu werden. Dieser Flip zwingt andere Klauseln dazu
nicht erfüllt zu werden. Diese werden wieder durch Flip einer Variablen gezwungen
erfüllt zu werden. Dieser Prozess wird Rec mal durchgeführt. Alle geflippten Variablen
werden für k Flips gesperrt, wodurch die Erfüllung dieser Klauseln erhalten bleibt.
Durch diesen Mechanismus wird dem Algorithmus erlaubt, lokalen Optima besser
entgehen zu können [ebd., Kap. 5.3].
4.7 Performanz und Design
Viele Design und Konfigurationsentscheidungen sind abhängig von den
Probleminstanzen die durch den Algorithmus gelöst werden sollen. Zum Beispiel die
Frage, welche Operatoren eingesetzt werden sollen und welche Komponenten
miteinander kombiniert werden sollen (Paarung von RVCF mit CCTM oder CC?).
Auch die Wahl der Parameter wie Populationsgröße, Tabulistenlänge, etc., sind sehr
schwierig zu bestimmen. Aufgrund der stochastischen Komponenten der Algorithmen
49 [LSH06, S.13]
Prinzipien Memetischer Algorithmen für MAX-2-SAT
38
ist eine Laufzeitbestimmung auf theoretischem Wege zwar möglich, aber extrem
unpraktisch (Siehe [Sud06] ). Aus diesem Grunde wird sehr oft auf empirische Tests zur
Bestimmung der besten Werte für Parameter und Komponenten zurückgegriffen
(Vergleiche dazu [Exe08], [LSH06]). Die richtigen Entscheidungen bezüglich der
Parameter und Komponenten sollte auch keinesfalls unterschätzt werden, da sie die
Performanz des Algorithmus stark beeinflussen. In [Sud06] wird zum Beispiel gezeigt,
wie abhängig von der Wahl der Frequenz der lokalen Suche (Verwendung der lokalen
Suche in jeder Generation, in jeder Zweiten, …) der Algorithmus zwischen
polynomieller und superpolynomieller Laufzeitkomplexitäten schwankt. Ein Vergleich
der Performanz der beiden Algorithmen GASAT und MATHiC kann in [Exe08]. In der
begrenzten Ausführung der Tests (Nur eine Testserie mit einer Populationsgröße von
10, jedoch aber über strukturierte wie unstrukturierte Probleme) konnte festgestellt
werden, dass beide bei gewissen Probleminstanzen zwar jeweils bessere Ergebnisse als
der Andere erzielen konnte, aber über die komplette Serie der Tests kein eindeutiger
Sieger gekürt werden konnte50.
50 Ob da das NFL-Theorem zurückgeschlagen hat?
Prinzipien Memetischer Algorithmen für MAX-2-SAT
39
5 Abschließende Betrachtungen
Im Verlauf dieser Arbeit wurden die Theoretischen Grundlagen für Memetische
Algorithmen dargestellt. Es wurde die Notwendigkeit für diese
Approximationsalgorithmen aufgezeigt, da MAX-2-SAT ein NP-vollständiges Problem
ist, ist es nicht praktisch möglich, Instanzen dieser Problemklasse mit exakten
Algorithmen zu lösen. Dann wurden die Komponenten dieses Hybrids dargestellt:
Evolutionäre Algorithmen, welche vielversprechende Bereiche des Suchraums
entdecken und lokale Suchmethoden, welche diese Bereiche dann nach der besten
Lösung darin durchsuchen. Durch das Zusammenspiel beider Algorithmen wird eine
gute Lösungsqualität erreicht und das Steckenbleiben in lokalen Optima und endlose
Plateautraversierungen kann vermieden werden. Sie nähern sich auch schneller dem
globalen Optimum an und bieten dadurch einen Zeitvorteil.
Dennoch sind auch Memetische Algorithmen keine „One-size-fits-all“-Universallösung.
Anpassung an die zu lösende Problemklasse durch Einfluss von problemrelevantem
Wissen verbessert die Effizienz dieser Algorithmen ungemein. Die Parameter und
Komponenten für die Algorithmen sind mit der Hilfe von empirischen Studien zu
bestimmen um eine gute Performanz zu erreichen.
Sie sind aber auf jedem Fall ein vielversprechendes Instrument zur Gewinnung von
Näherungslösungen zu MAX-2-SAT (und anderen MAX-SAT) – Fragestellungen.
Literaturverzeichnis
40
6 Literaturverzeichnis
[Dar56] Darwin, C. 1856. On the Origin of Species by Means of Natural Selection, or
the Preservation of Favoured Races in the Struggle for Life. 1856.
[Daw06] Dawkins, R. 2006. The Selfish Gene. 30th Anniversary Edition. Oxford :
Oxford University Press, 2006. S. 189-201. 0199291144.
[Exe08] Exeler, A. 2008. Konzeption von Memetischen Alorithmen für Anwendungen
des Erfüllbarkeitsproblems. Münster : Institut für Informatik, Westfälische-Wilhelms-
Universität Münster, 2008.
[Fog98] Fogel, D. 1998. Evolutionary Computation: the Fossil Record. Piscataway, NJ,
USA : IEEE Press, 1998.
[GaJo79] Garey, M und Johnson, D. 1979. Computers and Intractability: A guide to
the theory of NP-Completeness. San Francisco : Freeman, 1979.
[HKS05] Hart, W.E., Krasnogor, N. und Smith, J.E. 2005. Memetic Evolutionary
Algorithms. Recent Advances in Memetic Algorithms. Heidelberg : Springer Verlag,
2005.
[Hol98] Holland, J. 1998. Adaption in Natural and Artificial Systems. Cambridge, MA,
USA : MIT Press, 1998.
[Hro07] Hromkovic, J. 2007. Theoretische Informatik: Formale Sprachen,
Berechenbarkeit, Komplexitätstheorie, Algorithmik, Kommunikation und
Kryptographie. Auflage: 3., überarb. und erw. A. . s.l. : Teubner, 2007. S. 206-261.
ISBN 978-3-8351-0043-5.
[KaMü05] Kathöfer, U. und Müller-Funk, U. 2005. Operations Research. Konstanz :
UTB Verlag, 2005.
[LSH06] Lardeux, F., Saubion, F. und Hao, J.K. 2006. GASAT: a genetic local
search algorithm for the satisfiability problem. Evolutionary Computation. 2006, Bd.
14, 2, S. 223-253.
[Lip06] Lippe, W.M. 2006. Softcomputing. Berlin : Springer Verlag, 2006. S. 353-411.
3540209727.
[Sud06] Sudholt, D. 2006. Local Search in Memetic Algorithms: The impact of the
Local Search Frequency. Dortmund : Universität Dortmund, 2006. ISSN 1443-3325.
Literaturverzeichnis
41
[WoMa96] Wolpert, David H. und Macready, William G. 1996. No Free Lunch
Theorems for Optimization. IEEE Transactions on Evolutionary Computation. 1996,
Bd. 1.
Ich versichere hiermit, dass ich meine Seminararbeit Prinzipien Memetischer Algorithmen für MAX-2-SAT selbstständig und ohne fremde Hilfe angefertigt habe, und dass ich alle von anderen Autoren wörtlich übernommenen Stellen wie auch die sich an die Gedankengänge anderer Autoren eng anlegenden Ausführungen meiner Arbeit besonders gekennzeichnet und die Quellen zitiert habe.
Münster, __________ _____________________________
Recommended