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