Kraków, 28 II 2005
description
Transcript of Kraków, 28 II 2005
Kraków, 28 II 2005
Równoległe algorytmy genetyczne w optymalizacji
kombinatorycznej
POLITECHNIKA KRAKOWSKAZAKŁAD AUTOMATYKI
wykład monograficzny
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
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.
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
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
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
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
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
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}
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}
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>
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 Φ
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}
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
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
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).
Program symulacyjny PGA_for_GCP
• 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
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
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
]
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
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
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
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
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.
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.
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.
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