sábado, 24 de setembro de 2011

Prolog - Entrada e saída

Continuamos a usar a apostila (Ap).

Prolog oferece predicados para a entrada e saída de termos (Ap. 6.1), e de caracteres (Ap. 6.2).  Os dispositivos para entrada e saída padrão são o teclado e a tela, respectivamente, mas podem ser trocados por arquivos (Ap. 6.3).

Veremos também como "consultar" arquivos, ou seja, carregar no banco de dados cláusulas de um arquivo de texto (Ap. 6.4).

Por fim, entrada e saída se relacionam com a definição de operadores: predicados que podme ser escritos de forma infixa ou posfixa (Ap. 6.5).

Prolog - Ressatisfação e corte

Continuamos usando a apostila (Ap).

Revisão de ressatisfação (backtracking) (Ap. 5, 5.1).

Introdução ao corte, um predicado extra-lógico (Ap. 5.2).

Usos do corte: indicar a cláusula correta, negação, limitar buscas (Ap. 5.3).

Cuidados com o corte: igualdade pode não mais ser equivalente a usar variáveis com o mesmo nome (Ap. 5.4).

domingo, 18 de setembro de 2011

Prolog - Introdução à recursão (com listas)

Continuamos usando a apostila (Ap).

Como listas têm tamanho arbitrário, é usual tratá-las com recursão.  O precidado member será nosso primeiro exemplo (Ap. 4.3).  Também veremos algumas dicas gerais sobre o uso de recursão em Prolog.

A seguir estudaremos um predicado muito importante em Prolog: append (Ap. 4.4).  Ele junta listas, mas, sendo em Prolog, também as separa (como veremos em aulas vindouras).

Por fim, aprenderemos a usar acumuladores, que, em geral, resultam em melhor performance para as nossas definições (Ap. 4.5).

Prolog - Estruturas e listas

Continuamos usando a apostila (Ap).

Estruturas em Prolog permitem representar árvores (Ap. 4.1).

Um tipo especial de estrutura --- as listas --- recebem atenção especial (Ap. 4.2).

domingo, 11 de setembro de 2011

Prolog - Sintaxe, unificação, aritmética

Continuamos seguindo a apostila (Ap).

Prolog só tem um tipo de dados: o termo.  Ele descreve dados e programas.  Seus subtipos são, constantes, variáveis e estruturas.  (Ap. 2.1 a 2.3)

Unificação é um dos conceitos mais importantes em Prolog. (Ap. 2.4)

Lidar com números é diferente em Prolog. O predicado is desempenha um papel fundamental. (Ap. 3)

Prolog - Fatos, regras, perguntas, variáveis

Usaremos muito o livro, ou sua tradução parcial na apostila (Ap.)

Usaremos também um interpretador para ver na prática como as coisas funcionam.

Um programa em Prolog consiste na descrição de um mundo próprio. Um universo paralelo. Prolog permite analisar as conclusões que podem ser tiradas desta descrição. (Ap. 1.2)

Fatos são afirmações incondicionais sobre o mundo. (Ap. 1.3)

Perguntas permitem entender o mundo criado. (Ap. 1.4)

Variáveis e conjunções aumentam nossa capacidade de perguntr. (Ap. 1.5 e 1.6)

Regras são afirmações sobre o mundo condicionadas a outros fatos e regras.  Uma regra pode valer por mil fatos! (Ap. 1.7)