Sunteți pe pagina 1din 39

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Bucuresti - Facultatea de Automatica si Calculatoare Algoritmi Algoritmi genetici genetici paraleli paraleli 1

AlgoritmiAlgoritmi geneticigenetici paraleliparaleli

Algoritmi Algoritmi genetici genetici paraleli paraleli 1 2 / 0 1 . 2 0 1 0

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Introducere

- Facultatea de Automatica si Calculatoare Introducere • Algoritmii genetici (AG): – reprezint ă o solu

• Algoritmii genetici (AG):

reprezintă 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 probleme

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

evaluarea populaţiei curente

– selecţia celor mai buni indivizi

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

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Domeniile de aplicare

de Automatica si Calculatoare Domeniile de aplicare • optimizarea parametrilor • control o p tim •

• optimizarea parametrilor

control optim

• transport

optimizare combinatorială

• desenare de grafuri

învăţare inductivă a regulilor de decizie

• stabilirea cablajelor

• planificarea

• jocuri, modelarea cognitivă

• optimizarea interogării bazelor de date.

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Vocabular

- Facultatea de Automatica si Calculatoare Vocabular • A G împ rumut ă vocabularul g eneticii:

• AG împrumută vocabularul geneticii:

– soluţiile sunt indivizi,

– mulţimea soluţiilor potenţiale reprezintă o populaţie

în reprezentarea soluţiilor apar gene (caractere)

• 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.

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Metode clasice de optimizare

de Automatica si Calculatoare Metode clasice de optimizare • Problema: – cau t area in tr

• Problema:

cautarea intr-un spatiu de siruri binare de 30 de biti, cu functia obiectiv:

f(v) = | 11*one(v)-150 |

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

– Functia f(v) are :

• un maxim global pentru v g = (1 1 1 1 …1), pentru care f(v g ) = 180

un maxim local pentru v = (0 0 0 f(v l ) = 150.

0) pentru care

,

l

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul hill climbing

de Automatica si Calculatoare Algoritmul hill climbing proce d ure hi llcl i mber begin t

procedure hillclimber begin t := 0 do t < MAX -> local := false selectează aleator sirul curent Vc evalueaza Vc do not local ->

gaseste Vn dintre vecinii cu cea mai mare valoare a functiei obiectiv F

if F(Vc) < F(Vn) ->

Vc := Vn

[] F(Vc) >= F(Vn) -> local := true

fi

od t := t+1

od end Obs: daca sirul de pornire are cel mult 13 unitati atunci se gaseste intotdeauna maximul local

12/01.2010

Algoritmi Paraleli si Distribuiti – Curs 14

6

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul hill climbing (2)

de Automatica si Calculatoare Algoritmul hill climbing (2) 12/01.2010 Algoritmi Paraleli si Distribuiti – Curs 14
de Automatica si Calculatoare Algoritmul hill climbing (2) 12/01.2010 Algoritmi Paraleli si Distribuiti – Curs 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul simulated annealing

de Automatica si Calculatoare Algoritmul simulated annealing proce d ure si mulated -a nneal i ng

procedure simulated-annealing begin t := 0 initializeaza temperatura T selecteaza aleator sirul curent Vc evalueaza Vc 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 fi

fi

od

T

:= g(T,t)

t

:= t+1

od

end

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul simulated annealing (2) Pentru problema sirurilor binare:

• daca v12 are 12 unitati:

bl ema s i rur il or bi nare: • daca v12 are 12 unitati: f(v

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

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

p = exp((f(Vn)-f(Vc))/T)

= exp((7-18)/T)

= 0.576 > 0.5

pentru T=20 .

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici

Facultatea de Automatica si Calculatoare Algoritmi genetici • AG p ă streaz ă o popula ţ

AG păstrează o populaţie de soluţii potenţiale • Legatura intre problema reala si cromozomi:

ţ iale • Legatura intre problema reala si cromozomi: – populatia – grup de cromozomi –

populatia – grup de cromozomi

codificarea 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 reproducere

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici (2)

de Automatica si Calculatoare Algoritmi genetici (2) procedure algoritm_genetic begin t := 0; creaza o

procedure algoritm_genetic begin t := 0; creaza o populatie initiala de cromozomi P(t); evalueaza fiecare cromozom al populatiei initiale. do t < MAX ot not conditie de terminare -> t := t+1; selecteaza parintii pentru reproducere; creaza noi cromozomi prin imperechere si mutatie; inlocuieste anumiti membri ai populatiei cu cei noi; evalueaza cromozomii din noua populatie

od

end

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici (3)

de Automatica si Calculatoare Algoritmi genetici (3) • Probl ema: – Dat fiind graful G =

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 minim 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 grafului

– o gena corespunde unui nod:

• 1 = nod in prima partitie

0 = nod in a doua partitie

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

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

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici (4)

de Automatica si Calculatoare Algoritmi genetici (4) 3. Selectia parintilor pt reproducere – strategia ruletei:

3. Selectia parintilor pt reproducere – strategia ruletei:

Constructia ruletei:

calculează eval(xi) pentru fiecare cromozom i = 1

sortează populatia în ordinea crescătoare a valorilor eval

asociază cu fiecare cromozom o valoare de “potrivire” f(xi) = max-fit - eval(xi)

pop-size

astfel că f(xi) > 0

p entru orice i = 1

o -size

p

p

calculează valorile de potrivire cumulative

cf(xi) = SUMA f(xj), j = 1 i

Selecţia:

generează un număr aleator rand în intervalul [o, cf-max] if rand < cf(x1) -> alege primul cromozom x1 fi

if cf(xi-1) < rand < cf (xi) -> alege xi fi

 

Exemplu selectie cromozomi

 

Cromozom

1

2

3

4

5

6

7

8

9

10

Potrivire

8

2

17

7

2

12

11

7

3

7

Potrivire cumulata

8

10

27

34

36

48

59

66

69

76

Numar aleator

23

49

76

13

1

27

57

 

Cromozom ales

3

7

10

3

1

3

7

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici (5)

de Automatica si Calculatoare Algoritmi genetici (5) 4. Reproducerea • Operatorul mutation   Apli carea

4. Reproducerea

• Operatorul mutation

 

Aplicarea operatorului mutation pentru probabilitatea 0.08

 

Cromozom vechi

 

10101

     

1

0

0

Probabilitate

 

0 80

 

0 11

0 27

0 45

0 12

0 05

0 15

0 03

. .

 

. .

.

.

.

.

Cromozom 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

 

1

Al doilea parinte

0

0

0

0

0

0

 

0

 

0

Primul fiu

1

1

1

1

1

1

 

0

 

0

Al doilea fiu

0

0

0

0

0

0

 

1

 

1

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici (6)

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

Aplicarea operatorului crossover pentru pozitiile 3 si 6

 

Primul parinte

1

1

1

 

111

 

1

1

Al doilea

p

arinte

0

0

0

0

0

0

0

0

Primul fiu

0

0

0

1

1

1

0

0

Al doilea fiu

1

1

1

0

0

0

1

1

Aplicarea operatorului crossover uniform

 

Primul parinte

1

1

1

1

1

1

1

1

Al doilea parinte

0

0

0

0

0

0

0

0

Probabilitati

1

0

     

010001

   

Primul fiu

1

0

0 1

 

0

0

0 1

 

Al doilea fiu

0

1

 

1 0

1

1

 

1 0

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Justificarea funcţionării algoritmilor genetici

Justificarea func ţ ion ă rii algoritmilor genetici • Schema – un ş ir construit cu

• 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 2 r şiruri

– un şir de lungime m poate fi pus în corespondenţă cu 2 m scheme

– există 3 m scheme posibile de lungime m

intr-o populaţie de dimensiune n pot fi reprezentate între 2 m şi n2 m scheme

• Proprietăţile schemelor

De el depinde probabilitatea de supravieţuire a schemei la mutaţii.
De el depinde probabilitatea de
supravieţuire a schemei la mutaţii.

Ordinul o(S) = numarul de pozitii fixe S1 = (010***11***1)

– Lungimea caracteristică (S) = distanţa între prima şi ultima poziţie fixă

are o(S1) = 6

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

(S1) = 11

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Evoluţia schemelor - Selectia

Automatica si Calculatoare Evolu ţ ia schemelor - Selectia • pop_size dimensiunea popula ţ iei •

pop_size dimensiunea populaţiei

m lungimea unui cromozom

• p = (S,t) numărul de şiruri v care cores und la momentul t cu schema S.

Potrivirea schemei S la momentul t:

ij

p

p

j 1

eval ( v )

ij

p

eval S t

(

, )

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

Şirul v i are probabilitatea de selectie conform ruletei:

p

i

eval ( v )

i

F ( t )

• Potrivirea totală:

( )

F t

pop size

i 1

eval v

(

i

)

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

• Numar de selectii este pop_size

• Rezulta:

eval ( S , t )

F (t )

(

S t

,

1)

S t

(

,

) *

pop size

_

*

eval S t )

(

,

F ( t )

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Evoluţia schemelor – Selectia (2)

si Calculatoare Evolu ţ ia schemelor – Selectia (2) eval ( S , t ) 
eval ( S , t )  ( S , t   S t
eval ( S , t
)
 ( S ,
t   S t
1)
(
,
) *
— — —
F ( t )

cu

— — —

( )

F t

F ( t )

pop size

_

potrivirea medie a populatiei

O schemă "peste medie" are

eval ( S , t )

— — —

F ( t )

1

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

Dacă

avem

sau

eval S t F t

(

,

)

S

1

( ) (1

S

)

* 1

( , t ) ( , t ) ( )

( S , t ) ( S ,0 ) * (1 )

t

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

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Evolutia schemelor - Încrucişarea

si Calculatoare Evolutia schemelor - Încruci ş area Fie ş irul (1110111101001) selectat pentru incrucisare ş

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

S 0 =(****111******), S 1 =(111********01),

( S 0 )=2 ( S 1 )=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 reproducere. lungimea caracteristică importanta în reproductibilitatea schemei

m-1 posibilităţi selectie loc de încrucişare

• probabilitatea de distrugere a schemei S este

• probabilitatea de supravieţuire

( S )

m 1

( S )

p

d

( S )

m 1

s

( S ) 1

p

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Evolutia schemelor – Încrucişarea (2)

si Calculatoare Evolutia schemelor – Încruci ş area (2) • cu p rob. de selectie p

• cu prob. de selectie pentru incrucisare p

c:

(

p S

s

1

)  

p *

c

( S )

m 1

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

(

p S

s

)

1

p

c

*

( S )

m 1

• efect combinat selectie & incrucisare:

(

S t

,

1)

(

S t

,

) *

eval S t )

(

,

— — —

F (t )

* (1

p

c

*

( S )

m 1

)

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Evolutia schemelor - Mutaţia

Automatica si Calculatoare Evolutia schemelor - Muta ţ ia • probabilitatea muta ţ iei unui singur

• probabilitatea mutaţiei unui singur bit este p m

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

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

p

s

(

)

S

• deoarece p m <<1:

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

p

s

(

S

)



1

p

* o( S )

m

(

S t

,

1)

(

S t

,

) *

eval S t )

(

,

— — —

F (t )

* (1

p

c

*

( S )

m 1

p

m

*

(1

p

o S

( ))

m

(

) o S

)

Teorema schemei. Schemele scurte, de ordin scăzut şi peste 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 ordin scăzut, de mare performaţă, numite blocuri constructive.

,

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Constrângerile în algoritmii genetici

si Calculatoare Constrângerile în algoritmii genetici • Metode: – penaliz ă ri pentru solutii ce nu

• Metode:

– penalizări pentru solutii ce nu respecta constrângeri

eliminarea soluţiilor necorespunzătoare

– aplicarea unor algoritmi de corecţie.

• Ex: problema rucsacului.

– date fiind o mulţime de ponderi W, profiturile asociate P şi capacitatea C a rucsacului, să se găsească un

vector binar X = <x 1 , x 2 ,

, x n > a.i.

x * w <= C

i = 1,n

i

i

i

ş

P(X) = i = 1 n x i * p i

,

este maxim.

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritm bazat pe penalizari

de Automatica si Calculatoare Algoritm bazat pe penalizari • Functia de evaluare: eval(X) =  i

• Functia de evaluare:

eval(X) = i = 1,n x i * p i

- Pen(X)

unde

Pen(X) = 0 pentru soluţiile fezabile şi Pen(X) 0 pentru soluţiile nefezabile (suma > C).

• Variante:

logaritmică,

– pătratică,

liniară,

Pen 1 (X) = log 2 (1 + (i=1n x i * w i - C))

Pen 2 (X) =

Pen 3 (X) = ((i = 1,n x i * w i - C)) 2

,

(i = 1,n x i * w i - C)

• unde = MAX i = 1,n { p i / w i }

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul bazat pe corecţia soluţiei

si Calculatoare Algoritmul bazat pe corec ţ ia solu ţ iei • Functia de evaluare: eval(X)

• Functia de evaluare:

eval(X) =

i = 1,n x' i * p i

– unde

X’ este versiunea corectată a lui X

procedure corectie (X) begin depasire := false X’ := X

if

i = 1,n

x’ * w > C -> de asire := true fi

i

i

p

do depasire -> i := selecteaza un element din sac scoate elementul x' i := 0 if i = 1,n x' i * w i <= C -> depasire := false fi

od

end

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul bazat pe decodificatori

si Calculatoare Algoritmul bazat pe decodificatori • Un cromozom este interpretat ca o strategie de a

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

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

• Ca efect,

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

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

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmul bazat pe decodificatori (2)

si Calculatoare Algoritmul bazat pe decodificatori (2) procedure decode (X) construieste o lista de elemente L

procedure decode (X)

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

j := xi

elimina elementul cu numarul de ordine j din L if suma-ponderi + wj <= C -> suma-ponderi := suma-ponderi + wj suma-profit := suma-profit + pj

od

end

fi

i

:= i+1

Variante pentru construieste aleator greedy - elementele în ordinea descrescătoare a rapoartelor p i / w i ;

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici paraleli

de Automatica si Calculatoare Algoritmi genetici paraleli • Abordari – paralelizarea operatorilor genetici –

• Abordari

paralelizarea operatorilor genetici

distribuirea populatiei.

• Paralelizarea operatorilor genetici

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 indivizilor

• crossover la doi indivizi

otrivit

p

p

entru memorie

artajata

p

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici paraleli (2)

Automatica si Calculatoare Algoritmi genetici paraleli (2) • Di str ib ui rea popu la ti

Distribuirea populatiei:

– corespunde descompunerii domeniului

– prelucrari facute in paralel pe diferite sub-populatii

– exploreaza mai bine spatiul solutiilor

– PGAs mentin sub-populatii separate care evolueaza independent => 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 ?
i

t

h

d

i

l

t

i

l

nc u

care es e sc ema

sub-populatia tinta ?

e

n ocu re pen ru

d

i

t

il

erea m gra or or

i

n

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Algoritmi genetici paraleli (2)

Automatica si Calculatoare Algoritmi genetici paraleli (2) • PGAs de granularitate mare : – Fiecare sub-populatie

• 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

– Indivizii migreaza periodic de la o sub-populatie la alta

• Synchronous Island PGAs

– migrarea are loc dupa un anumit numar de generatii

• 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?

– care este rata de migrare?

– cati migratori sunt inter-schimbati?

cum sunt selectati migratorii?

– cum sunt combinati cu populatia tinta?

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Asynchronous Island PGAs

de Automatica si Calculatoare Asynchronous Island PGAs • Modelul "replicated workers" 12/01.2010

• Modelul "replicated workers"

Island PGAs • Modelul "replicated workers" 12/01.2010 Algoritmi Paraleli si Distribuiti – Curs 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Bucuresti - Facultatea de Automatica si Calculatoare E xamen 12/01.2010 Algoritmi Paraleli si Distribuiti –

Examen

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Un model de subiect de examen la APD

si Calculatoare Un model de subiect de examen la APD Subiectul 1. ( 2 puncte) C

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)

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

P1

P2

P3

a c f b d e
a
c
f
b
d
e

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Subiectul 2. (1 punct)

de Automatica si Calculatoare Subiectul 2. (1 punct) Propuneti un algoritm de tip heartbeat pentru calculul

Propuneti un algoritm de tip heartbeat pentru calculul sumei a n 2 valori de tip intreg. Pentru aceasta folositi n 2 procese dispuse intr-o grila neperiodica. Deci, fiecare proces poate comunica cu vecinii de la est, vest, nord si sud (cu restrictiile de rigoare la margini). Fiecare proces detine initial o singura valoare v. In final fiecare proces va trebui sa detina valoarea sumei. Calculati complexitatea solutiei oferite.

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Bucuresti - Facultatea de Automatica si Calculatoare Su biec tul 3. (1 punc t) T ra

Subiectul 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) Descrierea algoritmului (0.4 p) Politici cu prioritate asupra cititorilor si asupra scriitorilor (0.4 p)

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Conditii Timp de lucru: 2 ore Fara documentatie

Conditii Timp de lucru: 2 ore Fara documentatie 12/01.2010 Algoritmi Paraleli si Distribuiti – Curs 14

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Hinturi de rezolvare

Subiectul 1. Ceasuri logice vectoriale (subiect tratat pe larg in cursul 8).

ice vectoriale ( subiect tratat p e lar g in cursul 8 ). 1.1 Conceptul general

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 deducerea relatiei cauzale a evenimentelor corespunzatoare.

1.2 Exemplul din figura

Vezi exemplul de la curs

1.3 Aplicatie

Specificarea: descrierea dependentei cauzale a mesajelor; atentie la notiunea de livrare a mesajelor! Solutia: Descrierea operatiilor; nu trebuie uitata livrarea mesajelor.

P1

P2

P3

a c f b d e
a
c
f
b
d
e

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Subiectul 2. (1 punct)

de Automatica si Calculatoare Subiectul 2. (1 punct) Algoritmi de tip heartbeat au fost ilustrati pentru

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

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

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Bucuresti - Facultatea de Automatica si Calculatoare Su biec tul 3. Problema 3.1 – (cursul 5)

Subiectul 3.

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

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

exemplificare pe pseudocod.

politicilor

de

prioritate

cu

Universitatea Politehnica Bucuresti - Facultatea de Automatica si Calculatoare

Observatii:

- Facultatea de Automatica si Calculatoare Observatii: • Punctajul este afisat pe site (plus actualizarea de

• Punctajul este afisat pe site (plus actualizarea de astazi nelamuriri?) • Nu aveti voie sa veniti cu alta grupa decat cu aprobarea mea (pentru probleme speciale contactati-ma)

Pentru nelamuriri, documentatie/explicatii suplimentare – open office, EG303, ciprian.dobre@cs.pub.ro

PPozaoza ddee grupgrup