Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.
Urmatoarea versiune Ambele părți următoarea reviziune | |||
laboratoare:laborator-12 [2017/02/14 11:51] florina_elena.barbu creat |
laboratoare:laborator-12 [2017/02/16 14:59] sebastian.cancel |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
====== Laborator 12: Backtracking ====== | ====== Laborator 12: Backtracking ====== | ||
- | TODOD | + | =====1 Obiectivele laboratorului===== |
+ | *Înțelegerea noțiunii de backtracking | ||
+ | *Implementarea metodei backtracking in rezolvarea problemelor | ||
+ | =====2 Backtracking===== | ||
+ | ====2.1 Definiție==== | ||
+ | Noțiunea de backtracking se referă la utilizarea unui algoritm recursiv pentru soluționarea unei probleme ce admite soluții parțiale. Se începe cu una din bucățile de soluție disponibile și se avansează până la construirea soluției complete. Dacă una din rutele de construcție disponibile nu duce nicăieri, se merge înapoi (backtrack) și se încearcă altă cale. Dacă niciuna din rute nu dă o soluție, atunci problema nu este rezolvabilă. | ||
+ | #poza backtracking# | ||
+ | \\ | ||
+ | |||
+ | ====2.2 Algoritm==== | ||
+ | |||
+ | Algoritmul generat este următorul: | ||
+ | <note important> | ||
+ | *Se alege un punct de start | ||
+ | *Cât timp problema nu este rezolvată: | ||
+ | | ||
+ | *Se verifică dacă ruta aleasă este bună (nu invalidează condiția de rezolvare) | ||
+ | *Daca da, se adaugă la soluția în construcție și se apelează recursiv algoritmul pentru restul problemei | ||
+ | *Dacă apelul recursiv reușește să găsească o soluție completă, | ||
+ | *Daca niciuna din căile disponibile nu este bună, nu există soluție (pentru punctul de start ales). | ||
+ | </ | ||
+ | |||
+ | |||
+ | asda |