42
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 [email protected] Themensteller: Prof. Dr. W.-M. Lippe Betreuer: PD Dr. Borschbach Institut für Informatik Praktische Informatik in der Wirtschaft

Prinzipien Memetischer Algorithmen für MAX-2-SAT

Embed Size (px)

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

Page 1: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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

[email protected]

Themensteller: Prof. Dr. W.-M. Lippe Betreuer: PD Dr. Borschbach Institut für Informatik Praktische Informatik in der Wirtschaft

Page 2: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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 

Page 3: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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 

Page 4: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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 

Page 5: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 6: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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

Page 7: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 8: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.]

Page 9: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.]

Page 10: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 11: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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

Page 12: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 13: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 14: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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

Page 15: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 16: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 17: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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

Page 18: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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

Page 19: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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

Page 20: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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. 

Page 21: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 22: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 23: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 24: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.].

Page 25: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 26: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 27: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 28: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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

Page 29: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 30: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.]

Page 31: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 32: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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

Page 33: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 34: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 35: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 36: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 37: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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]

Page 38: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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?

Page 39: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

 

Page 40: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 41: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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.

Page 42: Prinzipien Memetischer Algorithmen für MAX-2-SAT

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, __________ _____________________________