+ All Categories
Home > Documents > APD - Prezentari Curs - 14

APD - Prezentari Curs - 14

Date post: 23-Jun-2015
Category:
Upload: ssh-das
View: 259 times
Download: 5 times
Share this document with a friend
39
Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare Algoritmi Algoritmi genetici genetici paraleli paraleli 12/01.2010 Algoritmi Paraleli si Distribuiti – Curs 14 1
Transcript
Page 1: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

AlgoritmiAlgoritmi geneticigenetici paraleliparaleli

12/01.2010 Algoritmi Paraleli si Distribuiti – Curs 14 1

Page 2: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Introducere

• Algoritmii genetici (AG): – reprezintă o soluţie a problemelor de optimizarereprezintă o soluţie a problemelor de optimizare– bazati pe mecanisme împrumutate din genetică.

• Un AG:– menţine o populaţie de indivizi, – fiecare individ reprezinta o soluţie potenţială a unei

blprobleme• AG realizeaza, în fiecare etapă, următoare operaţii:

evaluarea populaţiei curente– evaluarea populaţiei curente– selecţia celor mai buni indivizi– transformarea populaţiei folosind operatori genetici de

Algoritmi Paraleli si Distribuiti – Curs 14 2

transformarea populaţiei folosind operatori genetici de încrucişare şi mutaţie.

12/01.2010

Page 3: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Domeniile de aplicare

• optimizarea parametrilor• control optim• control optim• transport• optimizare combinatorială• optimizare combinatorială• desenare de grafuri

învăţare inductivă a regulilor de decizie• învăţare inductivă a regulilor de decizie• stabilirea cablajelor

l ifi• planificarea• jocuri, modelarea cognitivă

Algoritmi Paraleli si Distribuiti – Curs 14 3

• optimizarea interogării bazelor de date.

12/01.2010

Page 4: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Vocabular

• AG împrumută vocabularul geneticii: p g– soluţiile sunt indivizi, – mulţimea soluţiilor potenţiale reprezintă o populaţie– în reprezentarea soluţiilor apar gene (caractere)p ţ p g ( )

• Un AG are următoarele componente:– o reprezentare genetică a soluţiilor– o cale de generare a primei populaţii– o funcţie de evaluare a “calităţii” soluţiilor– operatori genetici– valori pentru parametri - dimensiunea populaţiei, probabilitatea aplicării

operatorilor genetici.

Algoritmi Paraleli si Distribuiti – Curs 14 412/01.2010

Page 5: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Metode clasice de optimizare

• Problema:t i t ti d i i bi d 30– cautarea intr-un spatiu de siruri binare de 30

de biti, cu functia obiectiv: f( ) | 11*one( ) 150 |f(v) = | 11*one(v)-150 |

– unde one(v) este numarul de unitati din vectorul binar vvectorul binar v.

– Functia f(v) are :• un maxim global pentru v = (1 1 1 1 1) pentru• un maxim global pentru vg = (1 1 1 1 …1), pentru

care f(vg) = 180

• un maxim local pentru vl = (0 0 0 …0), pentru care

Algoritmi Paraleli si Distribuiti – Curs 14 5

un maxim local pentru vl (0 0 0 …0), pentru care f(vl) = 150.

12/01.2010

Page 6: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul hill climbingd i iprocedure hillclimber

begint := 0do t < MAX >do t < MAX ->

local := falseselectează aleator sirul curent Vcevalueaza Vcevalueaza Vcdo not local ->

gaseste Vn dintre vecinii cu cea mai mare valoare a functiei obiectiv Fif F(Vc) < F(Vn) -> Vc := Vn[] F(Vc) >= F(Vn) -> local := truefi

dod t := t+1

od end

Algoritmi Paraleli si Distribuiti – Curs 14 6

endObs: daca sirul de pornire are cel mult 13 unitati atunci se gaseste

intotdeauna maximul local12/01.2010

Page 7: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul hill climbing (2)

Algoritmi Paraleli si Distribuiti – Curs 14 712/01.2010

Page 8: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul simulated annealingd i iprocedure simulated-annealing

begint := 0initializeaza temperatura Tinitializeaza temperatura Tselecteaza aleator sirul curent Vcevalueaza Vcdo not cond-stop ->do not cond stop >

do not cond-terminare ->selecteaza un nou sir Vn vecin cu Vc if F(Vc) < F(Vn) -> Vc := Vn[] F(Vc) >= F(Vn) ->

if random[0,1)< exp((F(Vn)-F(Vc))/T)-> Vc:=Vn fifidod

T := g(T,t)t := t+1

od

Algoritmi Paraleli si Distribuiti – Curs 14 8

od end

12/01.2010

Page 9: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul simulated annealing (2)P bl i il biPentru problema sirurilor binare:• daca v12 are 12 unitati:

f(v12) = |11*12 – 150| = 18f(v13) = |11*13 – 150| = 7

• Algoritmul accepta o noua solutie cu 13 unitati cu probabilitatea:probabilitatea:

p = exp((f(Vn)-f(Vc))/T) = exp((7-18)/T)= exp((7 18)/T) = 0.576 > 0.5

pentru T=20.

Algoritmi Paraleli si Distribuiti – Curs 14 9

pentru T 20.

12/01.2010

Page 10: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici

• AG păstrează o populaţie de soluţii potenţialepotenţiale

• Legatura intre problema reala si cromozomi:cromozomi:– populatia – grup de cromozomi– codificarea solutiei in cromozomicodificarea solutiei in cromozomi– functii de evaluare a cromozomilor, pentru a

avea o masura a calitatii fiecarui cromozom– potrivirea ("conditia fizica" a) cromozomului,

care va fi luata in considerare in procesul de d

Algoritmi Paraleli si Distribuiti – Curs 14 10

reproducere

12/01.2010

Page 11: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici (2)

procedure algoritm_geneticbegin

t := 0;creaza o populatie initiala de cromozomi P(t);evalueaza fiecare cromozom al populatiei initiale.evalueaza fiecare cromozom al populatiei initiale.do t < MAX ot not conditie de terminare ->

t := t+1;l t i tii t dselecteaza parintii pentru reproducere;

creaza noi cromozomi prin imperechere si mutatie;inlocuieste anumiti membri ai populatiei cu cei noi;evalueaza cromozomii din noua populatie

odend

Algoritmi Paraleli si Distribuiti – Curs 14 11

end

12/01.2010

Page 12: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

P blAlgoritmi genetici (3)

• Problema:– Dat fiind graful G = (V, E) să se găsească o partiţionare a sa în două

subgrafuri având acelaşi număr de noduri, prin eliminarea unui număr i i d hiiminim de muchii.

• Problema este NP completă.• Rezolvare cu alg genetici:

– soluţia reprezentată ca un vector cu elemente binare, de dimensiune egală cu numărul nodurilor din graf

– un cromozom codifica o posibila partitionare a grafuluip p g– o gena corespunde unui nod:

• 1 = nod in prima partitie • 0 = nod in a doua partitie• 0 = nod in a doua partitie

1. Evaluarea solutiei: eval(x) = cutsize(x)2. Generarea populatiei initiale:

Algoritmi Paraleli si Distribuiti – Curs 14 12

– aleator cu corectii (orice cromozom sa aiba acelasi numar de 0 si 1 (±1) )

12/01.2010

Page 13: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici (4)3. Selectia parintilor pt reproducere – strategia ruletei:Constructia ruletei:calculează eval(xi) pentru fiecare cromozom i = 1..pop-size

Selecţia:generează un număr aleator rand în intervalul ( ) p p p

sortează populatia în ordinea crescătoare a valorilor evalasociază cu fiecare cromozom o valoare de “potrivire”

f(xi) = max-fit - eval(xi)astfel că f(xi) > 0 pentru orice i = 1 pop-size

g[o, cf-max]if rand < cf(x1) -> alege primul cromozom x1 fi

if cf(xi-1) < rand < cf (xi) -> alege xi fiastfel că f(xi) > 0 pentru orice i = 1..pop-size

calculează valorile de potrivire cumulativecf(xi) = SUMA f(xj), j = 1..i

Exemplu selectie cromozomiExemplu selectie cromozomiCromozom 1 2 3 4 5 6 7 8 9 10

Potrivire 8 2 17 7 2 12 11 7 3 7Potrivire cumulata 8 10 27 34 36 48 59 66 69 76

Numar aleator 23 49 76 13 1 27 57

Algoritmi Paraleli si Distribuiti – Curs 14 13

Numar aleator 23 49 76 13 1 27 57Cromozom ales 3 7 10 3 1 3 7

12/01.2010

Page 14: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici (5)4. Reproducerea• Operatorul mutation

A li t l i t ti t b bilit t 0 08Aplicarea operatorului mutation pentru probabilitatea 0.08Cromozom vechi 1 0 1 0 1 1 0 0Probabilitate 0 80 0 11 0 27 0 45 0 12 0 05 0 15 0 03

• Operatorul de încrucişare (crossover)

Probabilitate 0.80 0.11 0.27 0.45 0.12 0.05 0.15 0.03Cromozom nou 1 0 1 0 1 0 0 1

Operatorul de încrucişare (crossover)

Aplicarea operatorului crossover intr-un punct (6)Primul parinte 1 1 1 1 1 1 1 1Al doilea parinte 0 0 0 0 0 0 0 0

Primul fiu 1 1 1 1 1 1 0 0

Algoritmi Paraleli si Distribuiti – Curs 14 14

Primul fiu 1 1 1 1 1 1 0 0Al doilea fiu 0 0 0 0 0 0 1 1

12/01.2010

Page 15: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici (6)Aplicarea operatorului crossover pentru pozitiile 3 si 6

Primul parinte 1 1 1 1 1 1 1 1Al doilea parinte 0 0 0 0 0 0 0 0Al doilea parinte 0 0 0 0 0 0 0 0

Primul fiu 0 0 0 1 1 1 0 0Al doilea fiu 1 1 1 0 0 0 1 1

Aplicarea operatorului crossover uniformP i l i t 1 1 1 1 1 1 1 1Primul parinte 1 1 1 1 1 1 1 1Al doilea parinte 0 0 0 0 0 0 0 0

Probabilitati 1 0 0 1 0 0 0 1

Primul fiu 1 0 0 1 0 0 0 1

Algoritmi Paraleli si Distribuiti – Curs 14 15

Primul fiu 1 0 0 1 0 0 0 1Al doilea fiu 0 1 1 0 1 1 1 0

12/01.2010

Page 16: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Justificarea funcţionării algoritmilor genetici

• Schema– un şir construit cu simbolurile 0, 1 şi * (don't care)– o schemă reprezintă toate şirurile care coincid cu ea în poziţiile

diferite de *– o schemă cu r simboluri * are drept corespondente 2r şiruri– un şir de lungime m poate fi pus în corespondenţă cu 2m scheme– există 3m scheme posibile de lungime m– intr-o populaţie de dimensiune n pot fi reprezentate între 2m şiintr o populaţie de dimensiune n pot fi reprezentate între 2 şi

n2m scheme

• Proprietăţile schemelorOrdin l o(S) n mar l de po itii fi e

De el depinde probabilitatea de s pra ieţ ire a schemei la m taţii– Ordinul o(S) = numarul de pozitii fixe

S1 = (010***11***1) are o(S1) = 6– Lungimea caracteristică (S) = distanţa între prima şi ultima

supravieţuire a schemei la mutaţii.

Algoritmi Paraleli si Distribuiti – Curs 14 16

poziţie fixă(S1) = 11

De ea depinde probabilitatea de supravieţuire a schemei la încrucişări.

12/01.2010

Page 17: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Evoluţia schemelor - Selectia• pop_size dimensiunea populaţiei • m lungimea unui cromozom• p = (S t) numărul de şiruri vij care corespund la momentul t cup = (S,t) numărul de şiruri vij care corespund la momentul t cu

schema S. • Potrivirea schemei S la momentul t:

p

j

ij

pveval

tSeval1

)(),(

Media potrivirilor şirurilor din populaţia reprezentată de S

• Şirul vi are probabilitatea de selectie conform ruletei:

j p1

)()(

tFveval

p ii

sizepop

Media potrivirilor şirurilor din populaţia reprezentată de S.

• Potrivirea totală:

• Probabilitatea de selecţie a unui şir care corespunde schemei S =

i

ivevaltF1

)()(

),( tSevalţ ş p

• Numar de selectii este pop_size• Rezulta:

)( tSeval

)(tF

Algoritmi Paraleli si Distribuiti – Curs 14 17

)(),(*_*),()1,(

tFtSevalsizepoptStS

12/01.2010

Page 18: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Evoluţia schemelor – Selectia (2)

———)(

),(*),()1,(tF

tSevaltStS

sizepoptFtF

_)()(

———cu potrivirea medie a populatiei

1),( tSevalO schemă "peste medie" are

i i t ă i d i di i i î l ţi

1)(

),(——— tF

si primeşte un număr mai mare de indivizi în noua populaţie.

Dacă

avem )1(*)()1( tStS)1()(),(

____ tFtSeval

avem

sau

)1(),()1,( tStStStS )1(*)0,(),(

Algoritmi Paraleli si Distribuiti – Curs 14 18

numărul de indivizi este în creştere conform unei progresii geometrice.12/01.2010

Page 19: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Evolutia schemelor - Încrucişarea

Fie şirul (1110111101001) selectat pentru incrucisare şi doua scheme care ii corespund:ş p

S0=(****111******), ( S0)=2S1=(111********01), ( S1)=12

Dacă poziţia de tăiere = 10, schema S0 se regăseşte într-unul din fii, în timp ce schema S1 are şanse foarte reduse de reproducerede reproducere.

lungimea caracteristică importanta în reproductibilitatea schemei

• m-1 posibilităţi selectie loc de încrucişare• probabilitatea de distrugere a schemei S este 1

)()(

m

SSpd

)(S

Algoritmi Paraleli si Distribuiti – Curs 14 19

• probabilitatea de supravieţuire1)(1)(

mSSps

12/01.2010

Page 20: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Evolutia schemelor – Încrucişarea (2)

• cu prob. de selectie pentru incrucisare pc: 1)(*1)(

SpSp cs

p p pc:

• deoarece se pot combina indivizi aparţinând unor scheme

1)(

mpp cs

deoarece se pot combina indivizi aparţinând unor scheme comune:

1)(*1)(

mSpSp cs

• efect combinat selectie & incrucisare:

1m

)1)(*1(*

)(

),(*),()1,( ———

mSp

tF

tSevaltStS c

Algoritmi Paraleli si Distribuiti – Curs 14 20

)(tF

12/01.2010

Page 21: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Evolutia schemelor - Mutaţia• probabilitatea mutaţiei unui singur bit este pm

• probabilitatea nemodificării sale este (1- pm).

• probabilitate ca o schemă S să supravieţuiască unei mutaţii:• probabilitate ca o schemă S să supravieţuiască unei mutaţii:

• deoarece pm<<1:

)()1()( Soms pSp

)(*1)( SompSsp

• efectul combinat al selecţiei, încrucişării şi mutaţiei este

))(*1)(*1(*

)(

),(*),()1,( ——— Sopm

SpF

tSevaltStS mc

• Teorema schemei. Schemele scurte, de ordin scăzut şi peste medie cresc exponenţial de-a lungul generaţiilor unui algoritm

1)( mtF

medie cresc exponenţial de a lungul generaţiilor unui algoritm genetic.

• Ipoteza blocurilor constructive. Un algoritm genetic atinge performaţe aproape optime prin juxtapunerea unor scheme scurte de

Algoritmi Paraleli si Distribuiti – Curs 14 21

performaţe aproape optime prin juxtapunerea unor scheme scurte, de ordin scăzut, de mare performaţă, numite blocuri constructive.

12/01.2010

Page 22: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Constrângerile în algoritmii genetici• Metode:

– penalizări pentru solutii ce nu respecta constrângeri– eliminarea soluţiilor necorespunzătoare– eliminarea soluţiilor necorespunzătoare– aplicarea unor algoritmi de corecţie.

E bl l i• Ex: problema rucsacului. – date fiind o mulţime de ponderi W, profiturile asociate

P şi capacitatea C a rucsacului, să se găsească un p gvector binar X = <x1, x2, ..., xn> a.i.

i 1 xi * wi <= C şi i = 1,n xi wi < C şi

P(X) = i = 1 n xi * pi este maxim.

Algoritmi Paraleli si Distribuiti – Curs 14 22

( ) i 1,n i pi

12/01.2010

Page 23: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritm bazat pe penalizari

• Functia de evaluare: eval(X) = i = 1,n xi * pi - Pen(X)– unde Pen(X) = 0 pentru soluţiile fezabile şiunde Pen(X) = 0 pentru soluţiile fezabile şi

Pen(X) ≠ 0 pentru soluţiile nefezabile (suma > C).

• Variante:– logaritmică, Pen1(X) = log2 (1 + ( i = 1 n xi * wi - C))g , 1( ) g2 ( ( i = 1,n i i ))

– liniară, Pen2(X) = ( i = 1,n xi * wi - C)

– pătratică, Pen3(X) = ( ( i = 1,n xi * wi - C))2

d MAX { / }

Algoritmi Paraleli si Distribuiti – Curs 14 23

• unde = MAX i = 1,n { pi / wi}

12/01.2010

Page 24: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul bazat pe corecţia soluţiei

• Functia de evaluare: eval(X) = i = 1,n x'i * pi– unde X’ este versiunea corectată a lui X

procedure corectie (X)begin

depasire := falseX’ := X

if i x’i * wi > C -> depasire := true fiif i = 1,n x i wi > C > depasire : true fido depasire ->

i := selecteaza un element din sac0scoate elementul x'i := 0

if i = 1,n x'i * wi <= C -> depasire := false fiod

Algoritmi Paraleli si Distribuiti – Curs 14 24

end

12/01.2010

Page 25: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul bazat pe decodificatori

• Un cromozom este interpretat ca o strategie de a incorpora elemente într-o soluţie.

• Fiecare cromozom este un vector de n întregi• Fiecare cromozom este un vector de n întregi. • Componenta i a vectorului

– este un întreg din domeniul 1..n-i+1– indică poziţia unui element al unei liste L– elementele selectate sunt eliminate din lista.

• Exemplu:– fie L = (1,2,3,4,5,6). – Vectorul <4,3,4,1,1,1> este decodificat ca secvenţa 4, 3, 6, 1, 2, 5. – 6 este al 4-lea element după eliminarea lui 4 şi a lui 3– 6 este al 4-lea element după eliminarea lui 4 şi a lui 3

• Ca efect, – la mutaţie, gena i poate lua orice valoare între 1 şi n-i+1,

î i ă i i i d d d i i

Algoritmi Paraleli si Distribuiti – Curs 14 25

– încrucişarea unor părinţi corecţi produce descendenţi corecţi.

12/01.2010

Page 26: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul bazat pe decodificatori (2)procedure decode (X)

construieste o lista de elemente Li := 1suma ponderi : 0suma-ponderi := 0suma-profit := 0do i <= n ->

j := xij : xielimina elementul cu numarul de ordine j din Lif suma-ponderi + wj <= C ->

suma-ponderi := suma-ponderi + wjsuma-profit := suma-profit + pj

fii := i+1

odend

Variante pentru construiestel taleator

greedy - elementele în ordinea descrescătoare a rapoartelor pi / wi;Algoritmi Paraleli si Distribuiti – Curs 14 2612/01.2010

Page 27: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici paraleli• Abordari

– paralelizarea operatorilor geneticidi t ib i l ti i– distribuirea populatiei.

• Paralelizarea operatorilor genetici– partitionare functionala: paralelizarea buclei care– partitionare functionala: paralelizarea buclei care

produce noua generatie– se mentine o singura populatie– operatorii genetici sunt aplicati in paralel:

• functia de potrivire si mutatia aplicate in paralel i di i ilindivizilor

• crossover la doi indivizi– potrivit pentru memorie partajata

Algoritmi Paraleli si Distribuiti – Curs 14 27

potrivit pentru memorie partajata

12/01.2010

Page 28: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Di t ib i l ti iAlgoritmi genetici paraleli (2)

• Distribuirea populatiei:– corespunde descompunerii domeniului – prelucrari facute in paralel pe diferite sub-populatiip p p p p– exploreaza mai bine spatiul solutiilor– PGAs mentin sub-populatii separate care evolueaza independent

=> granularitatea algoritmilor paraleli=> granularitatea algoritmilor paraleli• PGAs de granularitate fina:

– Asigneaza un individ fiecarui task / procesor– Fiecare task foloseste indivizi din vecinatatea sa– Ajuta migrarea indivizilor

• Intrebari: – care este tolopogia de inter-conectare ?– care este dimensiunea vecinatatii ?– care este schema de inlocuire pentru includerea migratorilor in

Algoritmi Paraleli si Distribuiti – Curs 14 28

– care este schema de inlocuire pentru includerea migratorilor in sub-populatia tinta ?

12/01.2010

Page 29: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici paraleli (2)• PGAs de granularitate mare:

– Fiecare sub-populatie contine un numar mare de indivizi– AG se executa independent pe fiecare sub-populatie si produce o solutie a problemei

Rezultatul final este obtinut prin selectia celei mai bune solutii– Rezultatul final este obtinut prin selectia celei mai bune solutii– Indivizii migreaza periodic de la o sub-populatie la alta

• Synchronous Island PGAs– migrarea are loc dupa un anumit numar de generatiig p g

• Asynchronous Island PGAs– migrarea intre doua sub-populatii nu este corelata cu restul migrarilor– mai aproape de migrarea din natura– mai potrivita cu algoritmi distribuiti

• Intrebari– care este topologia proceselor?

este reteaua omogena sau nu?– este reteaua omogena sau nu? – care este rata de migrare? – cati migratori sunt inter-schimbati? – cum sunt selectati migratorii?

Algoritmi Paraleli si Distribuiti – Curs 14 29

g– cum sunt combinati cu populatia tinta?

12/01.2010

Page 30: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Asynchronous Island PGAs

• Modelul "replicated workers"

Algoritmi Paraleli si Distribuiti – Curs 14 3012/01.2010

Page 31: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

EExamen

Algoritmi Paraleli si Distribuiti – Curs 14 3112/01.2010

Page 32: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Un model de subiect de examen la APD

Subiectul 1 (2 puncte) Ceasuri logice vectoriale Tratati:Subiectul 1. (2 puncte) Ceasuri logice vectoriale. Tratati:1.1 Conceptul general (0.7 p)

Motivatia folosirii ceasurilor logice: de ce este nevoie de ele (ce aduce nou fata de alte metode).

Principiul ceasurilor logice vectoriale. 1.2 Pentru procesele din figura, precizati vectorii de timp asociati

evenimentelor specificate. Axele orizontale reprezinta timpul. (0.3 p)1 3 Aplicatie - ordonarea cauzala multicast (1 p)1.3 Aplicatie - ordonarea cauzala multicast. (1 p)

Specificarea problemei.Solutia, cu descrierea actiunilor la trimiterea, receptia si livrarea mesajelor.

P1 a c

P2 f b

Algoritmi Paraleli si Distribuiti – Curs 14 32

P3d e

12/01.2010

Page 33: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Subiectul 2. (1 punct)

Propuneti un algoritm de tip heartbeat pentru calculul sumei a n2 valoride tip intreg. Pentru aceasta folositi n2 procese dispuse intr-ogrila neperiodica. Deci, fiecare proces poate comunica cu veciniide la est, vest, nord si sud (cu restrictiile de rigoare la margini).Fiecare proces detine initial o singura valoare v. In final fiecare

t b i d ti l i C l l tiproces va trebui sa detina valoarea sumei. Calculaticomplexitatea solutiei oferite.

Algoritmi Paraleli si Distribuiti – Curs 14 3312/01.2010

Page 34: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

S bi t l 3 (1 t) T t ti l di bi t l t l lSubiectul 3. (1 punct) Tratati unul din subiectele urmatoare, la alegere:

3.1. Cautarea paralela. Prezentarea problemei (0.2 p)Descrierea algoritmului (0.4 p) Analiza complexitatii (0.4 p)

3.2. Problema cititorilor si scriitorilor Prezentarea problemei (0.2 p) e e ta ea p ob e e (0 p)Descrierea algoritmului (0.4 p) Politici cu prioritate asupra cititorilor si asupra scriitorilor (0.4 p)

Algoritmi Paraleli si Distribuiti – Curs 14 3412/01.2010

Page 35: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

ConditiiTimp de lucru: 2 oreFara documentatie

Algoritmi Paraleli si Distribuiti – Curs 14 3512/01.2010

Page 36: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Hinturi de rezolvareSubiectul 1. Ceasuri logice vectoriale (subiect tratat pe larg in cursul 8). g ( p g )1.1 Conceptul general

Motivatia: cu solutia Lamport, din amprentele logice nu se poate deduce ordinea evenimentelor. Justificare, eventual pe un exemplu.

Principiul: rolul vectorilor V(i) si modul de actualizare; compararea vectorilor si p ( ) ; pdeducerea relatiei cauzale a evenimentelor corespunzatoare.

1.2 Exemplul din figuraVezi exemplul de la curs

1.3 Aplicatie1.3 AplicatieSpecificarea: descrierea dependentei cauzale a mesajelor; atentie la notiunea de

livrare a mesajelor! Solutia: Descrierea operatiilor; nu trebuie uitata livrarea mesajelor.

P1 a c

P2 f b

P3d e

12/01.2010

Page 37: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Subiectul 2. (1 punct)

Algoritmi de tip heartbeat au fost ilustrati pentru mai multe probleme sidiverse topologii, de ex. in stabilirea topologiei (cursul 10) sau cailustrare a algoritmilor unda (cursul 9). Pentru problema de fatase cere o solutie, nu neaparat optima. Trebuie asigurat ca:

fiecare proces insumeaza toate valorileo valoare nu este considerata de mai multe ori.

12/01.2010

Page 38: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

S bi t l 3Subiectul 3.

Problema 3.1 – (cursul 5)Problema 3.2 – (cursul 4 – si tema de casa)

La ambele probleme:La ambele probleme:la descrierea algoritmului se acorda punctaj maxim (0.4 p) pentru o

descriere coerenta in pseudocod.

La problema 3.2:punctaj maxim pentru analiza detaliata a politicilor de prioritate cu

exemplificare pe pseudocod.exemplificare pe pseudocod.

12/01.2010

Page 39: APD - Prezentari Curs - 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Observatii:

• Punctajul este afisat pe site (plus actualizarea de astazi – nelamuriri?)actualizarea de astazi – nelamuriri?)

• Nu aveti voie sa veniti cu alta grupa decatcu aprobarea mea (pentru problemecu aprobarea mea (pentru problemespeciale contactati-ma)

• Pentru nelamuriri documentatie/explicatiiPentru nelamuriri, documentatie/explicatiisuplimentare – open office, EG303, [email protected] @ p

• …Poza dePoza de grupgrupPoza de Poza de grupgrup

12/01.2010


Recommended