POLITECHNIKA KRAKOWSKA ZAKAD AUTOMATYKI Rwnolege algorytmy genetyczne w

  • Slides: 28
Download presentation
POLITECHNIKA KRAKOWSKA ZAKŁAD AUTOMATYKI Równoległe algorytmy genetyczne w optymalizacji kombinatorycznej wykład monograficzny Kraków, 28

POLITECHNIKA KRAKOWSKA ZAKŁAD AUTOMATYKI Równoległe algorytmy genetyczne w optymalizacji kombinatorycznej wykład monograficzny Kraków, 28 II 2005

Plan wykładu • Przykładowy problem - kolorowanie grafu • Podstawowe modele równoległych algorytmów genetycznych

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 grafu Def. Kolorowanie wierzchołków grafu G=(V, E) jest funkcją c: V -->N,

Problem kolorowania grafu Def. 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,

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

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–slave procedure pga_master_slave begin t : = 0 ; initialization of P 0

Algorytm master–slave procedure pga_master_slave begin t : = 0 ; initialization of P 0 ; evaluation of P 0 ; 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 P 0 - initial population Pt - base population Ot - offspring population Tt - temporary population M S S

Algorytm migracyjny dla podpopulacji procedure: pga_for_subpopulation begin t=0; initialization P 0 ; evaluation P

Algorytm migracyjny dla podpopulacji procedure: pga_for_subpopulation begin t=0; initialization P 0 ; evaluation P 0 ; 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 P 0 - 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

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 p ={1, 8}{2, 7} {3, 10}{4, 6}{5,

Krzyżowanie SPPX (I) suma wylosowanych bloków podziałów 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 p={1, 8}{2, 7} {3, 10} {4, 6}

Krzyżowanie SPPX (II) iloczyn wylosowanych bloków podziałów 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 p = <5, 2, 3, 4, 1, 4, 2, 5, 1, 3>

Krzyżowanie CEX 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, 1, 3, 2, 5, 1, 5> t = <1, 4, 3, 2, 3, 3, 2, 4, 2, 3>

Krzyżowanie UISX (I) (Dorne, Hao 1998) p={1, 8}{2, 7}{5, 9} max IS = {1,

Krzyżowanie UISX (I) (Dorne, Hao 1998) p={1, 8}{2, 7}{5, 9} max IS = {1, 8} p={7} {5, 9} 1 max iloczyn p={7} max IS = {7} p=Φ iloczyn = Φ r= {1}{2, 8}{4, 9}{5, 6} 2 max iloczyny r={4, 9}{5, 6} max IS = {4, 9} r={6} iloczyn = Φ r={6} max IS = {6} s={1, 2, 8} suma z {2, 8} s={1, 2, 8}{4, 5, 9} suma z {5, 9} s={1, 2, 8}{4, 5, 9}{7} suma z Φ s={1, 2, 8}{4, 5, 9}{6}{7} suma z Φ

Krzyżowanie UISX (II) (Dorne, Hao 1998) p={1, 8}{2, 7} {5, 9} 1 max iloczyn

Krzyżowanie UISX (II) (Dorne, Hao 1998) p={1, 8}{2, 7} {5, 9} 1 max iloczyn p={1, 8}{2, 7} max IS = {2, 7} p={1} iloczyn = Φ p={1} max IS = {1} r={1}{2, 8}{4, 9}{5, 6} max IS = {5, 6} r= {1} {2, 8} {4} 1 max intersection r={1}{4} max IS = {4} r={1} 1 max iloczyn t={5, 6, 9} suma z {5, 9} t={2, 7, 8}{5, 6, 9} suma z {2, 8} t={2, 7, 8}{4}{5, 6, 9} suma z Φ t={1}{2, 7, 8}{4}{5, 6, 9} suma z {1}

Krzyżowanie GPX (Galinier, Hao 1999) p ={1, 8}{2, 7}{3, 10}{4, 6}{5, 9} r ={1}{2,

Krzyżowanie GPX (Galinier, Hao 1999) 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}

Operatory mutacji Transposition First Fit p = <5, 2, 3, 4, 1, 4, 2,

Operatory mutacji Transposition First Fit 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}

Funkcje kosztu i dopasowania Dla oceny zastosowano następującą funkcję kosztu : f(p) = Σq(u,

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

Program symulacyjny PGA_for_GCP

Konfiguracja i dostrojenie PGA • rozmiar globalnej populacji • krzyżowanie : SPPX, CEX, UIS,

Konfiguracja i dostrojenie PGA • rozmiar globalnej populacji • krzyżowanie : SPPX, CEX, UIS, GPX • mutacja : Transposition, First Fit • selekcja : proporcjonalna Model M-S • liczba procesorów slave Model wyspowy • liczba wysp • schemat migracji • rozmiar migracji • częstość migracji

Badania symulacyjne • wyznaczenie optymalnej liczby procesorów slaves w modelu M-S • koszt najlepszego

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

Czas obliczeń równoległych jako funkcja liczby procesorów w modelu master-slave

Koszt najlepszych rozwiązań na izolowanych wyspach w funkcji liczby iteracji

Koszt najlepszych rozwiązań na izolowanych wyspach w funkcji liczby iteracji

Koszt najlepszego rozwiązania jako funkcja częstości migracji

Koszt najlepszego rozwiązania jako funkcja częstości migracji

Efektywność schematów migracji w modelu wyspowym PGA migration scheme graph vertices edges colors best

Efektywność schematów migracji w modelu wyspowym PGA migration scheme graph vertices edges colors best random none n n n David 87 406 11 77 121 114 Games 120 638 9 41 64 72 Myciel 7 191 2360 8 54 94 86 Queen 5 25 160 5 46 78 75 Mulsol. i. 4 185 3946 31 1004 1307 2680

Porównanie efektywności czterech operatorów krzyżowania

Porównanie efektywności czterech operatorów krzyżowania

Wnioski (I) 1. W modelu Master-Slave istnieją różne optymalne liczby procesorów slave zapewniające minimum

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.

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

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

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