TOE-16: Lógica Aplicada a PLR
Transcrição
TOE-16: Lógica Aplicada a PLR
TOE-16: Lógica Aplicada a PLR Exame Final Assunto: Lógica, buscas baseadas em Backtracking, CSP, PLR ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1. Seja o enunciado: “. . . para todo caminho definido de x até z e arco entre z e y, então há um caminho entre x e y. Sabe-se que todo arco entre x e y é também um caminho entre x e y”. Sabe-se ainda que há arcos definidos pelas clásulas/fórmulas: arco(a, b) , arco(a, c), arco(b, d), e arco(c, d). Encontre: (a) Escreva a citação acima em fórmulas lógicas de primeira-ordem (b) Encontre a notação clausal para este conjunto. (c) O Uniververso de Herbrand. (d) A Base de Herbrand. (e) Utilizando o método LSD da Resolução calcule caminho(a, d). (f) Idem para caminho(d, a). 2. Um predicado largamente utilizado em PLR é o element, onde no SWI-Prolog é conhecido como nth1. Veja sua versatilidade: nth1(?Index, ?List, ?Elem) Succeeds when the Index-th element of List unifies with Counting starts at 1. ?- nth1(3, [2,3,13,4,9], X). X = 1. ?- nth1(13, [2,3,1,4,9], X). %%% fora do tamanho da lista fail. ?- nth1(X, [2,3,13,4,9], 13). X = 3. Elem. Uma empresa precisa de alguém faça este predicado em Prolog para incorporar em seu solver de alocações, escalonamentos, etc, e solicitou uma ajuda dos alunos de TOE-16. Implemente este predicado para ajudar esta empresa. 3. Voce foi ao supermercado e comprou 4 itens. O preço total foi de EU 7.11 (claro, voce está na Europa e moeda lá é o Euro). Voce pagou, e ao sair, a moça do caixa mandou que voce esperasse pois ela havia multiplicado os valores dos 04 produtos ao invés de ter somado. Ao ter somado estes 04 itens, ela ficou supresa, pois, novamente o valor foi de 7.11. Voce como fez a disciplina de PLR, prontamente quis fazer deste acaso um problema de PLR. Basicamente, voce contou esta história aos seus colegas de turma de TOE-16, e pediu para que els fizessem um programa para saber qual o valor de cada um destes itens? O original deste problema é: A kid goes into a grocery store and buys four items. The cashier charges 7.11. The kid pays and is about to leave when the cashier calls the kid back, and says “Hold on, I multiplied the four items instead of adding them; I’ll try again... Gosh, with adding them the price still comes to 7.11”! What were the prices of the four items? Este problema é resolvido no domı́nio dos inteiros! 4. Seja a equação “mágica” dada por: A D G + + =1 B×C E×F H ×I Elabore um programa que encontre valores distintos para as 9 variáveis da equação 4, no domı́nio de 1 a 9, tal que os valores sejam todos distintos. Novamente, este problema é resolvido no domı́nio dos inteiros finitos (finite domain)! Considerações para avaliação: clareza e comentários na resolução.