PROLOG
Impurezas de PROLOG
- O backtracking automático é uma ferramenta muito poderosa e a sua exploração é de grande utilidade para o programador. Às vezes, entretanto, ele pode se transformar em fonte de ineficiência. A seguir se introduzirá um mecanismo para "podar" a árvore de pesquisa, evitando o backtracking quando este for indesejável.
- Para aumentar a eficiência no percurso da árvore de busca da solução do problema usam-se essencialmente dois operadores: CORTE (“CUT” representado por !) e FALHA (“FAIL”).
- Seu uso deve ser considerado pelas seguintes razões:
- O programa irá executar mais rapidamente, porque não irá desperdiçar tempo tentando satisfazer objetivos que não irão contribuir para a solução desejada.
- (ii) Também a memória será economizada, uma vez que determinados pontos de backtracking não necessitam ser armazenados para exame posterior.