Sunteți pe pagina 1din 1

METODA GREEDY

Metoda rezolvă probleme de optim, în care soluția se construiește pe parcurs. Optimul global se
determină prin estimări succesive ale optimului local.
Dintr-o mulțime de elemente A, trebuie determinată o submulțime de elemente B, care verifică anumite
condiții și care, de obicei este souția unei probleme de optimizare. Soluția se constuiește treptat, inițial B este
mulțimea vidă. Se adaugă în B, succesiv elemente din A, atingându-se defiecare dată, un optim local. Această
construire nu asigură întotdeauna atingerea unui optim gobal, de aceea, metoda Greedy nu poate fi aplicată
decât dacă se demonstrează că modul de construire al mulțimii B duce la opținerea unui optim global. Acest lucru
se demonstrează prin inducție matematică sau reducere la absurd.

Principiul metodei:
- Se inițializează submulțimea B cu mulțimea vidă
- La fiecare pas se alege un element x din A, cel mai promițător la momentul respectiv care poate conduce
la o soluție optimă
- Se verifică dacă elementul x poate fi adăugat la submulțimea B
o Dacă da, el va fi adăugat și B=B{x}
o Un element introdus în B nu mai poate fi eliminat
o Daca nu, el nu se mai testează ulterior
- Procedeul continuă până când au fost determinate toate elementele din submulțimea B

Forma generală a metodei Greedy


Subalgoritm Greedy (A, B)
B
Cât timp !Soluție(B) si A≠ execută
Alege(A,x)
Elimină(A,x)
Dacă Posibil(B,x) atunci
Adaugă (B,x)
Sfârșit dacă
Sfârșit cât timp
Dacă Soluție(B) atunci
Scrie B
Altfel
Scrie ”Nu s-a găsit soluție”
Sfârșit dacă
Sfârșit subalgoritm

Unde
Soluție(B) verifică dacă B este soluție optimă a problemei
Alege(A,x) alege cel mai promițător element x din A la un moment dat
Posibil(B,x) verifică dacă este posibil să se obțină o soluție prin adăugarea lui x la B
Elimină(A,x) elimină elementul x din mulțimea A

Obs. 1. La fiecare pas se alege cel mai promițător element la momentul respectiv. Dacă un element se introduce
în B, el nu va mai fi eliminat de acolo
2. Dacă se alege un element din mulțimea A care nu poate fi adăugat în B, el se elimină din A și nu se mai testează
ulterior
3. De cele mai multe ori, este necesară ordonarea mulțimii A, înainte de a aplica algoritmul propriuzis
4. Algoritmi Greedy sunt rapizi, însă nu întotdeauna optimi.

S-ar putea să vă placă și