Programatorii Pascal, C sunt familiarizati cu instructiunile tipice acestor limbaje: for, while, etc. in Prolog nu exista aceste instructiuni care specifica direct un ciclu. Prolog admite doua tipuri de procese repetitive – backtracking si recursivitate.
Aceasta aparenta lipsa a instructiunilor ciclice nu restrictioneaza limbajul Prolog. De fapt Prolog recunoaste un caz special de recursivitate – numita tail recursion – si o compileaza transformand-o intr-o bucla iterativa in limbaj masina. Aceasta inseamna ca programul va fi scris recursiv, insa codul compilat este la fel de eficient ca si cand ar fi scris in Pascal sau C nerecursiv (iterativ).
Atunci cand o procedura revine inapoi, prin mecanismul backtracking acest lucru se face cu scopul de a gasi o solutie noua la un obiectiv. Se face aceasta revenire prin retragerea la cel mai recent subobiectiv care mai are alternative ce nu au fost luate in considerare; se ia in considerare aceasta noua alternativa, apoi se continua mai departe. Se poate exploata mecanismul backtracking pentru a obtine procese repetitive.
Inteligenta artificiala - iteratie si recursivitate
label Laboratoare calendar_month 2010-01-26, 00:00 autorenew 2025-09-29, 16:57history_edu studentie.ro










