Elsa Carvalho 186 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Aplicação e Composição.

Slides:



Advertisements
Apresentações semelhantes
Lógica de Predicados e Representação de Conhecimento
Advertisements

Capítulo 8 A linguagem da Lógica de Predicados
Capítulo 7 Tableaux semânticos e resolução na Lógica Proposicional
Prof. Marcone Sotéro Cálculo de Predicados Prof. Marcone Sotéro
Capítulo 9 A semântica da Lógica de Predicados
Capítulo 1 A linguagem da Lógica Proposicional
Elementos de Lógica Matemática
Cláusulas Conjuntos de cláusulas
Tópicos de Lógica Proposicional
Formalizar semântica da LPO
TC2- Lógica Proposicional
Lógica Proposicional-1
Elsa Carvalho 241 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Interpretação.
Elsa Carvalho 49 Universidade da Madeira Departamento de Matemática e Engenharias Programação em Lógica e Funcional (2000/01) (Actualizado em 2005/06)
Elsa Carvalho 163 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Teoria dos Modelos.
Elsa Carvalho 112 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Existe também.
Nice Maria Americano da Costa
Lógica de Predicados Sintaxe. O que não é possível expressar em Lógica Prop. Todo tricolor é um campeão. Roberto é tricolor. Logo Roberto é um campeão.
Introdução à Programação Lógica
Cálculo Relacional Datalog não-recursivo
Resolução.
Raciocínio Aproximado
BCC101 – Matemática Discreta I
BCC 101– Matemática Discreta
EQUAÇÕES POLINOMIAIS Prof. Marlon.
Lógica para Computação
Lógica para Computação
RESOLUÇÃO PROPOSICIONAL
RESOLUÇÃO PROPOSICIONAL
AXIOMATIZAÇÃO Equipe: André Augusto Kaviatkovski, Daniel Elias Ferreira, Vinicius Zaramella.
FORMA NORMAL BSI Alunos: Emerson Shigueo Sugimoto
DEDUÇÃO NO CÁLCULO PROPOSICIONAL
Indução Métodos de prova já vistos Excepções
Lógica de Primeira Ordem -2
Linguagem de 1ª ordem da teoria de conjuntos
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
Elsa Carvalho 28 Universidade da Madeira Departamento de Matemática e Engenharias Programação em Lógica e Funcional (2000/01) (Actualizado em 2005/06)
Aron Sebastian André Sousa Vivian Maria Márcio André
Luís Rodrigues – Universidade dos Açores
LISTAS Uma lista é uma estrutura de dados muito comum na programação não numérica (com particular destaque na computação simbólica onde representa quase.
Capítulo 10 Propriedades semânticas da Lógica de Predicados
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
Capítulo 11 Programação Lógica
Teorema de Herbrand e Unificação
Lógica de Predicados Forma Prenex e Skolem.
Lógica de Predicados Resolução.
Lógicas e Inferência para IA
Lógica de Predicados Sintaxe.
Lógica de Predicados Forma Prenex e Skolem.
Lógica para Computação
Semântica de uma fórmula da lógica da 1a ordem via modelo de Herbrand
Elsa Carvalho 18 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Estruturas de.
BCC101 Matemática Discreta I
94 Elsa Carvalho Universidade da Madeira Departamento de Matemática e Engenharias Programação em Lógica e Funcional (2000/01) (Actualizado em 2005/06)
Decidibilidade, Corretude, Completude, Consistência
Sistema Formal Um Sistema Formal para a lógica proposicional é uma 2-tupla < L, R >, onde: L: linguagem proposicional R: conjunto de regras de inferências.
Aritmética Em Prolog podemos fazer uso de operadores aritméticos não lógicos pré-definidos pelo sistema, como por exemplo >, >=, +, *, -, etc. A interrogação.
Linguagem de 1ª ordem da teoria de conjuntos
Elsa Carvalho 262 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Negação Com os.
Elsa Carvalho BEGIN  := id; b:=true; S:=[,..., ] WHILE (S  AND b)DO := top(S); S:=pop(S); := ; IF s e v são da forma f(t 1,... t n ), g(r 1,..., r m.
Análise de Mundo Fechado Tratável com Atualizações Autor: Fábio Alves Marques.
Elsa Carvalho 1 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Conceitos Prolog.
Elsa Carvalho 203 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Resolução (com.
Elsa Carvalho 18 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Programação recursiva.
Sistema Formal Um Sistema Formal para a lógica proposicional é uma 2-tupla < L, R >, onde: L: linguagem proposicional R: conjunto de regras de inferências.
Anjolina Grisi de Oliveira
Inteligência Artificial
Interpretação do Teorema de Herbrand
Universidade Federal da Paraíba Departamento de Informática Introdução à Engenharia de Computação Álgebra de Boole.
1 Lógica de Predicados BCC101 Matemática Discreta I.
Transcrição da apresentação:

Elsa Carvalho 186 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Aplicação e Composição de Substituições A resolução com cláusulas que contêm variáveis é similar à resolução proposicional mas requer a aplicação de substituições com o intuito de substituir certas variáveis por termos específicos. Seja a substituição  = {X 1 /t 1, X 2 /t 2,..., X n /t n } Como já vimos, uma aplicação de  numa fórmula W é a substituição de todas as ocorrências livres da variável X i pelo termo t i. O resultado é chamado de instância da substituição e é denotado por W .

Elsa Carvalho 187 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Aplicação e Composição de Substituições Considere-se a fórmula W = gosta(X, Y) se aplicarmos a W a substituição  1 = {X/ana, Y/luis} temos a instância da substituição W  1= gosta(ana, luis). se aplicarmos a W a substituição  2 = {X/Y, Y/luis} temos a instância da substituição W  2= gosta(Y, luis) e aplicando uma vez mais  2 ficamos com (W  2)  2 = gosta(luis, luis).

Elsa Carvalho 188 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Aplicação e Composição de Substituições Nem todas as substituições são válidas. Para que o sejam devem respeitar as seguintes propriedades: Funcionalidade: {U 1 /t 1,..., U m /t m } todas as variáveis U i devem ser distintas. Por exemplo {X/ana, Y/luis, Y/miguel} não é uma substituição válida porque não respeita a propriedade acima. Idempotência: para qualquer fórmula W deve ter-se que W  = (W  )  ou seja, o resultado de aplicar a substituição uma vez deve ser igual ao resultado de aplicá-la n vezes (com n>1) Assim a substituição  2 não é considerada válida.

Elsa Carvalho 189 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Aplicação e Composição de Substituições A operação mais importante entre substituições é a composição. Suponhamos que temos duas substituições válidas:  1 = {U 1 /t 1,..., U m /t m }  2 = {V 1 /s 1,..., V n /s n } a composição de  1 com  2 é denotada pela expressão  1   2 e é definida como {U 1 /t 1  2,..., U m /t m  2}  {V j /s j | V j  {U 1,..., U m }} ou seja, aplicar  1 a W representa substituir todas as suas variáveis livres U i pelos termos t i resultando na instância W  1. Depois restam apenas duas formas da substituição  2 alterar W  1: substituir todas as variáveis V j introduzidas por  1 substituir todas as variáveis V j que não foram substituídas por  1

Elsa Carvalho 190 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Aplicação e Composição de Substituições Nem todas as composições são completamente válidas uma vez que nem todas respeitam a propriedade da idempotência. No entanto possuem todas as seguintes propriedades:  1   2 é funcional W(  1   2 ) = (W  1)  2 para qq fórmula W (  1   2)   3 =  1  (  2   3)associatividade de  Mas a composição não é, em geral, comutativa. Prove que a composição não é comutativa utilizando a fórmula W = p(U1, g(V1), V2) e as substituições  1 = {U1/ f(V1)}  2 = {V1/a, V2/b, U1/c}

Elsa Carvalho 191 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Resolução em Lógica de Predicados De forma a utilizarmos a resolução para as cláusulas da lógica de predicados teremos de suplementar essa regra de inferência com o uso implícito de outra regra conhecida como instanciação universal: (  X)W(X)├ (  Y 1 )... (  Y n )W(X){X/t)} para qq termo t onde Y 1,... e Y n são as variáveis, caso existam, que ocorrem em t

Elsa Carvalho 192 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Resolução em Lógica de Predicados Temos as seguintes cláusulas que estão implicitamente universalmente quantificadas  gosta(luis, Y)  feminino(Y)  tia(Y,Z) gosta(X, mae)  ama(X, mae) a resolução actua instanciando em primeiro lugar ambas as cláusulas através da substituição  = {Y/mae, X/luis} de forma a tornar os literais ‘gosta’ complementares:  gosta(luis, mae)  feminino(mae)  tia(mae,Z) gosta(luis, mae)  ama(luis, mae) antes de continuar exactamente como no caso proposicional para obter o resolvente  ama(luis, mae)  feminino(mae)  tia(mae,Z)

Elsa Carvalho 193 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Resolução em Lógica de Predicados Resumindo, se tivermos A  A 1  …  A m C  A  C 1  …  C n a resolução procura um literal no antecedente da implicação e o mesmo literal no consequente de outra cláusula e, com um passo da resolução, obtemos C  A 1  …  A m  C 1  …  C n

Elsa Carvalho 194 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Resolução em Lógica de Predicados Um literal positivo é representado como A  (que é o mesmo que dizer A  true) Um literal negativo é representado como  A(que é o mesmo que dizer false  A) Resolução chã para um conjunto C de cláusulas é a aplicação da resolução proposicional a um conjunto de instanciações chãs das cláusulas de C.

Elsa Carvalho 195 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Resolução em Lógica de Predicados Um unificador para as fórmulas W1 e W2 é a substituição  tal que W1  = W2 . Um unificador  para duas fórmulas W1 e W2 diz-se um unificador mais geral se e só se, para todo o unificador  para as fórmulas existe uma substituição  tal que  =  ° . Pode-se estender a noção de unificador a um conjunto de fórmulas. Um conjunto de fórmulas diz-se unificável se e só se admite um unificador.

Elsa Carvalho 196 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Resolução em Lógica de Predicados  = {X/a, Y/a} é um unificador para p(X) e p(Y), mas não é o unificador mais geral. O unificador mais geral é  = {X/Y} Ou seja  =  {Y/a} Mostrar que  =  ° , se  = {Y/a} As fórmulas p(X, f(Y)) e p(f(U), g(Z)) não são unificáveis.

Elsa Carvalho 197 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Resolução em Lógica de Predicados Mudança (ou renomeação) de variáveis É uma substituição que substitui apenas variáveis por variáveis. Por exemplo, dadas as fórmulas {p(f(Z), X), p(Y,g(U))} temos que uma mudança de variáveis é:  = {Z/Z1, X/X1, Y/Y1, U/U1}, donde obteríamos p(f(Z1), X1) e p(Y1, g(U1)) Um unificador mais geral é único a menos de uma mudança de variáveis. Quer dizer, se  e  são unificadores mais gerais para um conjunto de fórmulas, existe uma mudança de variáveis  tal que  =  ° .

Elsa Carvalho 198 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Resolução em Lógica de Predicados Dadas as fórmulas {p(f(Z), X), p(Y,g(U))} temos os dois u.m.g.  = {X/g(U), Y/f(Z)}  = {X/g(U1), Y/f(Z1), Z/Z1, U/U1} A mudança de variáveis  apresentada no exemplo anterior valida o que foi declarado, ou seja  =  ° 

Elsa Carvalho 199 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Unificação Todo o conjunto unificável admite um unificador mais geral. Prova Existe um algoritmo que indica se um dado conjunto é unificável e, no caso afirmativo, retorna o unificador mais geral. Esse algoritmo é chamado de unificação. O algoritmo usa uma pilha S na qual guardamos pares de termos a unificar, e que iniciamos com os pares. Recorre-se ainda a uma variável booleana para indicar a impossibilidade de unificar as duas expressões. O unificador mais geral  é construído progressivamente começando com a identidade.