Escolar Documentos
Profissional Documentos
Cultura Documentos
Conceito
Obs.:
Programação Imperativa:
Programação em Lógica
Exemplos:
Por exemplo, a regra irmão (X, Y) é verdadeira se X e Y têm o mesmo pai e a mesma mãe, e
X \= Y significa que X é diferente de Y.
Aqui, o programa não instrui como encontrar irmãos, mas sim descreve as relações entre eles
e permite que o mecanismo de inferência lógica do Prolog deduza quem são os irmãos.
Por exemplo:
1. Doki é um cachorro.
2. Todo cachorro é um mamífero.
3. Logo, Doki é um mamífero. Isto é uma dedução.
Para criamos um programa baseado no paradigma lógico, devemos definir fatos e regras
sobre indivíduos e/ou objetos, bem como suas relações. A execução do programa se dá por
meio de consultas sobre o relacionamento definido, ou seja, o usuário faz perguntas
(consultas) para verificar as relações existem. Neste contexto, um programa escrito no
paradigma lógico é conhecimento como uma base de conhecimento (CHARÃO, 2013;
PEREIRA, 2019).
vamos exemplificar com a construção de uma base de conhecimento sobre uma família. Para
construirmos esta base de conhecimento, iniciamos definindo relações de parentesco, tais
como:
Estas cláusulas (sem condições) definem fatos (verdades) sobre o domínio do problema.
Podemos definir, também, regras, que são cláusulas com condições:
Esta regra genética estabelece que qualquer X é avô materno de Y se Z é filho de X e Z é mãe
de Y. Estas duas últimas partes da regra são as condições. Outro exemplo envolve criarmos
regras para a relação de irmão (por parte de pai e/ou por parte de mãe):
Esta regra estabelece que X e Y são irmãos, se existe um indivíduo Z que seja pai de X e de Y
ou se existe um indivíduo Z que seja mãe de X e de Y. Neste exemplo X, Y e Z são variáveis
e terão seus valores instanciados (definidos) quando o programa for executado, ou seja,
quando a base de conhecimento for consultada pelo usuário.
Podemos, desta forma, construir uma base de conhecimento de fatos e regras que descreve
todas as possíveis relações de família: tio, tia, primo, avô, etc. A partir desta base de
conhecimento pode-se questionar o programa (consultar). Consultas são cláusulas expressas
como condições (relações) a partir das quais se deseja obter uma conclusão. Sendo assim, são
cláusulas sem cabeça, ou seja, sem conclusão.
Algumas consultas requerem uma resposta simples, tal como sim ou não. Outras requerem
que um ou mais objetos sejam fornecidos como resposta. Por exemplo:
: - mãe (Maria, X)
Regras: Cada regra é formada por uma conjunção de uma ou mais condições,
separadas por vírgulas (as quais são lidas como “e”), que implica em uma conclusão.
Consultas: são cláusulas (sem conclusão) formadas por conjunções de uma ou mais
condições.
Por exemplo: :- mãe(X, Maria), pai(Y,Maria).