PROLOG
Backtracking
- Como foi visto, os objetivos em um programa Prolog podem ser bem-sucedidos ou falhar.
- Para um objetivo ser bem-sucedido ele deve ser unificado com a cabeça de uma cláusula do programa e todos os objetivos no corpo desta cláusula devem também ser bem-sucedidos. Se tais condições não ocorrerem, então o objetivo falha.
- Quando um objetivo falha, em um nodo terminal da árvore de pesquisa, o sistema Prolog aciona o mecanismo de backtracking, retornando pelo mesmo caminho percorrido, na tentativa de encontrar soluções alternativas.
- Ao voltar pelo caminho já percorrido, todo o trabalho executado é desfeito.