Documente Academic
Documente Profesional
Documente Cultură
Ce este backtracking-ul?
Backtracking este numele
unui algoritm general de descoperire a tuturor
soluiilor unei probleme de calcul, algoritm ce
se bazeaz pe construirea incremental de
soluii-candidat, abandonnd fiecare candidat
parial imediat ce devine clar c acesta nu are
anse s devin o soluie valid.
Termenul backtrack a fost inventat de
matematicianul american D. H. Lehmer n anii
1950.
Exemplu grafic
Permutri
Aplicaii
Backtrackingul este util la rezolvarea unor probleme de
satisfacere a constrngerilor, cum ar fi cuvintele ncruciate,
jocuri de sudoku i alte probleme similare. Ea st la baza unei
serii de limbaje de programare logic, cum ar
fi Icon, Planner i Prolog.
Algoritmul este mai efectiv dect cel al cutrii i
parcurgerii brute deoarece acesta poate nltura multipli
candidai n acelai timp. Cu toate acestea, acest algoritm
rmne a fi cea mai costisitoare metod din punct de vedere al
timpului de execuie. Dar, la momentul actual este cea mai
efectiv metod pe care o avem.