Estratégias de Resolução

Slides:



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

Capítulo 7 Tableaux semânticos e resolução na Lógica Proposicional
Prolog: Predicados Built-in 1
Cláusulas Conjuntos de cláusulas
Pesquisa em profundidade
Tópicos de Lógica Proposicional
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.
SLX: Procedimentos para WFSX SLX (SL with eXplicit negation) é um procedimento top- down para a WFSXp –Aqui apresenta-se apenas a caracterização de AND-trees.
Tipos de igualdade X = Y é verdadeiro se X é igual a Y. X is E é verdadeiro se X é a avaliação da expressão E. E1 =:= E2 é verdadeiro se a avaliação da.
Introdução à Programação Lógica
Metaheurísticas Prof. Aurora Pozo Departamento de Informática Universidade Federal do Paraná
Life Leonardo Lemos (lal)Paulo Oliva (pbo)& Controle de Fluxo * de predicados: Como em Prolog: fail. conjunção (A,B). disjunção (A;B). Diferente de Prolog:
APRENDIZAGEM COM CONHECIMENTO A PRIORI
LIFE: predicados, funções e sorts built-in Jacques Robin Paulo Oliva Leonardo Lemos DI-UFPE.
Programação em Lógica Indutiva
Inferência em lógica de primeira ordem
Aula 5 - Cap. 7 Fundamentos da IA Mestrado – FEI
Sistema Progol TÉCNICAS E HEURÍSTICAS. Progol – Tópicos Definição do sistema; Declarações de Modo; Construção da cláusula mais específica; Algoritmo de.
Lógica para Computação
Lógica para Computação
Otter Provador de Teoremas
RESOLUÇÃO PROPOSICIONAL
Programação em Lógica Augusto Marks Batista Guilherme dos Santos Fujiyoshi Marlon Bill Santos.
Resolução Proposicional
RESOLUÇÃO PROPOSICIONAL
FORMA NORMAL BSI Alunos: Emerson Shigueo Sugimoto
Aron Sebastian André Sousa Vivian Maria Márcio André
Aula Prática - Prolog Sistemas Inteligentes /~if684
Tópicos em otimização combinatória
Aula Prática - Prolog Sistemas Inteligentes /~if684
Geração de Planos de Execução Planos para Consultas Aninhadas
Capítulo 4 Métodos para determinação de propriedades semânticas de fórmulas da Lógica Proposicional
Como fazer um SQL Injection Marco Ferreira Rui Cunha
TREINAMENTO VIDEO Objetivo: Como usar vídeos em suas aulas.
Cássio Cristo Dawyson Guerra Matheu Santos
Capítulo 11 Programação Lógica
Modelos Matemáticos Usados como tipos em especificações baseadas em modelos Apresentados como teorias ou sistemas formais Uma teoria é definida em termos.
Formas Normais e Resolução
Lógica de Predicados Implementação de Resolução. Em Lógica de 1ª. Ordem Resolução não é uma simples extensão da Resolução da Lógica Proposicional O processo.
Teorema de Herbrand e Unificação
Lógica Proposicional Resolução.
Lógica de Predicados Resolução.
Lógicas e Inferência para IA
Learning Sets of Rules Tom Mitchel (cap. 10)
Implementação de Resolução
SAT e Custo Computacional
Teorema de Herbrand e Unificação
SAT e Custo Computacional
Indução Matemática Recursão
VIEW - VISÕES Professor Esp. Diego André Sant’Ana
Inglês Técnico TERMOS E EXPRESSÕES UTILIZADAS EM PROGRAMAÇÃO DE COMPUTADORES E ATIVIDADES RELACIONADAS A INFORMÁTICA ________________________________________________.
Bible Story Jesus' first miracle. One day there was a wedding in the city of Cana in Galilee, Jesus’ mother was there and so were Jesus’ disciples and.
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.
Algoritmos e Estruturas de Dados RECURSIVIDADE. O que é recursividade? Recursividade significa algo ser definido em termos de sí próprio. Em termos de.
Estratégia empresarial de TI Aula 5 – Teoria dos jogos (3) Prof. E. A. Schmitz.
Lógica para Computação
Semântica de uma fórmula da lógica da 1a ordem via modelo de Herbrand
Inteligência Artificial: Lógica Proposicional e Prolog
Programação em Lógica Indutiva Jacques Robin DI-UFPE.
1st Day of school. Spencer W. Kimball “Ser medíocre quando o esforço e a diligência permitiriam alcançar a superioridade, é um erro bem próximo o pecado.”
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.
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.
Frases de Horn Forma Normal Conjuntiva- para frases sem quantificadores conjunção de frases cada elemento da conjunção é disjunção de literais literal:
Interpretação do Teorema de Herbrand
Universidade de Brasília Laboratório de Processamento de Sinais em Arranjos 1 Adaptive & Array Signal Processing AASP Prof. Dr.-Ing. João Paulo C. Lustosa.
SISTEMA DE TRANSITIVIDADE: PARTICIPANTES PROCESSOS CIRCUNSTÂNCIAS.
APPLICATIONS OF DIFFERENTIAL EQUATIONS - ANIL. S. NAYAK.
Split clique graph complexity
Tópicos Avançados em Engenharia de Software
Transcrição da apresentação:

Estratégias de Resolução Lógica de Predicados Estratégias de Resolução

Defeitos da resolução Apesar de, para lógica de predicados, resolução ser bem melhor que o algoritmo de Gilmore Mas ainda podemos melhorá-la! Durante a resolução, em ambas as lógicas, há passos e cláusulas não usados na prova

Exemplo (proposicional) Darcy Darcy  Criança Criança ^ Macho  Garoto Infantil  Criança Criança ^ Fêmea  Garota Fêmea Isto deriva Garota????

Em Cláusulas [Darcy] [Darcy,Criança] [Criança,Macho,Garoto] [Infantil,Criança] [Criança,Fêmea,Garota] [(Criança ^ Fêmea),Garota] [Fêmea] [Garota] (conseqüência lógica)

Prova gráfica [Darcy] [Darcy,Criança] [Criança] [Criança,Fêmea,Garota] [Fêmea,Garota] [Fêmea] [Garota] [Garota] {}

Estratégias mais eficientes Estratégias de Deleção (ou simplificação) Tautologias Subsunções Literais puros Estratégias de refinamento Resolução de entrada Resolução de unidade Resolução linear …

Estratégias de Deleção -Tautologias Tirar tautologias do conjunto de cláusulas ANTES da unificação Sua ausência não afeta a prova Ex: {[P(a), P(a)], [P(a), Q(x), Q(y)]} Depois da unificação Ex: {[P(a), P(x)], [P(a)],[P(b)]} Se retirarmos [P(a), P(x)], já que são complementares se unificados????

Estratégias de Deleção - Subsunções C1 subsume C2 sse existe O tal que C1O Í C2O Retirar C2 não altera a prova Exs: P(x) subsume P(y) v Q(z) P(x) subsume P(a) P(y) v Q(a) subsume P(f(a)) v Q(a) v R(y)

Estratégias de Deleção - Literais puros Um literal é puro sse se seu complemento (unificável ou não) não existir nas cláusulas Ex: {[R, P, Q], [P, S], [Q, S], [P], [Q], [R]} S é puro Cláusulas que o contém podem ser deletadas pois não serão eliminadas na resolução!

Estratégias de refinamento Resolução de unidade Procura-se empregar cláusulas unitárias Com um só literal Eficiente mas incompleta, se o conjunto de cláusulas não contiver unitárias o suficiente Resolução de entrada Usar pelo menos uma cláusula do conjunto inicial Equivalente à de unidade Completo para cláusulas de Horn Exemplo de falha de ambos {[P, S], [P, S], [P, S], [P, S]}

Cláusulas de Horn Do tipo A1^...^An  B, que vira [A1,...,An, B] Só há um literal positivo: o conseqüente Lê-se: se A1 e ... e An então B Bons para estruturar conhecimento e controlar a inferência

Resolução SLD Resolução Linear com função de Seleção para cláusulas Definidas Generalização de resolução de entrada Sempre usam-se cláusulas do conjunto de entrada ou suas filhas em 1º. grau Boa para cláusulas de Horn Busca-se tentar provar diretamente a conseqüência lógica

O exemplo da garota Garota Criança Fêmea Darcy No conjunto inicial tínhamos Criança ^ Fêmea  Garota ([Criança,Fêmea,Garota])

Example [U. Nilsson] gp(X,Y) :- p(X,Z), p(Z,Y). p(X,Y) :- f(X,Y). p(X,Y) :- m(X,Y). f(adam,bill). f(bill,carl). m(anne,bill).

?- parent(X, bill), male(X). Queries A query is an expression of the form: ?- A1, ..., An. where n=0,1,2,... and A1, ..., An are atomic formulas. Examples: ?- father(X, bill). ?- parent(X, bill), male(X).

Interpretation Queries Consider a query ?- A1, ... , An. Declarative (logical) reading: Are there values of the variables such that A1 and...and An? Procedural (operational) reading: First solve A1, then A2 etc

Ground SLD-Resolution ?- A1,A2,...,An. A1 :- B1,...,Bm. ?- B1,...,Bm,A2,...,An. where A1 :- B1,...,Bm is an instantiated program clause.

A Derivation parent(X,Y) :- father(X,Y). mother(X,Y). father(adam,bill). mother(anne,bill). parent(X,Y) :- father(X,Y). mother(X,Y). father(adam,bill). mother(anne,bill). parent(X,Y) :- father(X,Y). mother(X,Y). father(adam,bill). mother(anne,bill). ?- parent(adam,bill) ?- father(adam,bill) ?- true

Another Derivation parent(X,Y) :- father(X,Y). mother(X,Y). father(adam,bill). mother(anne,bill). parent(X,Y) :- father(X,Y). mother(X,Y). father(adam,bill). mother(anne,bill). parent(X,Y) :- father(X,Y). mother(X,Y). father(adam,bill). mother(anne,bill). ?- parent(anne,bill) ?- mother(anne,bill) ?- true

Full SLD-Resolution B0 :- B1,...,Bm is a renamed program clause. where: B0 :- B1,...,Bm is a renamed program clause. ?- A1,A2,...,An. ?- (B1,...,Bm,A2,...,An)q. q is a solution to the equation A1 = B0. ?- A1= B0, B1,...,Bm,A2,...,An.

Yet Another Derivation ?- parent(X,bill). ?- father(X,bill). ?- X=X1, bill=Y1, father(X1,Y1). ?- true. Answer: X=adam ?- X=adam, bill=bill. parent(X1,Y1) :- father(X1,Y1). father(adam,bill).

And Another One... ?- gp(X,Y). ?- p(bill,Y). X=adam ?- p(X,Z1), p(Z1,Y). ?- X=X1, Y=Y1, p(X1,Z1), p(Z1,Y1). ?- true. Y=carl ?- f(X,Z1), p(Z1,Y). ?- X=X2, Z1=Y2, f(X2,Y2), p(Z1,Y). ?- X=adam,Z1=bill, p(Z1,Y). ?- f(bill,Y). ?- bill=X3, Y=Y3, f(X3,Y3). ?- bill=bill, Y=carl. f(bill,carl). f(adam,bill). gp(X1,Y1) :- p(X1,Z1),p(Z1,Y1). p(X2,Y2) :- f(X2,Y2). p(X3,Y3) :- f(X3,Y3).

And a Failed One... ?- gp(X,Y). ?- p(X,Z1), p(Z1,Y). ?- p(carl,Y). X=bill ?- X=X1, Y=Y1, p(X1,Z1), p(Z1,Y1). ?- X=X2, Z1=Y2, f(X2,Y2), p(Z1,Y). ?- f(X,Z1), p(Z1,Y). ?- X=bill,Z1=carl, p(Z1,Y). ?- f(carl,Y). ?- carl=X3, Y=Y3, f(X3,Y3). ?- fail. FAILURE!!! p(X3,Y3) :- f(X3,Y3). f(bill,carl). gp(X1,Y1) :- p(X1,Z1),p(Z1,Y1). p(X2,Y2) :- f(X2,Y2).

SLD-Tree ?- gp(X,Y). ?- p(X,Z),p(Z,Y). ?- p(bill,Y). X=anne X=adam ?- f(X,Z),p(Z,Y). ?- m(X,Z),p(Z,Y). ?- p(carl,Y). ?- f(bill,Y). ?- m(bill,Y). ?- f(bill,Y). ?- m(bill,Y). ?- f(carl,Y). ?- m(carl,Y). ?- fail. ?- fail. ?- true. Y=carl ?- fail. ?- true. Y=carl ?- fail.

Logic Programming SLD-resolution: Soundness: if n… 21 is a computed answer, then P |= n… 21G Completeness: if P |= G, then there exists a computed answer s such that  = s for some  Example: p(X,Z)  q(X,Y), p(Y,Z) p(X,X) q(a,b)

Logic Programming PROLOG (Alain Colmerauer 1972): Only Horn sentences are acceptable The occur-check is omitted from the unification  unsound Example: test  p(X,X) p(X,f(X)) Backward chaining with depth-first search  incomplete Example: p(X,Y)  q(X,Y) p(X,X) q(X,Y)  q(Y,X)

Logic Programming Infinite SLD-tree:  p(X,b)  q(X,b) {X/b} success  q(b,X)  q(X,b)

Logic Programming PROLOG (Alain Colmerauer 1972): Unsafe cut  incomplete Example: A  B, C  A B  D, !, E D   B, C  D, !, E, C  !, E, C Negation as failure:  P if fails to prove P

Muito obg! Gostei de trabalhar com vcs!! Desculpem as escorregadas! Estudem e boas provas! E depois...

BOAS FÉRIAS!