Kraków, 28 II 2005

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

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

Page 1: 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

Page 2: Kraków,  28 II 2005

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Program symulacyjny PGA_for_GCP

Page 18: Kraków,  28 II 2005

• 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

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

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

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

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

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

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

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

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

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

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