mio xt

Transkrypt

mio xt
www.kwmimkm.polsl.pl
www.kwmimkm.polsl.pl
RODZAJE ZADAŃ
ZADAŃ OPTYMALIZACJI
(w zależ
zależnoś
ności od przestrzeni poszukiwań
poszukiwań)
METODY
INTELIGENCJI
OBLICZENIOWEJ
Optymalizacja parametryczna (punkt x∈U jest
wektorem zm.
zm. niezależ
niezależnych):
nych):
1. Zadania cią
przestrzeń poszukiwań
poszukiwań jest iloczynem
ciągłe (przestrzeń
kartezjań
kartezjańskim zbioru liczb rzeczywistych U=Rn ).
wykład 2
- wypukł
zbiór dopuszczalny i f. celu są wypukł
wypukłe);
wypukłe (zbió
- optymalizacji globalnej (zb.
zb. dopuszczalny lub f. celu
jest niewypukł
niewypukła).
1
www.kwmimkm.polsl.pl
2. Zadania dyskretne (wartoś
wartości zm.
zm. należą
należą do zbioru
2
www.kwmimkm.polsl.pl
OGRANICZENIA FUNKCJI CELU
(za: J.Arabas)
dyskretnego – skoń
skończonego lub przeliczalnego).
przeliczalnego).
3. Zadania kombinatoryczne (każ
każda ze zmiennych
przyjmuje wartość
wartość logiczną
logiczną).
4. Zadania mieszane.
mieszane.
kostkowe
Stopień
Stopień skomplikowania zadania zależ
zależy od:
- postaci funkcji celu;
- kształ
kształtu obszaru dopuszczalnego.
*
Jeś
Jeśli funkcja celu i zbió
zbiór dopuszczalny są wypukł
wypukłe,
to istnieje dokł
dokładnie jedno minimum funkcji.
funkcji.
3
MINIMA LOKALNE
f(x)
x2
minimum funkcji bez
ograniczeń
www.kwmimkm.polsl.pl
obszar
dopuszczalny
MINIMA LOKALNE
MINIMUM
GLOBALNE
minima funkcji
z ograniczeniami
0
x
funkcja z min. lokalnymi
0
wypukły obszar dop.
dop.
x1
min. lokalne wynikające z niewypukłości zb.
zb. ograniczającego
niewypukły obszar dop.
dop.
niespójny obszar dop.
dop.
4
www.kwmimkm.polsl.pl
ALGORYTMY
GENETYCZNE
I EWOLUCYJNE
(za: J.Arabas)
J.Arabas)
5
6
1
www.kwmimkm.polsl.pl
Karol Darwin (1859 „On the origin of species”):
species”):
www.kwmimkm.polsl.pl
• Ewolucja przez dobór naturalny oznacza, że przeprze-
żywają i rozmnażają się osobniki najlepiej przystosoprzystosowane do warunków środowiska.
• Wynik przystosowania zależy od:
- organizmu;
- środowiska.
Gregor Johann Mendel (18221822-1884)
1884) austriacki zakonnik, augustianin,
prekursor genetyki.
genetyki.
• Sformułował podstawowe prawa dziedziczenia
(3 prawa Mendla),
Mendla), przeprowadzając badania nad
krzyżowaniem roślin, głównie grochu jadalnego.
jadalnego.
7
8
www.kwmimkm.polsl.pl
www.kwmimkm.polsl.pl
• Na świat przychodzi dużo więcej potomstwa, niż może
pomieścić środowisko.
AG – CO TO JEST?
• Przeżywają nieliczni,
nieliczni, ale za to najlepsi (selekcja
naturalna).
• AG odwzorowują naturalne procesy ewolucji
zachodzące w czasie.
• W procesie ewolucji istotne jest zachowywanie
różnorodności cech.
• Celem tych procesów jest maksymalne
dopasowanie osobników do istniejących
warunków życia.
• Siła ewolucji to nie zaawansowany proces doskonadoskonalenia jednostki,
jednostki, lecz utrzymywanie dużej liczby
różnorodnych osobników (tzw. populacji), która
ewoluuje jako całość.
całość.
• Rolę środowiska spełnia tu funkcja oceniająca
(funkcja celu).
9
www.kwmimkm.polsl.pl
10
AG - TERMINOLOGIA
www.kwmimkm.polsl.pl
100011011
• gen – najmniejsza składowa chromosomu, decydująca
• Łączą w sobie ewolucyjną zasadę przeżycia
najlepiej przystosowanych osobników z systesystematyczną,
matyczną, choć zrandomizowaną wymianą
informacji.
o dziedziczności jednej lub kilku cech;
• chromosom – uporządkowany ciąg genów (ciąg
kodowy). Zwykle utożsamiany z osobnikiem;
• locus – miejsce genu w chromosomie;
• Pomimo elementu losowości AG nie błądzą
przypadkowo, lecz wykorzystują efektywnie
przeszłe doświadczenia.
doświadczenia.
• allel – wariant (stan) jednego genu warunkujący daną
cechę;
• populacja – pewna liczba osobników (chromosomów);
11
12
2
AG - TERMINOLOGIA
www.kwmimkm.polsl.pl
• fenotyp – ogół cech ujawniających się na zewnątrz
(np. rozkodowana postać zmiennych projektowych);
• algorytmy genetyczne;
• programowanie ewolucyjne (ewoluujące automaty);
• strategie ewolucyjne;
• symulowane wyżarzanie;
• systemy klasyfikujące;
• sieci neuronowe;
• algorytmy mrówkowe;
• algorytmy immunologiczne.
• genotyp – ogół genów danego osobnika;
• mutacja – zmiana jednego lub kilku genów
w chromosomie;
• krzyżowanie – operacja mająca na celu wymianę
materiału genetycznego między osobnikami.
13
14
www.kwmimkm.polsl.pl
www.kwmimkm.polsl.pl
ZASTOSOWANIA PRAKTYCZNE AG (i AE):
• Ewolucja przez dobór naturalny oznacza, że przeprze-
żywają i rozmnażają się osobniki najlepiej przystosoprzystosowane do warunków środowiska.
• wyznaczanie trasy połączeń kablowych;
• harmonogramowanie;
• sterowanie adaptacyjne;
• rozgrywanie gier;
• zadanie plecakowe;
• zadanie komiwojażera;
• sterowanie optymalne;
• optymalizacja obsługi pytań w bazach danych;
•
...
MUZYKA?
www.kwmimkm.polsl.pl
ALGORYTMY NAŚ
NAŚLADUJĄ
LADUJĄCE PROCESY
ZACHODZĄ
Ą
CE
W
NATURZE:
ZACHODZ
100011011
• Wynik przystosowania zależy od:
- organizmu;
- środowiska.
15
16
www.kwmimkm.polsl.pl
www.kwmimkm.polsl.pl
Joanna Kołodziejczyk:
Kołodziejczyk: Elementy sztucznej inteligencjihttp://bijo.wi.ps.pl
/
http://bijo.wi.ps.pl/
John H. Holland,
Holland, 1975:
„Adaptation in Natural and Artificial Systems”:
Systems”:
• Koncepcja algorytmu przeszukiwania opartego
na zasadzie doboru naturalnego.
• W chromosomie pamiętane są poziome wysokości tonów.
• Allele określają półtony które mogą być odtwarzane jako
akordy.
• Procedurę probabilistycznego przeszukiwania
dyskretnej przestrzeni stanów nazwał
algorytmem genetycznym.
• Oceny jakości dokonuje operator nadając wagi
odpowiednim chromosomom.
17
18
3
www.kwmimkm.polsl.pl
SCHEMAT DZIAŁANIA AG:
procedure algorytm_genetyczny
begin
t:=0
wybierz populację początkową P(t)
oceń P(t)
while (not warunek_zakończenia) do
begin
t:=t+1
wybierz P(t) z P(t-1) (selekcja)
zmień P(t) (działanie operatorów genetycznych)
oceń P(t)
end
end
www.kwmimkm.polsl.pl
JAK DZIAŁA
AG?
19
20
www.kwmimkm.polsl.pl
AG MUSI MIEĆ OKREŚLONE
www.kwmimkm.polsl.pl
Przykł
Przykład
(DLA KAŻDEGO ZADANIA):
ZADANIA):
1. Podstawową
odstawową reprezentację
reprezentację zmiennych potencjalnego
zadania;
2. Sposó
posób tworzenia począ
początkowej populacji
potencjalnych rozwią
rozwiązań
zań;
Znale
źć::
Znaleźć
max { f (x)=x
)=x2}
dla wartości całkowitych x z zakresu 00-31.
Populacja w chwili t:
P(t
P(t)= {x
{xt1, ...x
...xtn);
3. Funkcję
unkcję oceniają
oceniającą rozwią
rozwiązania;
4. Podstawowe operatory;
Założenia:
Założenia:
5. Wartoś
artości ró
różnych parametró
parametrów (rozmiar populacji,
prawdopodobień
prawdopodobieństwa uż
użycia
operatoró
operatorów gen.
gen. itp.)
- łańcuchy 55-bitowe (x
(x=0,1,...,31);
- liczebność populacji n=4.
21
www.kwmimkm.polsl.pl
Ścisł
cisłe rozwią
rozwiązanie:
zanie:
1
1
1
1
1
x = 31;
x2 = 961.
Populacja początkowa (losowanie):
x02
=
x03 =
x04
=
www.kwmimkm.polsl.pl
Sytuacja począ
początkowa:
tkowa:
x=
x01 =
22
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
23
Wartość
Przystosowanie
Prawd.
wylosowania Oczekiwana
liczba kopii
osobnika
f
pi = i
fi / f
Σf i
Nr
osobnika
Osobnik
1
11000
24
576
0.51
2.05
2
01011
11
0.11
0.43
3
01000
8
0.06
0.23
4
10011
19
121
64
361
0.32
1.27
Suma
1122
1.00
4.00
Średnia
281
0.25
1.00
Max
576
0.51
2.05
x
f(x)=x2
24
4
www.kwmimkm.polsl.pl
Selekcja:
Każdemu ciągowi kodowemu odpowiada sektor koła
ruletki o polu proporcjonalnym do przystosowania.
Oczekiwana
osobnika
liczba kopii
Nr
32%
1
2
3
4
51%
6%
www.kwmimkm.polsl.pl
Po selekcji:
Osobnik
Liczba
po
wylosowanych kopii selekcji
<0.51, 0.62) ⇒ 2, ...
2.05
2
11000
24
576
0.35
0.43
1
01011
3
0.23
0
11000
11
24
121
576
0.07
0.35
4
1.27
1
10011
19
361
0.23
Osobnik
po
selekcji
Partner
Punkt
krzyżowania
Osobnik
po
krzyżowaniu
1
11000
2
4
2
01011
1
4
3
11000
4
2
4
10011
3
2
1634
1.0
Średnia
409
0.25
Max
576
0.35 (x2)
26
www.kwmimkm.polsl.pl
Mutacja:
Wartość
Przystosowanie
x
f(x)=x2
Prawd.
wylosowania
osobnika
11001
25
625
0.36
1
11001
01010
100
729
0.06
0.43
2
01010
11011
10
27
3
10000
16
256
1710
0.15
4
Suma
1.0
Suma
1778
1.0
Średnia
428
0.25
Średnia
447
0.25
Max
729
0.43
Max
729
0.41
Osobnik
po
osobnika krzyżowa
niu
Wartość
Przystosowanie
x
f(x)=x2
Prawd.
wylosowania
osobnika
NNNNN 1 1 0 0 1
25
625
0.35
11011
NNNNN 0 1 0 1 0
NNNNN 1 1 0 1 1
10
27
100
729
0.06
0.41
10000
NNNTN 1 0 0 1 0
18
324
0.18
Nr
Mutacja?
Osobnik
po
mutacji
był
było: 729
był
było: 576
27
28
www.kwmimkm.polsl.pl
www.kwmimkm.polsl.pl
ŚREDNIE DOPASOWANIE POPULACJI
409
400
Suma
pm = 0.05
osobnika
500
f(x)=x2
2
pc = 0.9
Nr
x
Prawd.
wylosowania
osobnika
25
www.kwmimkm.polsl.pl
Krzyżowanie:
Przystosowanie
1
11%
<0, 0.51) ⇒ 1,
Wartość
Rozpatrywać
Rozpatrywać moż
można zawsze zadanie maksymalizacji:
maksymalizacji:
447
428
281
300
200
g (x) = -f (x)
100
0
Początkowo
Po selekcji
Po
krzyżowaniu
Po mutacji
min f (x) = max g(x) = max{max{-f (x)}
Zakłada się również, iż funkcja jest dodatnia w całej
dziedzinie (selekcja!)
MAX WARTOŚĆ FUNKCJI
800
700
600
500
400
300
200
100
0
729
576
729
576
max g(x) = max{g
max{g(x )+C}
Początkowo
Po selekcji
Po krzyżowaniu
(jeś
jeśli g(x) jest ograniczona z doł
dołu)
Po mutacji
29
30
5
www.kwmimkm.polsl.pl
www.kwmimkm.polsl.pl
KODOWANIE LICZB RZECZYWISTYCH
25
20
Zał
Założenia:
enia:
15
10
• f (x1,...x
,...xk): Rk→R
5
0
-5
0
1
2
3
4
5
• Di = [a
[ai, bi]⊆R
6
-10
• f (x1,...x
,...xk) > 0 dla każ
każdego xi ∈Di
-15
-20
• dokł
dokładność
adność do c liczb znaczą
znaczących po przecinku
25
Wykonanie:
Wykonanie:
20
C
15
10
1. Podział Di = [ai, bi] na r = (bi - ai)⋅10c podprzedziałów.
podprzedziałów.
5
0
-5
0
1
2
3
4
5
6
2. Wyznaczenie najmniejszej liczba całkowitej m:
-10
(bi - ai)⋅10c ≤ 2m –1
-15
-20
31
www.kwmimkm.polsl.pl
ODKODOWYWANIE:
1. Przekształcenie łańcucha binarnego o długości m na
liczbę dziesiętną x’;
32
www.kwmimkm.polsl.pl
Przykład:
f (x) = x⋅sin(10π x) +1
max{
max{ f (x)}
2. Obliczenie rzeczywistej wartości liczby:
x = ai +
(bi − ai ) x '
2m − 1
x ∈ [-1, 2]
• Liczba miejsc po przecinku: c = 6
• Dziedzina funkcji:
33
www.kwmimkm.polsl.pl
ai = -1; bi = 2;
2; c = 6
Na ilu bitach
trzeba zakodować liczbę (wyznaczenie m)?
34
www.kwmimkm.polsl.pl
Mając ciąg bitów:
1100101010010101010101
liczba podprzedziałów:
podprzedziałów:
Odkodowywanie:
Odkodowywanie:
r = (bi - ai)⋅10c = 3·
3·106
(bi -
ai)⋅10c
≤
1.
x′=3319125
2. Obliczenie rzeczywistej wartości liczby:
[2 – (-1)]⋅
1)]⋅106+1 = 3 000 001 ≤ 2m
2 097 152 =
221
Przekształcenie łańcucha na liczbę dziesiętną x’:
2m –1
≤ 3 000 001 ≤
222
= 4 194 304
m = 22
35
x = ai +
(bi − ai ) x '
2m − 1
=1.374025
= −1 +
3 ⋅ 3319125
4194304 − 1
ai = -1; bi = 2;
2; c = 6
36
6
www.kwmimkm.polsl.pl
00000000000000000000000
www.kwmimkm.polsl.pl
Przykład:
1111111111111111111111
f (x) = 21.5 + x1⋅sin(4π
sin(4πx1) + x2⋅sin(20π
sin(20πx2)
max{
max{f (x1, x2)}
x′= 0
x′= 4194303
• x1 ∈ [-3.0, 12.1]
x = −1 +
0
= -1
4194304 − 1
x = −1 +
• x2 ∈ [4.1, 5.8]
3 ⋅ 4194303
=2
4194304 − 1
• c1 = c2 = 4
ai = -1; bi = 2
37
38
www.kwmimkm.polsl.pl
Wielkości zadawane przed uruchomieniem AG:
r1 = (b
(b1 - a1) ·10c = 15.1·
15.1·104
x1:
15.1·
15.1·104 ≤ 2m –1
•
•
•
•
131 032 = 217 ≤ 151 001 ≤ 218 = 262 144
m1 = 18
r2 = (b
(b2 - a2) ·10c = 1.7·104
x2:
www.kwmimkm.polsl.pl
liczebność populacji,
prawdopodobieństwo krzyżowania,
prawdopodobieństwo mutacji,
inne (zależy od algorytmu).
1.7·104 ≤ 2m –1
16 384 = 214 ≤ 17 001 ≤ 215 = 32 768
Zazwyczaj wartości dobiera się ekspeeksperymentalnie (metodą prób i błędów),
indywidualnie dla rozwiązywanego
problemu...
m2 = 15
m = m1 + m2 = 33
choć istnieją pewne ogólne zalecenia...
11001010100101011001110101010101
39
40
www.kwmimkm.polsl.pl
BINARNIE
CZY INACZEJ?
41
www.kwmimkm.polsl.pl
Binarnie
Niebinarnie
00000
A
00001
B
...
...
11001
Z
11010
1
...
...
11111
6
Ciąg binarny
11000
Ciąg niebinarny
Y
Wartość
24
Dopasowanie
576
01011
01000
10011
L
I
T
11
8
19
121
64
361
42
7
www.kwmimkm.polsl.pl
Jeden z celów zmodyfikowanego kodowania:
przybliżenie algorytmu do przestrzeni zadania.
(Nie zawsze prawdziwe przy kodowaniu binarnym)
np.:
Cał
Całkowitoliczbowo
0111
1000
7
8
43
Binarnie
Kod Graya
0000
0000
0001
0001
0010
0011
0011
0010
0100
0110
0101
0111
0110
0101
0111
0100
1000
1100
1001
1101
1010
1111
1011
1110
1100
1010
1101
1011
1110
1001
1111
1000
www.kwmimkm.polsl.pl
procedure BinToGray
begin
g1 := b1
for k := 2 to m do
gk := bk–1 XOR bk
end
procedure GrayToBin
begin
value := g1
b1 := value
for k := 2 to m do
begin
if gk = 1 then value := NOT value
bk := value
end
end
Dogodne jest, by dwa punkty leżące blisko siebie
w przestrzeni reprezentacji (genotyp
(genotyp)) leżały również
blisko siebie w przestrzeni zadania (fenotyp).
fenotyp).
Binarnie
KOD GRAYA
www.kwmimkm.polsl.pl
Zmiana 1 bitu w kodzie powoduje,
iż otrzymana liczba ma szansę być
liczbą bezpośrednio bliską liczbie
przed zmianą.
a
0
0
1
1
b
0
1
0
1
a XOR b
0
1
1
0
b = 〈 b1, b2, ..., bm〉 – liczba binarna
g = 〈 g1, g2, ..., gm〉 – liczba w kodzie Graya;
Graya;
m – długość
ugość cią
ciągu kodowego.
kodowego.
Jednakże jeżeli:
• 100 zmiennych;
• dziedzina z zakresu [[-500 500];
• żądana dokładność 6 miejsc po przecinku;
44
www.kwmimkm.polsl.pl
To:
• długość łańcucha binarnego wynosi 3000;
3000;
• przestrzeń poszukiwań rzędu 101000.
Dla tak wielkich przestrzeni AG działają słabo...
Zasada minimalnego alfabetu:
45
Należy wybrać najmniejszy alfabet, w którym
zadanie wyraża się w sposób naturalny.
www.kwmimkm.polsl.pl
www.kwmimkm.polsl.pl
KODOWANIE LOGARYTMICZNE
Stosowane w celu zmniejszenia długości łańcucha
binarnego.
[b1b2 bin ] = ( −1)b2 e( −1)
b1
[ bin ]10
46
• Za pomocą 5 bitów możliwe jest zakodowanie
liczb z zakresu [-e7, e7]
(w kodowaniu binarnym [0, 31]).
b1 – bit znaku wykł
wykładnika funkcji wykł
wykładniczej;
adniczej;
b2 – bit znaku funkcji wykł
wykładniczej;
adniczej;
bin – reprezentacja wykł
wykładnika funkcji wykł
wykładniczej
[bin]10 – wartość
wartość dziesię
dziesiętna liczby zakodowanej binarnie.
binarnie.
• Dalszą modyfikacją jest zastosowanie
KODOWANIA ZMIENNOPOZYCYJNEGO.
ZMIENNOPOZYCYJNEGO.
1
[10110] = ( −1)0 e( −1) [110]10 = e −6 = 0.002478752
0
[01011] = ( −1)1 e( −1) [ 011]10 = − e3 = −20.08553692
47
48
8

Podobne dokumenty