Tehnica Greedy

Este o optiune ce tine de specificul problemei cu implicatii asupra complexitatii. Se bazeaza pe statistica datelor de la intrare din care se extrag caracteristici ale datelor=>alegerea strategiei. Strategia Greedy=strategia in care optimul local se considera optim general. Este o strategie constructiva prin adaugarea treptata de solutii locale care construiesc solutia

-formarea deprinderilor de a utiliza tehnica Greedy la rezolvarea problemelor. . Tema : Analiza algoritmilor  Scopul : -extindere a metodelor de elaborare a algoritmilor Greedy.

4 Cunoasterea si intelegerea mecanismului algoritmului Greedy. C2.5 Compararea intre Greedy si alte tehnici de programare. C2.6 Aplicarea mecanismului tehnicii Greedy .C2.

an} .Se da o multime A={a1 a2. care indeplineste anumite conditii pentru a fi acceptata ca solutie. ….Se cere sa determinam o submultime B a multimii A. .Problemele au urmatoarea structura: .

este nevoie să definim un criteriu de apreciere a valorii unui algoritm. acest criteriu se referă la timpul de calcul şi la memoria necesară unui algoritm. . In general.Analiza Algoritmurilor  Pentru a putea decide care dintre algoritmii ce rezolvă aceeaşi problemă este mai bun.

algoritm ce se bazează pe construirea incrementală de soluțiicandidat.Backtracking este numele unui algoritm general de descoperire a tuturor soluțiilor unei probleme de calcul. abandonând fiecare candidat parțial imediat ce devine clar că acesta nu are șanse să devină o soluție validă. .

. -tehnica Backtracking poate oferi toate soluţiile problemei. -tehnica Greedy nu dispune de mecanimul întoarcerii. în timp ce tehnica Greedy oferă o singură soluţie.ambele tehnici oferă soluţii sub formă de vector.Backtracking tehnica Greedy poate fi privită ca un caz -particular al tehnicii Backtracking.Greedy . specific tehnicii Backtracking. în care se renunţă la mecanismul de întoarcere. - .

. .Greedy – Metoda trierii - tehnica Greedy conduce mai repede la o solutie. generînd consecutiv cele 2n submulîimi ale mulţimii A.problemele de tip Greedy pot fi rezolvate prin metoda trierii .Dezavantajul metodei trierii constă în faptul că timpul cerut pentru executarea algoritmului respectiv este foarte mare. .

• Tehnica Greedy conduce la timp de calcul polinomial. . • Pentru fiecare problemă în parte. este obligatoriu să se demonstreze că aceata conduce la soluţia optimă. ajunge la rezultatul dorit.De remarcat: • Cel care elaborează un algoritm Greedy. după ce se identifică un algoritm. • Demonstraţia faptul că se ajunge la soluţia optimă este specifică fiecărei probleme în parte. procedînd în modul ales de el.

!!!De obicei regulile de selecţie nu sunt indicate în mod explicit în condiţia problemei si totul depinde de ingeniozitatea programatorului. soluţia se construieşte.!!! .Pentru a rezolva o problemă cu Greedy. după regula: · Pentru fiecare element care urmeză să fie adăugat soluţiei finale. Pentru a evita trierea tuturor submultimilor multimii A în metoda Greedy se utilizează un criteriu (o regulă) care asigură alegerea directă a elementelor necesare. aceasta este adăugat. fie cînd s-a constatat inexistenţa acesteia. se efectuează o alegere a sa din elementele mulţimii A (după un mecanism specific fiecărei probleme în parte). Algoritmul se termină fie cînd a fost găsită soluţia cerută. iar dacă este posibil.

IncludeElementul(x) end. .Schema generală a unui algoritm bazat pe metoda Greedy: While ExistaElemente do begin AlegeUnElement(x).

Mai mult. nu se cunosc algoritmi Greedy. Există probleme pentru care nu se cunosc astfel de algoritmi. pentru cele mai multe probleme. .NU întotdeauna există un algoritm de tip Greedy care găseşte soluţia optimă.

Astfel de agoritmi se numesc algoritmi euristici. atunci apropiate de acestea. se caută soliţii. .Nu tuturor problemelor li se pot aplica algoritmi de tip Greedy. chiar dacă nu optime. Multe din aceste soliţii sunt obţinute cu Greedy. dar care au fost obţinute în timp util. Pentru problemele pentru care nu se cunosc algoritmi care necesită timp polinomial.

Probleme pentru care Greedy obţine soluţia optimă .