Prolog
Unidade de Ensino Departamento de Sistemas de Informação Escola de Engenharia Universidade do Minho Guimarães, Portugal Abril, 2008
ii
Índice
1 Introdução 2 Exercícios sobre Prolog 2.1 A Árvore Genealógica da Família Pinheiro 2.2 Exercício sobre Listas 2.3 Stands de Automóveis 3 Regras de Produção 3.1 Gemas Preciosas (regras de produção simples) 3.2 Compras numa Livraria (regras de produção com incerteza) 4 Estruturas Hierárquicas 4.1 Veículos Aéreos (redes semânticas) 4.2 Naves dos Vzorg (enquadramentos, frames) 5 Procura 5.1 Blocos Infantis (procura num espaço de soluções) 5.2 Abertura de um Cofre (procura via gerar e testar) 6 Dependências Conceptuais 6.1 Ida ao Cinema 7 Programação Orientada para Padrões (OPP) 7.1 Perfumes 7.2 Campeonato Europeu de Futebol Bibliografia 1 3 3 6 9 13 13 15 19 19 21 23 23 25 27 27 31 31 34 37
iii
iv
1 Introdução
Este texto pedagógico reúne um conjunto de exercícios resolvidos na linguagem Prolog para apoio à unidade curricular Sistemas Baseados em Conhecimento, do terceiro ano e segundo semestre da Licenciatura em Tecnologias e Sistemas de Informação. O objectivo é complementar a matéria que foi leccionada nas aulas teórico-práticas e práticas-laboratoriais. O texto inicia-se com exercícios gerais sobre a linguagem Prolog (Capítulo 2), seguindo-se os diversos paradigmas de representação de conhecimento leccionados nesta unidade curricular (regras de produção, estruturas hierárquicas, procura num espaço de soluções, dependências conceptuais e programação orientada a padrões). De realçar que: todo o código apresentado neste livro foi executado no compilador gratuito1 SWI-Prolog [Wielemaker, 2008a], que corre em múltiplas plataformas, tais como o Windows, Linux ou MacOS; cada solução apresentada deve ser analisada com algum sentido crítico, ou seja, é uma possível solução, embora não seja a única forma de