Meniu Referate
Romana
Romana1
Romana2
Istorie
Istorie1
Geografie
Geografie1
Diverse
Drept
Economie
Filozofie
Fizica
Informatica
Biologie
Chimie
Italiana
Spaniola
Germana
Franceza
Engleza
Marketing
Matematica
Medicina
Psihologie
Astronomie
Stiinte Politice
Proiecte

METODA BACKTRACKING

...in stiva, scade cu 1 valoarea variabilei ce indica varful stivei, iar atunci cand scriem ceva in stiva, o eventuala valoare reziduala se pierdePe un anumit nivel se retine, de regula, o singura informatie litera sau cifra, insa este posibil asa cum va rezulta din exemplele, prezentate in lucrare, sa avem mai multe informatii, caz in care avem de a face cu stive duble, triple, etc.Intreaga teorie a recursivitatii se bazeaza pe structura de tip stiva. Prezentarea tehnicii BacktrackingAceasta tehnica se foloseste in rezolvarea problemelor care indeplinesc simultan urmatoarele conditii- solutia lor poate fi pusa sub forma unui vector Sx1,x2, ...,xn, cu x1 A1, x2 A2 ,xn An - multimile A1, A2 , ., An sunt multimi finite, iar elementele lor se considera ca se afla intr-o relatie de ordine bine stabilita- nu se dispune de o alta metoda de rezolvare, mai rapida - x1 x2 , xn pot fi la randul lor vectori- A1, A2 , An pot coincide.La intalnirea unei astfel de probleme, daca nu cunoastem aceasta tehnica, suntem tentati sa generam toate elementele produsului cartezian A1,A2 ,An si fiecare element sa fie testat daca este solutie. Rezolvand problema in acest mod, timpul de executie este atat de mare, incat poate fi considerat infinit, algoritmul neavand nici o valoare practica.De exemplu, daca dorim sa generam toate permutarile unei multimi finite A, nu are rost sa generam produsul cartezian AxAx.....xA, pentru ca apoi, sa testam, pentru fiecare element al acestuia, daca este sau nu permutare nu are rost sa generam 1.1,1.......1, pentru ca apoi sa constatam ca nu am obtinut o permutare, cand de la a doua cifra 1 ne puteam da seama ca cifrele nu sunt distincte.Tehnica Backtracking are la baza un principiu extrem de simplu- se construieste solutia pas cu pas x1, x2 ,xn - daca se constata ca, pentru o valoare aleasa, nu avem cum sa ajungem la solutie, se renunta la acea valoare si se reia cautarea din punctul in care am ramas.Concret - se alege primul element x, ce apartine lui A - presupunand generate elementele x1,x2 ,xk , apartinand multimilor A1, A2 ,Ak , se alege daca exista xk1 , primul element disponibil din multimea Ak1 , apar doua posibilitati 1 Nu s-a gasit un astfel de element, caz in care caz in care se reia cautarea considerand generate elementele x1,x2 ,xk1 , iar aceasta se reia de la urmatorul element al multimii Ak ramas netestat2 A fost gasit, caz in care se testeaza daca acesta indeplineste anumite conditii de continuare aparand astfel doua posibilitati - indeplineste, caz in care se testeaza daca s-a ajuns la solutie si apar din nou doua posibilitati - s-a ajuns la solutie, se tipareste solutia si se reia algoritmul considerand generate elementele x1,x2 ,xk , se cauta in continuare, un alt element al multimii Ak , ramas netestat - nu s-a ajuns la solutie, caz in care se reia algoritmul considerand generate elementele x1,x2 ,xk , si se cauta un prim element xk2 Ak. - nu le indeplineste caz in care se reia algoritmul considerand generate elementele x1,x2 ,xk , iar elementul xk-1 se cauta intre elementele multimii A, ramase netestate.Algoritmii se termina atunci cand nu exista nici un element x1 A1 netestat.Observatie tehnica Backtracking are ca rezultat obtinerea tuturor solutiilor problemei. In cazul in care se cere o sigura solutie se poate forta oprirea, atunci cand a fost gasita.Am aratat ca orice solutie se genereaza sub forma de vector. Vom considera ca generarea solutiilor se face intr-o stiva. Astfel, x1 A1, se va gasi pe primul nivel al stivei, x2 A2 se va gasi pe al doilea nivel al stivei,... xk Ak se va gasi pe nivelul k al stivei. In acest fel, stiva notata ST va arata astfelSTNivelul k1 al stivei trebuie initializat pentru a alege, in ordine, elementele multimii k1 . Initializarea trebuie facuta cu o valoare aflata in relatia de ordine considerata, pentru multimea Ak1 inaintea t...
Download