Sunteți pe pagina 1din 3

Metoda Greedy este una din cele mai directe tehnici de proiectare a algoritmilor care se aplica la

o varietate larg de probleme .


La general,aceasta metod se aplic problemelor de optimizare.Specificul acestei metode consta n faptul c
se construiete soluia optim pas cu pas,la fiecare pas fiind selectat(sau nghiit) n soluie elementul care
pare cel mai bunla momentul respectiv,n sperana c va duce la soluie optim global.
n principiu, problemele de acest tip pot fi rezolvate prin metoda trierii, genernd consecutiv cele 2n submulimi Ai ale
mulimii A. Dezavantajul metodei trierii const n faptul c timpul cerut de algoritmii respectivi este foarte mare. Pentru a
evita trierea tuturor submulimilor Ai , Ai se include n A, n metoda Greedy se utilizeaz un criteriu (o regul) care asigur
alegerea direct a elementelor necesare din mulimea A. De obicei, criteriile sau regulile de selecie nu snt indicate explicit
n enunul problemei i formularea lor cade n sarcina programatorului. Evident, n absena unor astfel de criterii metoda
Greedy nu poate fi aplicat.
n cele mai multe situaii avem:
- O mulime de candidai ( valori de ales, noduri in graf etc.)
- O funcie care verific dac o mulime de candidai constituie o soluie posibil, nu neaprat optim, a problemei
- O funcie care verific dac o mulime de candidai este fezabil, adic dac este posibil s completm aceast mulime
astfel nct s obineam o soluie posibil (nu neaprat optim)
- O funcie de selecie ce indic ntr-un anumit moment care este cel mai potrivit dintre candidaii nefolosii.
- O funcie obiectiv care d valoarea unei soluii (timpul necesar executrii tuturor lucrrilor ntr-o anumit ordine),
lungimea drumului pe care l-am gsit etc).
Schema general a unui algoritm bazat pe metoda Greedy poate fi redat cu ajutorul unui ciclu:
while ExistaElemente do
begin
AlegeUnElement(x);
IncludeElementul(x);
end.

Algoritmii Greedy sunt caracterizai de metoda lor de funcionare: la fiecare pas se alege cel mai bun candidat
posibil, dupa evaluarea tuturor acestora.

Metoda determin intotdeauna o singur soluie, asigurnd un optim local, dar nu ntotdeauna i global.

Tehnica Greedy este una de optimizare, rulnd mai rapid dect un Backtraking, dar nefiind ntotdeauna cea mai
bun.

Metoda Greedy are i avantaje: poate fi aplicat multor probleme: determinarea celor mai scurte drumuri n grafuri
(Dijkstra), determinarea arborelui minimal de acoperire (Prim, Kruskal), codificare arborilor Huffmann,
planificarea activitilor, problema spectacolelor i problema fracionara a rucsacului.

Metoda trierii face parte din tehnici de programare moderne ,ce ne faciliteaza rezolvarea anumitor tipuri de
probleme matematice sau din cotidian ,cu precdere problemele ce analizeaz cazurile favorabile.

Introduction

Ca urmare a progresului tehnologic se ncearc preponderant formarea diversor programe, ce


trebuie sa parcurg mai multe etape i s posede anumite caracteristici , dintre care
principalele sunt:
s funcioneze( aceasta caracteristic este uneori pierdut din vedere);
s coste ct mai puin
s ocupe ct mai puin spaiu
s consume ct mai puin timp
s fie cit mai sigur pentru funcionare
Pe parcursul dezvoltrii informaticii s-a stabilit c multe probleme de o real importan practic pot fi rezolvate cu
ajutorul unor metode standart, denumite tehnici de programare: recursia, trierea, metoda relurii, metodele
euristice.
Se vor prezenta n continuare cteva aspecte legate de metoda trierii, cu un accent deosebit pe problemele
specifice testrii, dar i chestiuni legate de documentarea unui program i unei tehnici. Sectiunea care
descrie problematica testrii cuprinde i o serie de elemente utile de proiectare genaral i de exemple.

Metoda trierii include prin definiie,soluia unei probleme ce poate fi gsit


analiznd consecutiv elementele si ale unei mulimi finite:

S={s1 ,s2,s3 ......., si.......,sk} denumit mulimea soluiilor posibile.Deseori ,mai ales n

practic ,cazurile elementare pot fi reprezentate prin valori aparinnd unor tipuri ordinae de
date :integer,boolean,char,enumerare,subdomeniu.
Observaie:n problemele complicate sntem nevoii s reprezentm aceste elemente prin
tablouri,articole sau mulimi.
Generarea soluiilor posibile necesit elaborarea unor algoritmi speciali. n general,aceti
algoritmi realizeaz operaiile legate de prelucrarea unor mulimi:
- reuniunea;
- intersecia;
- diferena;
- generarea tuturor submulimilor;
- generarea elementelor unui produs cartezian;
- generarea permutrilor, aranjamentelor sau combinrilor de obiecte etc.
Scopul studiului metodii trierii,ofer utilizatorului oportunitatea de a gsi toate soluiile care se potrivesc
contextului sau sunt favorabile. Necesitatea studiului acestei metode se reflec prin uurarea muncii utilizatorului
de selecie a cazurilor favorabile i de elaborare a unui program optimal.Aceast metod e simpl i permite
rezolvarea unor probleme matematice elementare sau complexe care necesit multe opera ii,dar prin intermediu
programului se poate calcula numrul de soluii,s se afle dac ele exist,s se enumere solu iile.
Dei ar prea uor,numrul de calcule posibile poate ajute pn la ordinul sutelor,de aceea metoda trieri
asigur prelucrarea rapid a datelor.Cred fiecare din noi e cointeresat de rezolvarea rapid a unor probleme
de probabilitate .

Schema general a unui algoritm


Schema general a unui algoritm bazat pe metoda trierii poate fi redat cu ajutorul unui ciclu:
for i:= 1 to k do if SolutiePosibila(si) then PrelucrareaSolutiei(si)
unde SolutiePosibila este o funcie boolean care returneaz valoarea true dac elementul s i satisface condiiile
problemei i false n caz contrar, iar PrelucrareaSolutiei este o procedur care efectueaz prelucrarea elementului
selectat. De obicei, n aceast procedur soluia si este afiat la ecran.

Exist mai multe tipuri de triere, i trebuie s se aleag o metod, care cel mai bine se potrivete la aplicarea
acesteia. O metod de triere poate fi mai rapid dect alta, dar, mai lent, n alte cazuri, n func ie de situa ie. n asa
cazuri, trebuie s cercetm care sunt caracteristicile proprii, cum ar fi numrul de elemente i de tipul de date a
listei care urmeaz s fie sortate.
Astfel metoda trieri poate fi folosit n :

Economie la determinarea numrului de cazuri favorabile

Management

Educaie

Sortarea anumitor liste pe criterii

La alctuirea listelor sau selecia persoanelor potrivite

Metode de triere
Exist mai multe metode de triere, care sunt utilizate n conformitate cu o anumit situa ie. Toate metodele de triere sunt
comparate ntre ele in conformitate cu complexitatea temporala a algoritmului O(n). O(n) este folosit pentru a msura
eficiena unui algoritm care realizeaza o anumit funcie cu mulimea de elemente de dimensiune n.
Exist o mulime de metode de triere utile, dei proiectul nostru va propune n aplicare doar trei algoritmi de sortare
conform surselor engleze de specialitate n programare.

TURBO PASCAL este unul dintre limbajele care se adapteaza noilor cerine. Atunci , ne
putem intreba care este mecanismul care permite o astfel de flexibilitate a limbajului? De ce alte limbaje nu se
pot adapta att de uor? Rspunsul la ntrebrile de mai sus consta n a afirma faptul c succesul limbajului
TURBO PASCAL const n orientarea sa ctre structuri de date i ctre tehnici de programare care pot
soluiona probleme din cotidian .Ca s menionm,voi reaminti c metoda propriu zis ne permite prelucrarea
ampl a informaiei i sortarea ei rapid n principiu de un anumit index prestabilit.Ne permite rezolvarea
anumitor probleme din cotidian ,ce permite identificarea numrul de cazuri favorabile.
Fiind un limbaj accesibil,

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