Sunteți pe pagina 1din 2

Descrierea metodei

Aceast tehnic se folosete n rezolvarea problemelor care ndeplinesc


simultan urmtoarele condiii:

soluia lor poate fi dispus sub forma unui vector S=(x1, x2, ..., x3);
fiecare element alsoluiei xi poate sa ia valori ntr-o mulime Ai;
mulimile A1, A2, ..., An sunt mulimi finite, iar elementele lor se consider
c se afl ntr-o relaie de ordine bine stabilit;
A1, A2, ..., An pot coincide;
nu se dispune de o alt metod de rezolvare mai rapid.

Este o tehnic de programare aplicabil algoritmilor care oferp mai multe


soluii i are ca rezultat obinerea tuturor soluiilor problemei. Fiecare soluie se
memoreaz ntr-o structur de date de tip stiv implementat cu ajutorul unui
vector.
ntr-un algoritm backtracking ne intereseaz toate soluiile posibile. Pentru
a obine fiecare soluie final se completeaz stiva nivel cu nivel trecnd astfel
prin nite soluii pariale. Astfel soluiile finale ct i cele pariale pentru a fi luate
n considerare trebuie s ndeplineasc anumite condiii numite condiii de
validare. O soluie care ndeplinete o astfel de condiie se numeste soluie
valid. Toate configuraiile stivei cereprezint soluii finale sunt alctuite din
elementele aceleiai mulimi bine definite pe care o numim mulimea soluiilor.
Fiecare noua soluie parial se obine prin completarea soluiei pariale
precedente cu nc un nivel pe stiv. La fiecare nivel se pun valori din muliea
soluiilor care nun au fost ncercte pn cnd se obine o soluie valid. n acest
moment se trece la nivelul urmtor n stiv pentru a completa mai departe
soluia relund ncercrile pe noul nivel. La un moment dat pe un anumit nivel nu
mai exist nici o valoare nencercatdin mulimea valorilor problemei. n acest
caz se face un pas napoi n stiv la nivelul anterior i se reia cutarea cu valorile
rmase nencercate pe acest nivel anterior. Respectivul nivel a mai fost viitat dar
l-am abandonat dup ce am us o valoare care a generat o soluie valid. Deci
este posibil s fi rmas aicivalori nencercate. Dac nici pe acest nivel nu mai
avem valori nencercate mai facem un pas napoi n stiv. Mecanismul revenirilor
a determinat denumirea de metoda backtracking. Plecnd de la nivelul 1 si
repetnd algoritmul pn cnd pe toate nivelele au fost ncercate toate vlorile din
mulimea valorilor se obin soluii finale care se tipresc.
Pentru a descrie formatul general al metodei vom utiliza o funie.
Considerm ca vectorul X este variabil global. Vom presupune ca fiecare X[i]
poate lua ca valori numerele din intervalul [a,b]. Funcia Valid va testa dac
soluia construit pn la un pas reprezint o soluie parial valid. Funcia
SolutieFinala va testa dac s-a obinut o soluie final.

Problema:

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