Kraków, 28 II 2005
description
Transcript of Kraków, 28 II 2005
![Page 1: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/1.jpg)
Kraków, 28 II 2005
Równoległe algorytmy genetyczne w optymalizacji
kombinatorycznej
POLITECHNIKA KRAKOWSKAZAKŁAD AUTOMATYKI
wykład monograficzny
![Page 2: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/2.jpg)
Plan wykładu
• Przykładowy problem - kolorowanie grafu • Podstawowe modele równoległych
algorytmów genetycznych• Operatory krzyżowania i mutacji• Funkcje kosztu i dopasowania• Program PGA_for_GCP• Wyniki badań symulacyjnych• Wnioski
![Page 3: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/3.jpg)
Problem kolorowania grafuDef. Kolorowanie wierzchołków grafu G=(V, E) jest funkcją c: V -->N, spełniającą warunek, że każdej parze sąsiednich wierzchołków u,v є V przyporządkowane są różne kolory, t.j. {u, v} є E => c(u) != c(v).
Problem kolorowania grafu jest NP-trudny.
![Page 4: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/4.jpg)
Równoległe algorytmy genetyczne - kryteria klasyfikacji
• Liczba populacji : jedna, wiele• Typy populacji : rozłączne, nakładające się• Topologie populacji : różne modele grafowe • Modele interakcji : izolacja, migracje, dyfuzja• Rekombinacja , ocena osobników, selekcja :
rozproszona / lokalna, scentralizowana / globalna • Synchronizacja na poziomie iteracji: algorytm
synchroniczny / asynchroniczny
![Page 5: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/5.jpg)
Modele równoległych algorytmów genetycznych
• master-slave jedna globalna populacja, globalne operacje genetyczne, funkcje dopasowania obliczane przez procesory slave
• masywnie równoległy (komórkowy) statyczne nakładające się podpopulacje z lokalną strukturą, lokalne operacje genetyczne i ocena
• migracyjny (przypadkiem szczególny: wyspowy) statyczne rozłączne podpopulacje/wyspy, lokalne operacje genmetyczne i migracja
• hybrydowy (przyspieszenie S=SU*SL) kombinacja modelu migracyjnego na wyższym poziomie i dowolnego modelu na poziomie wyższym
![Page 6: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/6.jpg)
Algorytm master–slaveprocedure pga_master_slave begin t := 0 ; initialization of P0 ; evaluation of P0 ; while (not termination condition) do begin Tt := reproduction of Pt ; transfer to slaves do in parallel begin Ot := genetic operations on Tt ;
evaluation of Ot ; transfer to master end ; Pt+1 := succession ( Pt, Ot ) ; t := t+1; end; end
P0 - initial population
Pt - base population
Ot - offspring population
Tt - temporary population
M
S SSS
![Page 7: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/7.jpg)
Algorytm migracyjny dla podpopulacjiprocedure: pga_for_subpopulationbegin t = 0 ; initialization P0 ; evaluation P0 ; while (not termination condition) do begin Tt = reproduction of Pt ; Ot = genetic operations on Tt ; evaluation of Ot ; Pt+1 = succession (Pt, Ot) ; if (migration condition) then migration of selected individuals t = t + 1; end ;end
P0 - initial population
Pt - base population
Ot - offspring population
Tt - temporary population
![Page 8: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/8.jpg)
Operatory mutacji i krzyżowania• Sum-Product Partition Crossover (SPPX)
nowy operator, w którym operacje sumy i iloczynu zbiorów są wykonywane na wybranych losowo blokach podziałów z chromosomów rodzicielskich, ponadto Prob(SUM) >Prob(PRODUCT)
• Conflict Elimination Crossover (CEX)nowy operator, kolory powodujące konflikty w każdym rodzicu są zastępowane przez kolory skopiowane z drugiego rodzica
• Union Independent Set Crossover (UISX) • Gready Partition Crossover (GPX)
• Transposition Mutation• First Fit Mutation
![Page 9: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/9.jpg)
Krzyżowanie SPPX (I) suma wylosowanych bloków podziałów
51
103
74
8
9
6
2
51
103
74
8
9
6
2
51
103
74
8
9
6
2
51
103
74
8
9
6
2
p ={1,8}{2,7} {3,10}{4,6}{5,9} r ={1}{2,8}{3,7,10}{4,9}{5,6}
s ={1,8}{2,7}{3,4,9,10}{5}{6} t ={1}{2,8}{3,4,9,10}{5,6}{7}
![Page 10: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/10.jpg)
Krzyżowanie SPPX (II) iloczyn wylosowanych bloków podziałów
51
103
74
8
9
6
2
51
103
74
8
9
6
2
51
103
74
8
9
6
2
51
103
74
8
9
6
2
p={1,8}{2,7} {3,10} {4,6} {5,9} r={1}{2,8}{3,7,10}{4,9}{5,6}
s={1,8}{2}{3,10}{4,6}{5,9}{7} t={1}{2,8}{3,10}{4,9}{5,6}{7}
![Page 11: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/11.jpg)
Krzyżowanie CEX
51
103
74
8
9
6
2
51
103
74
8
9
6
2
51
103
74
8
9
6
2
51
103
74
8
9
6
2
p = <5,2,3,4,1,4,2,5,1,3> r = <1,4,5,2,3,3,5,4,2,5>
s = <5,2,5,2,1,3,2,5,1,5> t = <1,4,3,2,3,3,2,4,2,3>
![Page 12: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/12.jpg)
Krzyżowanie UISX (I) (Dorne, Hao 1998)
51
103
74
8
9
6
2
51
103
74
8
9
6
2
51
103
74
8
9
6
2
p={1,8}{2,7}{5,9} r= {1}{2,8}{4,9}{5,6} s={1,2,8} max IS = {1,8} 2 max iloczyny suma z {2,8} p={7} {5,9} r={4,9}{5,6} s={1,2,8}{4,5,9}1 max iloczyn max IS = {4,9} suma z {5,9} p={7} r={6} s={1,2,8}{4,5,9}{7} max IS = {7} iloczyn = Φ suma z Φ p=Φ r={6} s={1,2,8}{4,5,9}{6}{7} iloczyn = Φ max IS = {6} suma z Φ
![Page 13: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/13.jpg)
Krzyżowanie UISX (II) (Dorne, Hao 1998)
51
103
74
8
9
6
2
51
103
74
8
9
6
2
51
103
74
8
9
6
2
p={1,8}{2,7} {5,9} r={1}{2,8}{4,9}{5,6} t={5,6,9}1 max iloczyn max IS = {5,6} suma z {5,9} p={1,8}{2,7} r= {1} {2,8} {4} t={2,7,8}{5,6,9} max IS = {2,7} 1 max intersection suma z {2,8} p={1} r={1}{4} t={2,7,8}{4}{5,6,9} iloczyn = Φ max IS = {4} suma z Φ p={1} r={1} t={1}{2,7,8}{4}{5,6,9} max IS = {1} 1 max iloczyn suma z {1}
![Page 14: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/14.jpg)
Krzyżowanie GPX (Galinier, Hao 1999)
51
103
74
8
9
6
2
51
103
74
8
9
6
2
p ={1,8}{2,7}{3,10}{4,6}{5,9} r ={1}{2,8}{3,7,10}{4,9}{5,6}
p ={1,8}{2,7}{3,10}{4,6}{5,9} r ={1}{3,10}{4,9}{5,6}{8} p ={1,8}{3,10}{5}{6}r ={1}{5,6}{8}p ={1,8}r = Φs ={1,8}{2,7}{3,10}{4,9}{5,6}
s ={1,8}{2}{3,7,10}{4,6}{5,9}
51
103
74
8
9
6
2
![Page 15: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/15.jpg)
Operatory mutacjiTransposition First Fit
51
103
74
8
9
6
2
p = <5,2,3,4,1,4,2,5,1,3> r={1}{2,8}{3,7,10}{4,9}{5,6}
s = <5,2,5,4,1,4,2,3,1,3> r={1,3}{2,7,8}{4,9,10}{5,6}
51
103
74
8
9
6
2
51
103
74
8
9
6
2
51
103
74
8
9
6
2
![Page 16: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/16.jpg)
Funkcje kosztu i dopasowania
Dla oceny zastosowano następującą funkcję kosztu :
f(p) = Σq(u,v) + d + k, gdzie: q(u,v)=2, gdy c(u)=c(v), inaczej q(u,v)=0; d=1, gdy Σq(u,v)>0 , lub d=0, gdy Σq(u,v)=0; k – liczba użytych kolorów. W algorytmie PGA zastosowano proporcjonalną
selekcję z funkcją dopasowania 1/ f(p).
![Page 17: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/17.jpg)
Program symulacyjny PGA_for_GCP
![Page 18: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/18.jpg)
• rozmiar globalnej populacji• krzyżowanie : SPPX, CEX, UIS, GPX• mutacja : Transposition, First Fit• selekcja : proporcjonalna
Model M-S• liczba wysp• schemat migracji• rozmiar migracji• częstość migracji
Konfiguracja i dostrojenie PGA
Model wyspowy• liczba procesorów slave
![Page 19: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/19.jpg)
Badania symulacyjne
• wyznaczenie optymalnej liczby procesorów slaves w modelu M-S
• koszt najlepszego osobnika w funkcji czasu na izolowanych wyspach w modelu migracyjnym
• wpływ odstępu pomiędzy migracjami na koszt optymalnego rozwiązania
• wpływ schematu migracji na efektywność PGA mierzoną liczbą iteracji potrzebnych dla wyznaczenia optymalnego rozwiązania
• porównanie czterech operatorów krzyżowania w modelu migracyjnym
![Page 20: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/20.jpg)
Czas obliczeń równoległych jako funkcja liczby procesorów
w modelu master-slave
0
10
20
30
40
50
60
70
80
90
0 20 40 60 80 100
ilość procesorów
czas
obl
icze
ń [s
]
![Page 21: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/21.jpg)
Koszt najlepszych rozwiązań na izolowanych wyspach w funkcji
liczby iteracji
0
500
1000
1500
2000
0 200 400 600generacja
kosz
t
Wyspa nr 1
Wyspa nr 2
Wyspa nr 3
![Page 22: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/22.jpg)
Koszt najlepszego rozwiązania jako funkcja częstości migracji
30
32
34
36
38
0 50 100 150odstęp pomiędzy migracjami
kosz
t
![Page 23: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/23.jpg)
Efektywność schematów migracji w modelu wyspowym PGA
graph vertices edges colors
migration schemebest random none
n n n
David 87 406 11 77 121 114Games120 120 638 9 41 64 72
Myciel7 191 2360 8 54 94 86Queen5 25 160 5 46 78 75
Mulsol.i.4 185 3946 31 1004 1307 2680
![Page 24: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/24.jpg)
Porównanie efektywności czterech operatorów krzyżowania
PGA _for_ GCP
UISX SPPX GPX CEXno. graph vertices edges colors
n [s] n [s] n [s] n [s]1 Anna 138 493 11 19 2.0 61 3,2 21 6.0 15 1,32 David 87 406 11 22 2.0 74 3,6 24 3,9 20 1.03 Huck 74 301 11 8 0,8 29 0,5 7 1,0 12 0,74 Miles500 128 1170 20 95 9,5 152 38 59 40 100 3.05 Myciel7 191 2360 8 18 2.0 76 7,6 21 7,9 20 1.06 Mulsol_1 197 3925 49 90 31 180 34 60 35 58 2.0
![Page 25: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/25.jpg)
Wnioski (I)1. W modelu Master-Slave istnieją różne optymalne liczby procesorów slave zapewniające minimum czasu obliczeń w systemie, maksymalne przyspieszenie (speedup) i maksymalne przyspieszenie na jednostkę kosztu (speedup over cost).
2. Po przekroczeniu pewnej liczby procesorów slave model Master-Slave staje się nieefektywny ze względu na koszt komunikacji i synchronizacji.
3. W modelu Master-Slave przestrzeń wyszukiwania jest taka sama jak w konwencjonalnym modelu GA.
4. W modelu wyspowym migracja jest zawsze lepsza niż izolacja i istnieje optymalny odstęp pomiędzy migracjami zapewniający najlepszą efektywność algorytmu mierzoną liczbą iteracji potrzebną dla wyznaczenia rozwiązania optymalnego.
![Page 26: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/26.jpg)
Wnioski (II)5. Dla wszystkich testowanych grafów migracja najlepszych osobników jest zawsze najbardziej efektywna. Migracja losowych osobników jest użyteczna tylko w przypadku dużych grafów jak mulsol.i.4.
6. Najlepszym operatorem krzyżowania okazał się CEX (5 najlepszych wyników), drugim jest UISX. Trzecie miejsce przypadło SPPX (1 najlepsze rozwiązanie - średnio więcej iteracji ale prosty operator), a ostatnie GPX, który jest relatywnie najbardziej złożony.
7. Mutacja First Fit w problemach kolorowania działa lepiej niż Transposition (najlepsza jest jej kombinacja z operatorem CEX ).
8. W modelu wyspowym przestrzeń wyszukiwania jest przeglądana efektywnie dzięki koewolucji w podpopulacjach i okresowej migracji.
![Page 27: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/27.jpg)
Wnioski (III)9. W modelu migracyjnym można zaobserwować szybszą konwergencję w kierunku rozwiązania optymalnego i algorytm lepiej unika maksimów lokalnych.
10. Rola migracji podczas wykonywania algorytmu zmienia się z mechanizmu zapewniającego szybkie ulepszenie populacji najgorszych wysp w początkowej fazie obliczeń na mechanizm intensywnej eksploracji najbardziej atrakcyjnych regionów przestrzeni rozwiązań w późniejszych fazach procesu koewolucji.
11. Korzyści modelu migracyjnego można uzyskać także w procesie symulowanej koewolucji w algorytmie sekwencyjnym.
![Page 28: Kraków, 28 II 2005](https://reader033.fdocuments.pl/reader033/viewer/2022050809/56815da8550346895dcbd7a1/html5/thumbnails/28.jpg)
Koniec i bomba, a kto czytał ten trąba ! 1, 2
1 wykład opracowany w Roku Gombrowiczowskim, AD 2004
2 powiedzenie służącej, Anieli ”Ciemnej”, którym Jaśniepanicz Witold zakończył Ferdydurke