320 likes | 444 Views
Genetische Algorithmen für die Variogrammanpassung. Inhalt: Einleitung: zufälliges Feld, Isotropie,... Motivation: Variogramm-Anpassung Genetische (Such-)Algorithmen: Zielstellung Beschreibung des Algorithmus anhand eines Beispiels Anwendung: Variogramm-Anpassung. Einleitung.
E N D
Genetische Algorithmen für die Variogrammanpassung Inhalt: • Einleitung: zufälliges Feld, Isotropie,... • Motivation: Variogramm-Anpassung • Genetische (Such-)Algorithmen: Zielstellung • Beschreibung des Algorithmus anhand eines Beispiels • Anwendung: Variogramm-Anpassung
Einleitung • Ein Zufallsfeld Z(x, ) ist eine zufällige Funktion, die sowohl von den Elementarereignissen als auch von einem Vektor x abhängt. Z(x, ) ist also eine Zufallsvariable. • Ein stationäres Zufallsfeld heißt isotrop, falls Z(x, ) seine Eigenschaften bei Verschiebungen und Drehungen nicht ändert; dies wird bei diesem Vortrag stets vorausgesetzt.
Einleitung • Als empirisches Variogramm bezeichnet man die Funktion • Diese Funktion soll durch x(h) approximiert werden • Nimmt man als Funktionenklasse für x(h) exponentielle Funktionen mit Nugget-Effekt, so ergibt sich mit x = (a, b, c)
exponentiell mit Nuggeteffekt: x = (a, b, c) empirisches Variogramm: (mit im Bild: theoretisches Variogramm: sphärisch mit Nugget-Effekt)
Motivation: Variogrammanpassung gegeben: -empirisches Variogramm -parametrisches isotropes Variogramm-Modell x(h) z.B. exponentiell mit Nugget-Effekt: mit x = (a, b, c); a, b, c gesucht: -möglichst gute Parameter für das theoretische Variogramm-Modell
Parameteranpassung z. B. mittels GAen Bewertungsfunktion soll minimiert werden mit oder
GAen: Grundidee Nachbau der genetischen Selektion: -Überleben der Stärksten -Kreuzung / Paarung -Mutation (selten)
Problem- und Zielstellungdes Algorithmus Gegeben: -diskreter Parameterraum P; meist: P={0,1}b -Bewertungsfunktion f: P R+ -Populationen Popk: m-Tupel mit Elementen aus P, Pop1 zufällig Zielstellung: -Bewertungsfunktion f maximieren
Beispiel: Blackbox • Blackbox mit 5 Schaltern • Schalter entsprechen Bits => P={0,1}5={0,...,31} - Bewertungsfkt: f(x) = x² Bild: x = (10110)2 = 22 => f(x) = 22² = 484 Die Eigenschaften (z.B. lokale Minima o. ä.) sind dem GA unbekannt!
Vorab: 1. Population • m=Populationsgröße; • Popk=(xk,1,...,xk,m); xk,i=(xk,i,1,...,xk,i,b) hier: m=4; b=5 => Pop1 = (x1,1,...,x1,4) und - zufällig gewählt: x1,1 = (0, 1, 1, 0, 0) = 13; x1,2 = (1, 1, 0, 0, 0) = 24; x1,3 = (0, 1, 0, 0, 0) = 8; x1,4 = (1, 0, 0, 1, 1) = 19
Grundmuster der GAen Ein GA besteht aus 3 Teilen: 1. Reproduktion 2. Kreuzung 3. Mutation
1. Teil: Reproduktion -Population Popk bewertet mit f(xk,i) (i=1,...,m) -xk,i erhält Reproduktionswkt. pi: -neue Population Popk+1: xk+1,i = xk,j mit Wkt. pj (i,j=1,...,m)
Bsp: Berechnung der Wkten pi x1,1 = (0, 1, 1, 0, 0) => f(x1,1) = 169 => p1 = 0,14 x1,2 = (1, 1, 0, 0, 0) => f(x1,2) = 576 => p2 = 0,49 x1,3 = (0, 1, 0, 0, 0) => f(x1,3) = 64 => p3 = 0,06 x1,4 = (1, 0, 0, 1, 1) => f(x1,4) = 361 => p4 = 0,31 =>
Bsp: Reproduktion x1,1 = (0, 1, 1, 0, 0) => p1 = 0,14 => 1 x1,2 = (1, 1, 0, 0, 0) => p2 = 0,49 => 2 x1,3 = (0, 1, 0, 0, 0) => p3 = 0,06 => 0 x1,4 = (1, 0, 0, 1, 1) => p4 = 0,31 => 1 => Pop2 = (x1,1, x1,2, x1,2, x1,4) - vorerst!
2. Teil: Kreuzung -Paare werden zufällig gebildet -Eigenschaften (xk,i,j) , k fest werden zufällig gekreuzt -mit zufälliger Wkt. pc (meist pc 0,9) -angepasst an Problem
Bsp: Kreuzung x2,1 = (0, 1, 1, 0, 1) => (0, 1, 1, 0, 0) x2,2 = (1, 1, 0, 0, 0) => (1, 1, 0, 0, 1) x2,3 = (1, 1, 0, 0, 0) => (1, 1, 0, 1, 1) x2,4 = (1, 0, 0, 1, 1) => (1, 0, 0, 0, 0) Kreuzungen: -nach zufälliger Stelle -mit zufälliger Wkt. pc = 0,9
3. Teil: Mutation -zufällige Änderung jedes Parameters xk,i,j mit Wkt. pm 0,001 -Ziel: „ungewöhnliche“ Maxima finden (Sprungstelle o. ä.)
Bsp: Mutation x2,1 = (0, 1, 1, 0, 0) bleibt x2,2 = (1, 1, 0, 0, 0) bleibt x2,3 = (1, 1, 0, 1, 1) => (1, 1, 0, 1, 0) x2,4 = (1, 0, 0, 1, 1) bleibt
Endpopulation nach 1. Schritt x2,1 = (0, 1, 1, 0, 0) = 12 => f(x2,1) = 144 x2,2 = (1, 1, 0, 0, 1) = 25 => f(x2,2) = 625 x2,3 = (1, 1, 0, 1, 0) = 26 => f(x2,3) = 676 x2,4 = (1, 0, 0, 0, 0) = 16 => f(x2,4) = 256 Ergebnis nach 1. Durchlauf: x2,2 (=26).
Abbruchbedingung Z. B.: • Verbesserung der Bewertung gering (~0,1%) • feste Anzahl von Durchläufen
Besonderheiten von GAen • mehrere Elemente gleichzeitig (im Gegensatz zum Newton-Verfahren o. ä.) • direkte Bewertungsfunktion • probabilistischer Ansatz
Vor- und Nachteile von GAen + finden globale Maxima + Unempfindlichkeit gegenüber Störungen und Rauschen + universelle Einsetzbarkeit • keine Verwendung von Zusatzinformationen => gut geeignet für Variogrammanpassung
Anwendung: exponentielles Variogramm mit Nuggeteffekt Gegeben: -Messdaten z(x1),...,z(xn) => zu approximierendes empirisches Variogramm -Parameterraum P=R+³ mit: -Nugget-Effekt-Parameter: Sill a -exponentielle Parameter: Sill b & Range c x=(a, b, c)
Anpassung des Algorithmus • diskreter Parameterraum • Anfangspopulation • Bewertungsfunktion • Reproduktion • Kreuzung • Mutation • Abbruchbedingung
1. Parameterraum • 3 Parameter: Nugget-Sill a, exp. Sill b, exp. Range c • sinnvollen Parameterbereich definieren • Abbildung vom 2b in den jeweiligen Parameterbereich
2. Anfangspopulation • Pop1=(x1,1,..., x1,m); x1,i = (a1,i, b1,i, c1,i) • zufällig gewählt • aus der Erfahrung ergibt sich: mindestens m=100 (je nach Rechenzeit)
3. Bewertungsfunktion Es gilt: wobei f(x) minimiert werden soll!! : Wert der Modellfunktion bei hi : Wert der empirischen Funktion bei hi
4. Reproduktion Wegen Minimierung anders: mit
5. Kreuzung • findet mit pc statt (pc 0,9) • Möglichkeit 1: Parameter vertauschen • Möglichkeit 2: innerhalb der Parameter kreuzen jeweils an Stelle j mit Wahrscheinlichkeit qj
Beispiel zu Möglichkeit 1: vorher vorher nachher nachher
6. Mutation • an jeder Stelle mit Wkt. rj 0,001
7. Abbruchbedingung • nur minimale Verbesserung des besten theoretischen Variogramms (~0,1%) • feste Anzahl von Durchläufen