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.

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

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

In general. este nevoie să definim un criteriu de apreciere a valorii unui algoritm.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.

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ă. .

Greedy . - . în care se renunţă la mecanismul de întoarcere. -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. specific tehnicii Backtracking. .Backtracking tehnica Greedy poate fi privită ca un caz -particular al tehnicii Backtracking.

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful