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

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

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

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

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

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

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

.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. .Greedy – Metoda trierii - tehnica Greedy conduce mai repede la o solutie. generînd consecutiv cele 2n submulîimi ale mulţimii A.

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful