Lista de Projetos Propostos para Programação em Lógica

Damas

World Lab

Implemente um jogador capaz de jogar o jogo de Damas:

Compilador

Implemente um compilador em Prolog:

compila(if_then_else(Teste, If, Else) , LStart, LEnd) -->
    [label(Start)],
    compila(Teste, LStartIf, LStartElse),
    compila(If,LStartIf,LEndIf),
    [label(LEndIf), jump(LEnd)],
    compila(Else, LStartElse, LEnd).

compila((X1 := X2) , LStart, LEnd) -->
    endereço(X1,A1),
    valor(X2,V2),
    [move(A1,V2)].

BDDs

Uma BDD é uma representação de uma sentença em lógica proposicional que permite verificação em tempo linear sobre o número de variáveis:

Para implementar um BDD, assuma uma conjunção de fórmulas da forma `x <-> y op z':

SAT

Implemente um provador de fórmulas proposicionais.

ILP

Implemente o algoritmo HYPER, começando a partir do descrito no livro "Prolog Programming for Artificial Intelligence"