Kraków, 28 II 2005

Post on 12-Feb-2016

67 views 0 download

description

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 - PowerPoint PPT Presentation

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