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)0||,0
0||),1({)(
||
h
hebah
hc
x
hxx
ji
ji
xZxZhN
h||
))²()(()(2
1)(̂
exponentiell mit Nuggeteffekt:
x = (a, b, c)
0||,0
0||),1({)(
||
h
hebah
hc
x
empirisches Variogramm:
(mit im Bild: theoretischesVariogramm: sphärisch mitNugget-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
nihi ,...,1,ˆ
R0||,0
0||),1({)(
||
h
hebah
hc
x
Parameteranpassung z. B. mittels GAen
Bewertungsfunktion
soll minimiert werden
mit oder
n
iixii hhcbafxf
1
))²()(ˆ()),,(()(
1i 1))(ˆ(( ii hVar
GAen: Grundidee
Nachbau der genetischen Selektion:
-Überleben der Stärksten
-Kreuzung / Paarung
-Mutation (selten)
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
Problem- und Zielstellungdes Algorithmus
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)
m
jjk
iki
xf
xfp
1,
,
)(
)(
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
=>
4
1,1 1170)(
iixf
4
1,1
,1
)(
)(
jj
ii
xf
xfp
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
},...,1{},,...,1{ bjmi
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)
hxx
ji
ji
xZxZhN
h||
))²()(()(2
1)(̂
0||,0
0||),1({)(
||
h
hebah
hc
x
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
],...,[ 21 aaa
}12,...,0{;12
)( 121
bba jj
aaaj
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)
mi ,...,1
3. Bewertungsfunktion
Es gilt:
wobei f(x) minimiert werden soll!!
: Wert der Modellfunktion bei hi
: Wert der empirischen Funktion bei hi
n
iiixi hhxf
1
))²(ˆ)(()(
)( ix h)(ˆ ih
4. Reproduktion
Wegen Minimierung anders:
mit
m
iik
jk
j
xfmf
xffp
1,max
,max
)(
)(
))(max( ,},...,1{
max ikmi
xff
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
vorher vorher
nachher nachher
Beispiel zu Möglichkeit 1:
)(1,
hikx
)(1,
hikx )(
2,h
ikx
)(2,
hikx
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