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.

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

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

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

. 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. algoritm ce se bazează pe construirea incrementală de soluțiicandidat.

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

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

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

după regula: · Pentru fiecare element care urmeză să fie adăugat soluţiei finale.!!! . fie cînd s-a constatat inexistenţa acesteia. iar dacă este posibil. Pentru a evita trierea tuturor submultimilor multimii A în metoda Greedy se utilizează un criteriu (o regulă) care asigură alegerea directă a elementelor necesare. !!!De obicei regulile de selecţie nu sunt indicate în mod explicit în condiţia problemei si totul depinde de ingeniozitatea programatorului. aceasta este adăugat.Pentru a rezolva o problemă cu Greedy. 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). soluţia se construieşte.

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

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

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

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

Sign up to vote on this title
UsefulNot useful