SlideShare a Scribd company logo
1 of 6
Proiect realizat de Gratii Silvia
Metoda Greedy este una dintre cele mai directe tehnici de
proiectare a algoritmilor care poate fi aplicată la o gamă largă
de probleme. În general, această metodă se aplică
problemelor de optimizare. Majoritatea acestor probleme
constau în determinarea unei submulţimi B, a unei mulţimi A
cu n elementecare să îndeplinească anumite condiţii pentru a
fi acceptată. Orice astfel de submulţime care respectă
aceste restricţii se numeşte soluţie posibilă.
Din mulţimea tuturor soluţiilor posibile se doreşte
determinarea unei soluţii care maximizează sau minimizează
o funcţie de cost. O soluţie posibilă care
realizează acest lucru se numeşte soluţie optimă.
Considerăm că soluţiile posibile au următoarea proprietate:
dacă B este o soluţie posibilă, atunci orice submulţime a sa
este soluţie posibilă.Specificul acestei metode constă în
faptul că se construieşte soluţia optimă pas cu pas, la
fiecare pas fiind selectat (sau "înghiţit") în soluţie elementul
care pare "cel mai bun" la momentul respectiv, însperanţa că
va duce la soluţia optimă globală.
Se dă o mulţime A cu n elemente şi se cere să se determine o submulţime
a sa(B) caresatisface anumite restricţii. Această submulţime se
numeştesoluţie posibilă . Se cere săse determine o soluţie posibilă care fie
să maximizeze fie să minimizeze o anumită funcţie obiectiv dată. Această
soluţie posibilă se numeşte soluţie optimă .Metoda Greedy lucrează în
paşi astfel.
 1 Se iniţializează mulţimea soluţiilor (B) la mulţimea vidă (B=Φ).
 2 Se alege un anumit element x ∈ A.
 3 Se verifică dacă elementul ales poate fi adăugat la mulţimea
soluţiilor, dacă daatunci va fi adăugat (B=B ∪{x }).
 4 Procedeul continuă astfel, repetitiv, până când au fost determinate toate
elementeledin mulţimea soluţiilor
Observaţie. Metoda Greedy nu caută să determine toate soluţiile posibile
( care ar putea fi prea numeroase) şi apoi să aleagă din ele pe cea optimă,
ci caută să introducădirect un element x în soluţia optimă.
Schema generală a unui algoritm bazat pe
metoda Greedy poate fi redată cu ajutorul
unui ciclu:
while ExistaElemente do
begin
AlegeUnElement (x);
IncludeElementul (x);
end
 Într-o sală,într-o zi trebuie planificate n
activităţi, pentru fiecare activitate se
cunoaşte intervalul încare se
desf ăşoar ă [s, f). Se cere să se planifice
un numă r maxim de activităţ i astfel încât
să nu se suprapună.
 Rezolvare:
Program Activitati;
uses crt;
const max=100;
var n,i,j,aux:integer;
s,f: array [1..max] of integer;
sol:array [1..max] of 0..1;
nsol, finish:integer;
begin
write('Nr de activitati = '); readln(n);
for i:=1 to n do
begin
writeln('Activitatea nr.',i,':');
write('Start = '); readln(s[i]);
write('Finish = ');
readln(f[i]);sol[i]:=0;
end ;
for i := 1 to n-1 do
for j := i + 1 to n do
if ( f[i] > f[j]) then
begin
aux:=s[i]; s[i]:=s[j];
s[j]:=aux;aux:=f[i]; f[i]:=f[j]; f[j]:=aux;
end;
finish := 0;
for i := 1 to n do
if (s[i] >= finish ) then
begin
sol[i]:=1;finish := f[i];
end ;
('Solutie:'); j := 1;
for i := 1 to n do
if sol[i]=1 then
begin
writeln('Activitatea nr. ',j,': ',s[i], ' - '
,f[i]); j := j + 1;
end;
end.

More Related Content

What's hot (20)

Metoda greedy
Metoda greedyMetoda greedy
Metoda greedy
 
Metoda greedy
Metoda greedyMetoda greedy
Metoda greedy
 
Metoda greedy(1)
Metoda greedy(1)Metoda greedy(1)
Metoda greedy(1)
 
Metoda greedy(1)
Metoda greedy(1)Metoda greedy(1)
Metoda greedy(1)
 
Catalina metgreedy
Catalina metgreedyCatalina metgreedy
Catalina metgreedy
 
Tehnica greedy
Tehnica greedyTehnica greedy
Tehnica greedy
 
Tema
TemaTema
Tema
 
Metoda greedy.a
Metoda greedy.aMetoda greedy.a
Metoda greedy.a
 
Metoda greedy (1)
Metoda greedy (1)Metoda greedy (1)
Metoda greedy (1)
 
Metoda greedy
Metoda greedyMetoda greedy
Metoda greedy
 
Metoda greedy223
Metoda greedy223Metoda greedy223
Metoda greedy223
 
Informat
InformatInformat
Informat
 
Metoda greedy
Metoda greedyMetoda greedy
Metoda greedy
 
Inf-Mt
Inf-MtInf-Mt
Inf-Mt
 
Inform
InformInform
Inform
 
Metoda trierii
Metoda trieriiMetoda trierii
Metoda trierii
 
RH
RHRH
RH
 
MCI
MCIMCI
MCI
 
Metoda trierii
Metoda trieriiMetoda trierii
Metoda trierii
 
Metoda Trierii
Metoda TrieriiMetoda Trierii
Metoda Trierii
 

Viewers also liked (16)

Integrare numerică
Integrare numericăIntegrare numerică
Integrare numerică
 
integrare
integrareintegrare
integrare
 
Veronica botnarenco
Veronica botnarencoVeronica botnarenco
Veronica botnarenco
 
GH
GHGH
GH
 
Dreptunghiuri
DreptunghiuriDreptunghiuri
Dreptunghiuri
 
Integrarea numerică
Integrarea numericăIntegrarea numerică
Integrarea numerică
 
Integrarea numerica
Integrarea numericaIntegrarea numerica
Integrarea numerica
 
CatPadI
CatPadICatPadI
CatPadI
 
10690908 737125719676587 190185588_n
10690908 737125719676587 190185588_n10690908 737125719676587 190185588_n
10690908 737125719676587 190185588_n
 
Metode de calcul al integralei definite
Metode de calcul al integralei definiteMetode de calcul al integralei definite
Metode de calcul al integralei definite
 
Metodele de integrare
Metodele de integrareMetodele de integrare
Metodele de integrare
 
MbCat
MbCatMbCat
MbCat
 
McS
McSMcS
McS
 
MBR
MBRMBR
MBR
 
MB
MBMB
MB
 
Metoda bisecu021 biei
Metoda bisecu021 bieiMetoda bisecu021 biei
Metoda bisecu021 biei
 

More from Balan Veronica (19)

Inform
InformInform
Inform
 
aana
aanaaana
aana
 
Metoda0newton
Metoda0newtonMetoda0newton
Metoda0newton
 
Metoda-bisecției
Metoda-bisecțieiMetoda-bisecției
Metoda-bisecției
 
Metoda-coardei
Metoda-coardeiMetoda-coardei
Metoda-coardei
 
Metoda-newton(1)
Metoda-newton(1)Metoda-newton(1)
Metoda-newton(1)
 
newton
newtonnewton
newton
 
BD
BDBD
BD
 
pr
prpr
pr
 
PD
PDPD
PD
 
MN
MNMN
MN
 
Metoda-tangentei
Metoda-tangenteiMetoda-tangentei
Metoda-tangentei
 
Metoda-coardei
Metoda-coardeiMetoda-coardei
Metoda-coardei
 
Metoda-bisectiei
Metoda-bisectieiMetoda-bisectiei
Metoda-bisectiei
 
Metoda newton
Metoda newtonMetoda newton
Metoda newton
 
Metodatangentelorsaunewton
MetodatangentelorsaunewtonMetodatangentelorsaunewton
Metodatangentelorsaunewton
 
MN
MNMN
MN
 
Metoda coardelor(1)
Metoda coardelor(1)Metoda coardelor(1)
Metoda coardelor(1)
 
MBc
MBcMBc
MBc
 

Tehnica greedy(1)

  • 1. Proiect realizat de Gratii Silvia
  • 2. Metoda Greedy este una dintre cele mai directe tehnici de proiectare a algoritmilor care poate fi aplicată la o gamă largă de probleme. În general, această metodă se aplică problemelor de optimizare. Majoritatea acestor probleme constau în determinarea unei submulţimi B, a unei mulţimi A cu n elementecare să îndeplinească anumite condiţii pentru a fi acceptată. Orice astfel de submulţime care respectă aceste restricţii se numeşte soluţie posibilă. Din mulţimea tuturor soluţiilor posibile se doreşte determinarea unei soluţii care maximizează sau minimizează o funcţie de cost. O soluţie posibilă care realizează acest lucru se numeşte soluţie optimă. Considerăm că soluţiile posibile au următoarea proprietate: dacă B este o soluţie posibilă, atunci orice submulţime a sa este soluţie posibilă.Specificul acestei metode constă în faptul că se construieşte soluţia optimă pas cu pas, la fiecare pas fiind selectat (sau "înghiţit") în soluţie elementul care pare "cel mai bun" la momentul respectiv, însperanţa că va duce la soluţia optimă globală.
  • 3. Se dă o mulţime A cu n elemente şi se cere să se determine o submulţime a sa(B) caresatisface anumite restricţii. Această submulţime se numeştesoluţie posibilă . Se cere săse determine o soluţie posibilă care fie să maximizeze fie să minimizeze o anumită funcţie obiectiv dată. Această soluţie posibilă se numeşte soluţie optimă .Metoda Greedy lucrează în paşi astfel.  1 Se iniţializează mulţimea soluţiilor (B) la mulţimea vidă (B=Φ).  2 Se alege un anumit element x ∈ A.  3 Se verifică dacă elementul ales poate fi adăugat la mulţimea soluţiilor, dacă daatunci va fi adăugat (B=B ∪{x }).  4 Procedeul continuă astfel, repetitiv, până când au fost determinate toate elementeledin mulţimea soluţiilor Observaţie. Metoda Greedy nu caută să determine toate soluţiile posibile ( care ar putea fi prea numeroase) şi apoi să aleagă din ele pe cea optimă, ci caută să introducădirect un element x în soluţia optimă.
  • 4. Schema generală a unui algoritm bazat pe metoda Greedy poate fi redată cu ajutorul unui ciclu: while ExistaElemente do begin AlegeUnElement (x); IncludeElementul (x); end
  • 5.  Într-o sală,într-o zi trebuie planificate n activităţi, pentru fiecare activitate se cunoaşte intervalul încare se desf ăşoar ă [s, f). Se cere să se planifice un numă r maxim de activităţ i astfel încât să nu se suprapună.  Rezolvare:
  • 6. Program Activitati; uses crt; const max=100; var n,i,j,aux:integer; s,f: array [1..max] of integer; sol:array [1..max] of 0..1; nsol, finish:integer; begin write('Nr de activitati = '); readln(n); for i:=1 to n do begin writeln('Activitatea nr.',i,':'); write('Start = '); readln(s[i]); write('Finish = '); readln(f[i]);sol[i]:=0; end ; for i := 1 to n-1 do for j := i + 1 to n do if ( f[i] > f[j]) then begin aux:=s[i]; s[i]:=s[j]; s[j]:=aux;aux:=f[i]; f[i]:=f[j]; f[j]:=aux; end; finish := 0; for i := 1 to n do if (s[i] >= finish ) then begin sol[i]:=1;finish := f[i]; end ; ('Solutie:'); j := 1; for i := 1 to n do if sol[i]=1 then begin writeln('Activitatea nr. ',j,': ',s[i], ' - ' ,f[i]); j := j + 1; end; end.