Wintersemester 200506 Fundamente der Computational Intelligence Vorlesung Prof

  • Slides: 14
Download presentation
Wintersemester 2005/06 Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl

Wintersemester 2005/06 Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen

Kapitel 3: Evolutionäre Algorithmen Inhalt ● Grundlagen Optimierung ● Nachbarschaftssuche ●… Rudolph: FCI (WS

Kapitel 3: Evolutionäre Algorithmen Inhalt ● Grundlagen Optimierung ● Nachbarschaftssuche ●… Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 2

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche gegeben: - Suchraum S - Zielfunktion f: S →

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche gegeben: - Suchraum S - Zielfunktion f: S → R mit Zielsetzung Minimierung - Nachbarschaftsstruktur N(x) für jedes x S → was ist N(x)? wähle X 0 S; setze k = 0 repeat wähle Yk N(Xk) if f(Yk) < f(Xk) then Xk+1 = Yk else Xk+1 = Xk k = k + 1 → wie wählen? until Terminierungbedingung = true Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 3

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Nachbarschaftsstruktur ist abhängig vom Suchraum: - basiert meistens auf

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Nachbarschaftsstruktur ist abhängig vom Suchraum: - basiert meistens auf einer Metrik Definition: Sei M eine Menge. Die Funktion d: M £ M → R≥ 0 heißt Metrik, falls 1. x, y M: d(x, y) ≥ 0, wobei d (x, y) = 0 x = y (Definitheit) 2. x, y M: d(x, y) = d(y, x) (Symmetrie) 3. x, y, z M: d(x, y) + d(y, z) ≥ d(x, z) (Dreiecksungleichung) ■ Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 4

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche ● S = An für A = { a

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche ● S = An für A = { a 1, a 2, …, a. K } Hamming-Abstand ● S = Bn für B = { 0, 1 } Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 5

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche ● Sei S ≠ ; und a, b S:

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche ● Sei S ≠ ; und a, b S: diskrete Metrik man kann jede nichtleere Menge mit einer Metrik ausstatten! (allerdings ist die diskrete Metrik zur Nachbarschaftsspezifikation denkbar ungeeignet; warum? ) Satz: Wenn d(a, b) eine Metrik auf S ist, dann ist auch eine Metrik. Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen d(a, b) 1 + d(a, b) ■ 6

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche bisher: Metriken für abzählbare Mengen – überabzählbar? Definition: Sei

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche bisher: Metriken für abzählbare Mengen – überabzählbar? Definition: Sei M eine Menge. Die Funktion || ¢ ||: M → R≥ 0 heißt Norm, falls 1. x M: || x || = 0 x = 0 (Definitheit) 2. x M: R : || ¢ x || = | | ¢ || x || (Homogenität) 3. x, y M: || x + y || ≤ || x || + || y || (Dreiecksungleichung) ■ Satz: Jede Norm induziert eine Metrik via d(x, y) = || x – y ||. Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen ■ 7

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Hölder-Normen ● S = Rn (p > 0) Rudolph:

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Hölder-Normen ● S = Rn (p > 0) Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen p=1 Betragssummennorm p=2 Euklidische Norm p=1 Maximumnorm 8

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Also: Nachbarschaft Nr(x) = { y S : d(x,

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Also: Nachbarschaft Nr(x) = { y S : d(x, y) ≤ r } (enthält x) punktierte Nachbarschaft Nr(x) = Nr(x) { x } (häufig gemeint) Sei S = Bn. N 1(x) = { y Bn : d(x, y) = 1 } 111 110 N 1(000) = { 001, 010, 100 } 100 Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 010 011 000 001 101 9

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Elementauswahl: ● Greedy method, steepest decent 1. alle Elemente

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Elementauswahl: ● Greedy method, steepest decent 1. alle Elemente aus N(x) bewerten, d. h. Zielfunktionswert berechnen 2. wähle bestes Element aus N(x), bei gleich guten irgendeins davon Probleme: mitunter sehr viele Zielfunktionsberechnungen nötig im Rn ist |N(x)| überabzählbar so nur bei end. Nachbarschaften möglich Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 10

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Elementauswahl: ● First improvement Enumerationsschema für N(x) = {

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Elementauswahl: ● First improvement Enumerationsschema für N(x) = { e 1, e 2, …, e. K } aktuell bester Wert a* ist Parameter 1. Nachbarschaft aufzählen und Zielfunktionswert berechnen 2. Falls f(ei) < a* dann wähle ei Probleme: starke Abhängigkeit vom Enumerationsschema funktioniert nur bei endlichen Nachbarschaften Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 11

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Elementauswahl: ● First improvement with random enumeration Enumerationsschema für

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Elementauswahl: ● First improvement with random enumeration Enumerationsschema für N(x) = { e 1, e 2, …, e. K } ist zufällige Permutation aktuell bester Wert a* ist Parameter 1. Zufällige Permutation erzeugen 2. Nachbarschaft aufzählen und Zielfunktionswert berechnen 3. Falls f(ei) < a* dann wähle ei Probleme: funktioniert nur bei endlichen Nachbarschaften Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 12

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Wie erzeugt man eine zufällige Permutation? = „Gleichverteiltes Ziehen

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Wie erzeugt man eine zufällige Permutation? = „Gleichverteiltes Ziehen ohne Zurücklegen“ (Urnenmodell) W‘keit für eine spezielle Permutation = Realisierung: (lineare Laufzeit) for i = 1 to K: A[i] = i for i = 1 to K – 1: j = int_rand(i, K) i+1, …, K} swap(A[i], A[j]) // Zufallszahl {i, // Vertauschen der Werte endfor Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen 13

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Satz: (first improvement with random enumeration) Wenn genau ein

Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Satz: (first improvement with random enumeration) Wenn genau ein besseres Element in N(x) mit | N(x) | = N existiert, dann beträgt die Wahrscheinlichkeit, dass dieses Element genau beim k-ten Versuch getestet wird, den Wert 1 / N. Im Mittel werden (N+1) / 2 Versuche benötigt. Beweis: Erfolg genau im k-ten Versuch vorher k-1 Misserfolge, dann Erfolg Misserfolge Erwartungswert = Rudolph: FCI (WS 2005/06) ● Kap. 3: Evolutionäre Algorithmen Erfolge ■ 14