Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Till Dubner Geändert vor über 10 Jahren
1
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2005/06
2
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen2 Kapitel 3: Evolutionäre Algorithmen Inhalt Grundlagen Optimierung Nachbarschaftssuche …
3
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen3 Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche gegeben: - Suchraum S - Zielfunktion f: S R mit Zielsetzung Minimierung - Nachbarschaftsstruktur N(x) für jedes x S wähle X 0 S; setze k = 0 repeat wähle Y k N(X k ) if f(Y k ) < f(X k ) then X k+1 = Y k else X k+1 = X k k = k + 1 until Terminierungbedingung = true was ist N(x)? wie wählen?
4
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen4 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)
5
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen5 Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche S = A n für A = { a 1, a 2, …, a K } Hamming-Abstand S = B n für B = { 0, 1 }
6
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen6 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. d(a, b) 1 + d(a,b)
7
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen7 Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Satz: Jede Norm induziert eine Metrik via d(x, y) = || x – y ||. 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) bisher: Metriken für abzählbare Mengen – überabzählbar?
8
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen8 Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche S = R n (p > 0) p = 1Betragssummennorm p = 2Euklidische Norm p = 1 Maximumnorm Hölder-Normen
9
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen9 Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Also: Nachbarschaft N r (x) = { y S : d(x, y) r }(enthält x) punktierte Nachbarschaft N r (x) = N r (x) \ { x }(häufig gemeint) Sei S = B n. N 1 (x) = { y B n : d(x, y) = 1 } N 1 (000) = { 001, 010, 100 } 000001 011010 100 110 111 101
10
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen10 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 R n ist |N(x)| überabzählbar so nur bei end. Nachbarschaften möglich
11
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen11 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(e i ) < a* dann wähle e i Probleme: starke Abhängigkeit vom Enumerationsschema funktioniert nur bei endlichen Nachbarschaften
12
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen12 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(e i ) < a* dann wähle e i Probleme: funktioniert nur bei endlichen Nachbarschaften
13
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen13 Kapitel 3: Evolutionäre Algorithmen Nachbarschaftssuche Wie erzeugt man eine zufällige Permutation? = Gleichverteiltes Ziehen ohne Zurücklegen (Urnenmodell) Wkeit für eine spezielle Permutation = for i = 1 to K: A[i] = i for i = 1 to K – 1: j = int_rand(i, K)// Zufallszahl {i, i+1,…, K} swap(A[i], A[j])// Vertauschen der Werte endfor Realisierung:(lineare Laufzeit)
14
Rudolph: FCI (WS 2005/06) Kap. 3: Evolutionäre Algorithmen14 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 MisserfolgeErfolge Erwartungswert =
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.