Documente Academic
Documente Profesional
Documente Cultură
Negrilescu Nicolae
Colegiul National Vlaicu Voda
Curtea de Arges
Metoda Greedy
Metoda Greedy este una din cele mai directe tehnici de proiectare a algoritmilor care
se aplic la o varietate larg de probleme.
1. Descrierea metodei
Se d o mulime A cu n elemente i se cere s se determine o submulime a sa(B) care
satisface anumite restricii. Aceast submulime se numete soluie posibil. Se cere s
se determine o soluie posibil care fie s maximizeze fie s minimizeze o anumit
funcie obiectiv dat. Aceast soluie posibil se numete soluie optim.
Metoda Greedy lucreaz n pai astfel:
1. se iniializeaz mulimea soluiilor (B) la mulimea vid (B=)
2. se alege un anumit element x A
3. se verific dac elementul ales poate fi adugat la mulimea soluiilor, dac da
atunci va fi adugat (B=B{x})
4. procedeul continu astfel, repetitiv, pn cnd au fost determinate toate elementele
din mulimea soluiilor
Observaie. Metoda Greedy nu caut s determine toate soluiile 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 soluia optim.
2. Probleme pentru care metoda Greedy determin soluia optim
2.1 Determinarea arborelui parial de cost minim
Se d un graf G. Se cere determinarea arborelui parial de cost minim
Algoritmul de rezolvare pe care l folosim se bazeaz pe tehnica Greedy:
1. La nceput nu avem un arbore (avem mai muli arbori, fiecare dintre acetia fiind
format dintr-un singur nod), sortm muchiile n ordine cresctoare a costurilor
2. Se alege o muchie x (muchiile se aleg de la cea mai mic la cea mai mare)
3. Verificm dac muchia poate fi adugat (dac nu se produc cicluri)
4. Continum pn cnd avem n-1 muchii (n = numrul de noduri)
2.2 Problema rucsacului
Se d un rucsac de volum V i mai multe obiecte de greuti G 1, G2,, Gn ce au
volumele V1, V2,, Vn. Se cere s se ncarce rucsacul la greutatea maxim utiliznd
cte un obiect din fiecare tip.
Se observ c cea mai bun metod de ncrcare a rucsacului ar fi s introducem
obiectele n ordine descresctoare a densitii acestora. Deci vom calcula densitile
obiectelor 1=G1/V1, 2=G2/V2, ,n=Gn/Vn i vom sorta obiectele n ordine
descresctoare a densitii. Acestea fiind realizate aplicm metoda Greedy:
1. La nceput volumul obiectelor adugate Vo=0
1
4
4
4
1
5
Monede selectate
valoare
numr
100
3
50
1
10
2
Monede selectate
valoare
numr
100
3
50
1
10
1
3
1
2