Jogo dos Animais

De Augusto Baffa Wiki
Revisão de 10h46min de 14 de setembro de 2023 por Abaffa (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Está é uma versão Prolog do jogo de identificação de animais (sistema especialista simples) apresentado em um programa 'Lisp' no Capítulo 6 de Winston e Horn (1985)[1]. Carregue o arquivo e faça a consulta ?- go. O programa usa suas regras de identificação para determinar o animal que você escolheu.

Exemplo de código ocultado devido ao Trabalho 2 - INF1771 Inteligência Artificial, PUC-Rio.


O programa é interessante principalmente no que diz respeito a como tenta verificar certas propriedades que usa para tirar conclusões e como faz perguntas e registra as respostas para referência futura. Se uma pergunta 'q' for feita e a resposta for 'yes', essa resposta será registrada afirmando (com o comando assert) yes(q) e bem-sucedida; caso contrário, a resposta será registrada afirmando(com o comando assert) no(q) e falhando.

Mesmo as respostas "yes" precisam ser registradas, uma vez que uma resposta "no" subsequente a uma pergunta diferente ao tentar verificar a mesma hipótese pode fazer com que toda a hipótese falhe, mas a mesma resposta "yes" pode levar a uma verificação bem-sucedida de um hipótese diferente mais tarde. É assim que o programa evita fazer a mesma pergunta duas vezes. O método geral de verificação de uma condição 'q' é então verificar se yes(q) foi armazenado na memória e se foi bem-sucedido ou se no(q) foi armazenado e falhar, caso contrário, pergunte: ask(q).

O Capítulo 6 constrói uma estrutura geral para sistemas especialistas em Prolog.

Veja Também

Referências

  1. Winston, P.H., and Horn, P., Lisp, Addison-Wesley, 1985.