Lógica para Computação (IF61B)
Lógica para Computação
Prof. Celso Antônio Alves Kaestner, Dr. Eng.
[email protected]
Lógica para Computação (IF61B)
Resolução e PROLOG
Passos para obter a forma clausal de uma fbf:
1. Obter a forma normal prenex da fbf:
(Forma normal prenex: Q1x1Q2x2...Qnxn (A) , onde Q1x1Q2x2...Qnxn
é o prefixo e (A) é a matriz da fbf);
A.
B.
C.
D.
05/11/2015
Eliminar os conectivos  e →;
Colocar as negações () ao lado dos átomos;
Distinguir as variáveis, se necessário;
Deslocar os quantificadores para o início da fbf.
Prof. Celso A A Kaestner
2
Lógica para Computação (IF61B)
Resolução e PROLOG
2.
Eliminar os quantificadores existenciais
(skolemização):
A.
B.
3.
4.
x((x)) é substituído por então ([x:=f(y1,y2...ym)]) onde f é a
função de Skolem e y1,y2...ym são as variáveis quantificadas
universalmente () que antecedem x;
Se não houverem tais variáveis x((x)) é substituído por
(a), onde a é a constante de Skolem.
Eliminar o prefixo da fbf (todos os quantificadores
universais);
Passar a forma normal conjuntiva, reordenando os
conectivos  e  de forma conveniente.
05/11/2015
Prof. Celso A A Kaestner
3
Lógica para Computação (IF61B)
Resolução e PROLOG
Relação entre um conjunto de fbf e a forma
clausal correspondente:
Se F = {A1, A2,...,Ap} é um conjunto de fbf e se
C = {C1, C2,...,Cm} é a forma clausal correspondente,
então
F é inconsistente se e só se C é inconsistente.
05/11/2015
Prof. Celso A A Kaestner
4
Lógica para Computação (IF61B)
Resolução e PROLOG
O princípio da resolução:
1.
Para fórmulas concretas (sem variáveis)
Dadas as cláusulas A1  A2 ... Ap  C e
B1  B2 ... Bm  C então pode-se deduzir a
cláusula resolvente A1  A2 ...Ap B1  B2 ... Bm
(este caso é similar ao da lógica proposicional).
05/11/2015
Prof. Celso A A Kaestner
5
Lógica para Computação (IF61B)
Resolução e PROLOG
O princípio da resolução:
2.
Para fórmulas em geral:
Dadas as cláusulas A1  A2 ... Ap  C e
B1  B2 ... Bm  D tais que C e D são unificáveis
pela substituição mgu [s] (isto é, se C[s] = D[s]) então
pode-se deduzir a cláusula resolvente
(A1  A2 ...Ap)[s]  (B1  B2 ... Bm)[s].
05/11/2015
Prof. Celso A A Kaestner
6
Lógica para Computação (IF61B)
Resolução e PROLOG
Propriedades do princípio da resolução:
1.
2.
É uma regra de inferência correta, isto é, a cláusula
resolvente é conseqüência lógica das cláusulas
iniciais;
É completo por refutação, isto é, se C é um conjunto
inicial de cláusulas, e se C1,C2,...Cn é uma seqüência
de cláusulas distintas tais que Cn é a cláusula vazia e
se para i de 1 até n-1 a cláusula Ci pertence a C ou é
resolvente de cláusulas anteriores na seqüência,
então o conjunto inicial C é inconsistente.
05/11/2015
Prof. Celso A A Kaestner
7
Lógica para Computação (IF61B)
Resolução e PROLOG
Sistemas de refutação por resolução:
Para provar a dedução A1,A2...,An |- B procede-se da
seguinte forma:
1. Monta-se o conjunto {A1,A2...,An , B};
2. Obtém-se sua forma clausal C;
3. Se C é inconsistente, a dedução é válida.
05/11/2015
Prof. Celso A A Kaestner
8
Download

ResolucaoProlog