Baixe o app para aproveitar ainda mais
Prévia do material em texto
Segundo trabalho de SII Exercícios práticos: Desenvolvimento de Sistemas Especialistas com PROLOG. Valor: 10,0 pontos. Aula referência: Aula1 Prolog.ppt (. 1 – Baixar e instalar o SWI Prolog: Passos Passo 1: acesse o endereço swi.prolog.org Passo 2: No menu Download, selecione SWI-Prolog Passo 3: Selecione Stable release. Baixe o instalador e faça a instalação típica. Iniciar o SWI-Prolog Passo 1: Na interface de pesquisa: File ® New (abre a interface de edição) Passo 2: Salvar o programa atual como exercício1 Exercício: Faça os exercícios, conforme os passos a seguir. Exercício 1 - Na interface de edição construa a seguinte base de conhecimento: Fatos Salve o arquivo (File – Save buffer) como exercício 1. Compile o programa através da opção: Compile – Compile buffer. Se a compilação ocorreu com sucesso, será exibido na interface de queries um comentário (%) indicando o número de fatos compilados. Na interface de query, execute as seguintes queries: come(urso, peixe). come(urso, tigre). animal(planta_carnívora). Quais são os elementos que comem peixe? Tecle “;‟ para listar todos. Quais são os elementos com propriedade animal? Quais são todos os elementos que participam da relação come? O que o urso come? Adicione as seguintes regras à base de conhecimento: %Regras % carnívoro é quem como animal carnívoro(X):-come(X,Y), animal(Y). %% herbívoro é quem come planta e não come animal herbívoro(X):-come(X,Y),planta(Y),\+carnívoro(X). %predador é carnívoro e também é animal predador(X):-carnívoro(X),animal(X). % presa é quem é comido por predador e também é animal presa(X):-come(Y,X),predador(Y),animal(X). % caçado é quem é presa caçado(X):-presa(X). % X pertence a cadeia alimentar de Y pertence_a_cadeia(X,Y):-come(Y,X). pertence_a_cadeia(X,Y):come(Z,X),pertence_a_cadeia(Z,Y). Salve o arquivo (File-Save buffer) e recompile (Compile – Compile buffer): Execute as seguintes queries 1. Peixe come peixinho e minhoca? 2. Quais são as plantas? 3. Quem é comido pelo urso? 4. Quem come peixe? 5. Quem é predador? 6. Quem é predador e também presa? 7. Quem é presa e herbívoro? 8. Quem pertence a cadeia alimentar do urso? 9. Quem pertence a cadeia alimentar do urso e ao mesmo tempo come planta? 10. A minhoca pertence a cadeia alimentar de quem? Exercício 2 Obs: verifique se o operador “maior ou igual” no SWI prolog é “>=” ou “=>”. Exercício 3 Construa uma base de conhecimento que registra relacionamentos afetivos envolvendo o sexo, o gosto por filmes e o gosto por faixa etária do parceiro, e a partir dos fatos informados, escreva as regras solicitadas. Fatos: · homem(pedro). · homem(marcos). · homem(ze). · mulher(maria). · mulher(joana). · idade(ze,30). · idade(maria,40). · idade(marcos,20). · idade(pedro,25). · idade(joana,28). · gosta(ze,aventura). · gosta(maria,comedia). · gosta(joana,romance). · gosta(marcos,terror). · gosta(marcos,romance). · gosta(pedro,romance). · gosta(maria,romance). · opcao(ze,20,40). // significa que o zé gostaria de se relacionar com pessoas 20 a 40 anos · opcao(maria,25,55). · ... Regras solicitadas: a. afinidade_filme(X,Y) b. casal(X,Y) c. casal_afinidade_filme(X,Y) d. casal_afinidade_idade(X,Y) e. casal_total(X,Y) Execute as seguintes queries: a. Seleciona pessoas com o mesmo gosto de filme. Sendo X e Y pessoas, X possui o mesmo gosto de filme do que Y) b. Seleciona casais (sexos diferentes) c. Seleciona casais com o mesmo gosto de filme d. Seleciona casais cujos gostos de faixa etárias sejam atendidos e. Seleciona casais com afinidade em filme e faixa etária Exercício 4 Construa uma base de conhecimento com os seguintes fatos e regras: Fatos · cidade(são_mateus, pequena). · cidade(vitória, média). · cidade(são_paulo, grande). · cidade(maceió, média). · cidade(campos, pequena). · cidade(cariacica, pequena). · cidade(colatina, pequena). · ... · capital(vitória). · capital(maceió). · capital(sãopaulo). · ... · estado(es, sudeste). · estado(al, nordeste). · estado(sp, sudeste). · ... · pertence(são_mateus, es). · pertence(vitória, es). · pertence(santos, sp). · pertence(maceió, al). ... Regras a) cidade_pequena(X) b) cidade_na_região_norte(X) c) capital_região_sul(X) d) cidade_pequena_região_sudeste(X) e) estado_com_capital_grande(X) f) estado_região_nordeste_com_capital_média(X) g) cidade_pequena_do_estado(X,Y) Escreva sentenças para responder as seguintes perguntas: a) Qual a capital do Rio Grande do Sul? b) Quais os estados que pertencem a região Nordeste? c) Quais são todas as cidades pequenas e médias? d) Quais são as cidades da região Sudeste? Exercício 5 Crie uma base de conhecimento para representar as relações de parentesco da uma família. A partir de 4 tipos de fatos (filho ambos os sexos, casado, homem e mulher), crie regras para: pai(X,Y) mãe(X,Y) neto(X,Y) neta(X,Y) avô(X,Y) bisavó(X,Y) bisneta(X,Y) irmão(X,Y) irmã(X,Y) tia(X,Y) sobrinha(X,Y) primo(X,Y) cunhado(X,Y) sogra(X,Y) genro(X,Y) nora(X,Y) enteado(X,Y) primo_segundo_grau(X,Y) Exemplos de possíveis fatos: Use a árvore genealógica da Rainha Elisabeth 2ª
Compartilhar