Lógica Computacional



Documentos relacionados
por séries de potências

Truques e Dicas. = 7 30 Para multiplicar fracções basta multiplicar os numeradores e os denominadores: 2 30 = 12 5

C5. Formação e evolução estelar

UNIDADE 6 - PROGRAMAÇÃO MODULAR

Retas e Planos. Equação Paramétrica da Reta no Espaço

Lógica Proposicional

Equações Diferenciais Ordinárias

TÉCNICAS DE PROGRAMAÇÃO

Lógica Computacional. Argumentos válidos e sólidos. Métodos de Demonstração. Demonstrações formais. Regras de Inferência Igualdade

Notas de Cálculo Numérico

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

Um jogo de preencher casas

Exercícios Teóricos Resolvidos

Dois eventos são disjuntos ou mutuamente exclusivos quando não tem elementos em comum. Isto é, A B = Φ

[ GUIA ] GESTÃO FINANCEIRA PARA EMPREENDEDORES

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

[ \ x Recordemos o caso mais simples de um VLVWHPD de duas HTXDo}HVOLQHDUHV nas duas LQFyJQLWDV [ e \.

Eventos independentes

TEXTO DE REVISÃO: Uso da calculadora científica e potências de 10.

Aritmética de Ponto Flutuante

CAPÍTULO 2. Grafos e Redes

ponto P terá as projecções P 1 e P 2. E o eixo X passa para X. Vamos ver o que acontece no plano do

QUANTIFICADORES. Existem frases declarativas que não há como decidir se são verdadeiras ou falsas. Por exemplo: (a) Ele é um campeão da Fórmula 1.

Inteligência Artificial IA III. PROVA AUTOMÁTICA DE TEOREMAS

N1Q1 Solução. a) Há várias formas de se cobrir o tabuleiro usando somente peças do tipo A; a figura mostra duas delas.

Matemática Discreta - 02

Unidade 5: Sistemas de Representação

Universidade Federal do Paraná. Setor de Ciências Exatas. Departamento de Matemática

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

Aula 4 Estatística Conceitos básicos

Plano de Aula de Matemática. Competência 3: Aplicar os conhecimentos, adquiridos, adequando-os à sua realidade.

Disponibilizo a íntegra das 8 questões elaboradas para o Simulado, no qual foram aproveitadas 4 questões, com as respectivas resoluções comentadas.

Química Molecular. Este é um programa feito em Javascript que permite explorar alguns aspetos da química

ESTATÍSTICA MÓDULO 1 INTRODUÇÃO À ESTATÍSTICA

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos

4 Mudança de Coordenadas

INSTRUMENTAÇÃO E CONTROLE DE PROCESSOS TRANSFORMADAS DE LAPLACE

Introdução ao estudo de equações diferenciais

TRUQUE: DESLIGUE OS AVISOS DE

UNIVERSIDADE ESTADUAL DE CAMPINAS INSTITUTO DE MATEMÁTICA, ESTATÍSTICA E COMPUTAÇÃO CIENTÍFICA Matemática Licenciatura. (Números Complexos)

TRANSFORMADORES. P = enrolamento do primário S = enrolamento do secundário

Faculdade de Computação

f (x) = x Marcelo Viana Instituto Nacional de Matemática Pura e Aplicada Marcelo Viana

Avaliação 1 - MA Gabarito

¹CPTL/UFMS, Três Lagoas, MS,Brasil, ²CPTL/UFMS, Três Lagoas, MS, Brasil.

SISTEMA BRENA DE AUTOMAÇÃO COMERCIAL

Tabelas vista de estrutura

SOCIEDADE BRASILEIRA DE MATEMÁTICA MESTRADO PROFISSIONAL EM REDE NACIONAL PROFMAT

Capítulo 3 Lógica silogística

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

Workshop sobre Empreendedorismo

A otimização é o processo de

Faculdade Sagrada Família

GERADORES ELÉTRICOS INTRODUÇÃO TEÓRICA

CAPÍTULO 6 Termologia

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Potenciação no Conjunto dos Números Inteiros - Z

Resolução da lista de exercícios de casos de uso

Pedro Ribeiro 2014/2015

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

Vamos à prova: Analista Administrativo ANEEL 2006 ESAF

Implementando uma Classe e Criando Objetos a partir dela

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

COMPUTAÇÃO APLICADA. Porém, é necessário considerar que ninguém ensina ninguém a pensar, pois todas as pessoas normais tem este dom.

A Torre de Hanói e o Princípio da Indução Matemática

Numa turma de 26 alunos, o número de raparigas excede em 4 o número de rapazes. Quantos rapazes há nesta turma?

5 Um simulador estocástico para o fluxo de caixa

Discussão de Sistemas Teorema de Rouché Capelli

Sistemas de Manutenção da Verdade-4. "Truth Maintenance System" Objectivos de um TMS: 1. Identificar a responsabilidade pelas conclusões

Estresse Financeiro e Produtividade no Trabalho

MÓDULO 4 DISTRIBUIÇÃO DE FREQÜÊNCIAS

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

COMO ENSINEI MATEMÁTICA

Capítulo 1. x > y ou x < y ou x = y

MATEMÁTICA (UFOP 2ª 2009 PROVA A) Questões de 09 a 18

POR UNANIMIDADE 06 (seis) meses

Propriedades das Funções Deriváveis. Prof. Doherty Andrade

Invenções Implementadas por Computador (IIC) Patentes

INSTITUTO TECNOLÓGICO

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

IMS Health. Carlos Mocho. General Manager.

O MÉTODO HÚNGARO PARA RESOLUÇÃO DE PROBLEMAS DE OTIMIZAÇÃO

2 Fundamentação Conceitual

4. A FUNÇÃO AFIM. Uma função f: R R chama-se afim quando existem números reais a e b tais que f(x) = ax + b para todo x R. Casos particulares

FACULDADE PITÁGORAS DISCIPLINA: GESTÃO DE PROJETOS. Prof. Msc. Carlos José Giudice dos Santos

3. Fase de Planejamento dos Ciclos de Construção do Software

Classes de Complexidade e NP-Completude

Computadores XII: Aprendendo a Somar A4 Texto 3

A origem dos filósofos e suas filosofias

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

Método de Eliminação de Gauss. Eduardo Camponogara

Análise e Projeto Orientados a Objeto

Notas sobre a Fórmula de Taylor e o estudo de extremos

Curso Superior de Tecnologia em Gestão de Recursos Humanos. Professora Mestranda Elaine Araújo

Transcrição:

Lógica Computacional A Resolução como Regra de Inferência O Sistema de Dedução R P Coerência e Completude do Sistema R P 13 Novembro 2013 Lógica Computacional 1

Resolução - O algoritmo Horn-SAT é coerente e completo no sentido que decide deterministicamente se um conjunto S de cláusulas de Horn é satisfazível. Além disso é bastante eficiente, sendo polinomial no número de clásulas. - Como vimos, demonstrar que uma fórmula é uma consequência tautológica de um conjunto de premissas, corresponde a provar, por absurdo, que o conjunto de fórmulas obtido pelas premissas e a negação da conclusão é insatisfazível. - Assim o algoritmo Horn-SAT permite demonstrar fórmulas e partir de premissas,... mas apenas se a representação na forma CNF conduzir a cláusulas Horn. No caso geral, a forma CNF inclui várias cláusulas não-horn e o algoritmo determinista Horn-SAT não pode ser aplicado. Para o caso geral pode usar-se o sistema R de resolução que utiliza apenas uma regra de inferência a resolução. Antes de definir essa regra convém relembrar os conceitos e terminologia utilizados. 13 Novembro 2013 Lógica Computacional 2

Regra de Resolução Cláusula: Uma cláusula é uma disjunção de literais. Literal: Um literal é um átomo (fórmula atómica) ou a sua negação. Exemplo: A cláusula A B C tem 1 literal positivo (B) e dois negativos ( A e C) Regra de Resolução: - A partir de duas cláusulas C 1 e C 2 em que uma contem um literal positivo L e outra o literal negativo L, pode inferir-se outra cláusula, denominada resolvente, composta por todos os literais de C 1 e de C 2, excepto L e L. Exemplo: As cláusulas A B C e A C D podem ser resolvidas em ordem a C obtendo-se a cláusula resolvente A B A D que se pode simplificar para A B D Nota: Um cláusula pode ser definida como um conjunto de literais, o que torna automática a sua simplificação, isto é A B A D { A, B, D} 13 Novembro 2013 Lógica Computacional 3

Coerência da Resolução Teorema : A regra de resolução é coerente - Este teorema declara que para todas as interpretações em que as cláusulas resolvidas sejam verdadeiras a resolvente também o é. - A sua demonstração é imediata. Considerem-se as duas cláusulas A ϕ e A ψ em que ϕ e ψ são cláusulas arbitrárias. Ora o átomo A ou é verdadeiro ou é falso. Se A fôr verdadeiro então ψ também é verdadeiro. Se A for falso, então ϕ tem de ser verdadeiro. - Desta forma ou ϕ ou ψ são verdadeiras e portanto a cláusula ϕ ψ é verdadeira, ficando assim demonstrada a coerência da regra da resolução. 13 Novembro 2013 Lógica Computacional 4

Sistema de Resolução R Sistema de Resolução R P Sistema de Resolução R P (proposicional) tem as seguintes características: 1. Deduz uma fórmula ϕ de premissas Φ ( Φ - ϕ ) por absurdo, isto é demonstra que o conjunto Φ { ϕ} é insatisfazível deduzindo a contradição, a partir do conjunto de fórmulas Φ { ϕ}. 2. Todas as fórmulas utilizadas são cláusulas, ou seja disjunções de literais, se necessário convertendo as fórmulas Φ { ϕ} na forma CNF. 3. A única regra de inferência utilizada é a resolução. Nota: No contexto do sistema R, a contradição é obtida através de uma cláusula vazia. De facto, obtém-se de duas cláusulas A e A, e portanto a cláusula resolvente é vazia, isto é, não contem nenhuns literais. Esta cláusula vazia, é geralmente denotada pelo símbolo. 13 Novembro 2013 Lógica Computacional 5

Resolução - Alguns exemplos simples permitem perceber que a regra de resolução permite implementar algumas regras de inferência conhecidas Modus Ponens: {A B, A} - R B Modus Tolens: {A B, B} - R B 1. A B 2. A 3. B 4. A Res 1, 3 5. Res 2, 4 1. A B 2. B 3. A 4. B Res 1, 3 5. Res 2, 4 Raciocínio Hipotético : {A B, B C } - R A C 1. A B 2. B C 3. A 4. C 5. B Res 1, 3 6. C Res 2, 5 7. Res 4, 6 13 Novembro 2013 Lógica Computacional 6

Resolução Linear - De notar que a regra de resolução não permite resolver duas cláusulas em mais do que um literal. Caso contrário a regra não seria coerente. - O exemplo abaixo ilustra claramente a situação {A B} - R A??? 1. A B 2. A B 3. A 4. Res 1, 2??? - Podemos agora ilustrar o funcionamento do sistema de Resolução com um exemplo mais complexo 13 Novembro 2013 Lógica Computacional 7

Sistema de Resolução Exemplo: { (B C) (A D)), A B, A D} - R A Passo 1: Criar as cláusulas a partir das premissas e negação da conclusão. (B C) (A D)) ó ((B C) (A D)) ( (A D) (B C)) ó (B C A) (B C D) ( A D) ( B C)) ó (B C A) (B C D) ( A D B) ( A D C) ó (A B C) (B C D) ( A B D) ( A C D) - Ficamos pois com as cláusulas A B C B C D A B D A C D para além das cláusulas correspondentes às outras premissas A B A D e da cláusula correspondente á negação da conclusão A 13 Novembro 2013 Lógica Computacional 8

Sistema de Resolução - Uma vez obtidas as cláusulas, pode fazer-se a demonstração por resolução. 1. A B C 2. B C D 3. A B D A D A 8 4. A C D 5. A B D 6. A D 7. A 8. D Res 6, 7 9. A D Res 3, 5 10. D Res 7, 9 11. Res 8, 10 A B D A B 9 A D A 10 D 11 - De notar que esta demonstração não é única. - Além disso, não segue uma heurística óbvia para escolher em cada passo as cláusulas a resolver, obrigando a uma visão global de todas as cláusulas para decidir o que fazer. - No entanto existe uma estratégia de resolução, a resolução linear, que limita as escolhas a fazer e permite uma implementação computacional mais adequada. 13 Novembro 2013 Lógica Computacional 9

Resolução Linear - Na resolução linear, uma das cláusulas a resolver é a última obtida. Por exemplo, 1. A B C 2. B C D 3. A B D 4. A C D 5. A B 6. A D 7. A 8. B Res 7, 5 9. A D Res 8, 3 10. A Res 9, 6 11. Res 10, 7 A B A D A A B A B D A D A 8 9 10 11 - Nota: Pode haver mais de uma demonstração linear. 8. D Res 7, 6 9. A B Res 8, 3 10. B Res 9, 7 11. A Res 10, 5 11. Res 11, 7 13 Novembro 2013 Lógica Computacional 10 A D A B B A A D A B D A A B A 8 9 10 11 12

Completude e Coerência do Sistema R - Como observado no exemplo, existem normalmente várias possíveis sequências de demonstração da cláusulas vazia. - Nos exemplos conseguimos sempre obter a cláusula vazia sempre que as cláusulas iniciais fossem contraditórias. No entanto coloca-se a questão de saber se isto é sempre possível, isto é se o sistema R é completo. Esta questão é resolvida pelo seguinte Teorema: O sistema R é coerente e completo. A demonstração de que o sistema R é coerente é imediata. A única regra utilizada é a regra da resolução e vimos atrás que a regra é coerente. A demonstração de que R é completo pode ser feita por indução, no número de átomos existentes no conjunto S de cláusulas inconsistentes (contraditórias). Passo Base: Se S só contem um literal e é inconsistente então a cláusula vazia é obtida por resolução. - Para ser inconsistente S tem de ser {A, A} pelo que resolvendo as duas cláusulas se obtém a cláusula vazia. 13 Novembro 2013 Lógica Computacional 11

Completude e Coerência do Sistema R Passo de Indução: Se se obtém a cláusula vazia aplicando resolução a um conjunto inconsistente de cláusulas S n com n átomos, então a cláusula vazia também se obtém por resolução num conjunto inconsistente de cláusulas, S n+1, com n+1 átomos. A demonstração desta cláusula faz-se i. Obtendo uma cobertura de S n+1 por dois conjuntos de cláusulas X 1 e X 2, ou seja por conjuntos tais que X 1 X 2 = S n+1 ; ii. iii. demonstrando que aplicando resolução a X 1 se pode obter ou a cláusula vazia ou a cláusula A n+1 ; e demonstrando que aplicando resolução a X 2 se pode obter ou a cláusula vazia ou a cláusula A n+1 ; Uma vez demonstrados estes pressupostos, é fácil de ver que aplicando resolução ao conjunto S n+1 se pode obter a cláusula vazia. Com efeito, i. Ou se obtém a cláusula vazia a partir do conjunto X 1 S n+1 ; ii. Ou se obtém a cláusula vazia a partir do conjunto X 2 S n+1 ; iii. Ou se obtêm as cláusulas A n+1 a partir de X 1 e A n+1 a partir de X 2, pelo que, resolvendo-as, se obtém a cláusula vazia. 13 Novembro 2013 Lógica Computacional 12

Completude e Coerência do Sistema R Demonstremos agora os pressupostos anteriores. Os conjuntos X 1 e X 2 que constituem uma cobertura de S n+1 são construídos da seguinte forma: X + é composto por todas as cláusulas que contêm o literal A n+1; X - é composto por todas as cláusulas que contêm o literal A n+1; X 0 é composto por todas as cláusulas que não contêm os literais A n+1 e A n+1. X 1 = X + X 0 e X 2 = X - X 0 Naturalmente, se o conjunto X 0 for inconsistente, quer X 1 quer X 2 são inconsistentes. No caso contrário, o conjunto X 2 torna-se inconsistente se se atribuir o valor de Verdade a A n+1. De facto as cláusulas de X + tornam-se todas Verdade e sendo S n+1 inconsistente, a inconsistência ocorrerá em X - X 0 ou seja em X 2. Exemplo: S 3 = {A B, A C, A B C, A B, A B} X + = {A C} ; X - = {A B C} ; X 0 = {A B, A B, A B}; X 1 = {A C, A B, A B, A B} X 2 = {A B C, A B, A B, A B} A 1 A A 2 B A 3 C 13 Novembro 2013 Lógica Computacional 13

Completude e Coerência do Sistema R - No contexto em que A n+1 = Verdade, consideremos o conjunto Y 2 resultante de apagar o literal A n+1 de todas as cláusulas de X 2, ou seja Y 2 = Y - X 0. - Como assumimos A n+1 = Verdade então A n+1 = Falso, donde o valor de verdade das cláusulas de Y 2 não se altera; logo se X 2 é inconsistente Y 2 também é inconsistente. - Mas como Y 2 contêm apenas n literais (os literais A n+1 e A n+1 não ocorrem em Y 2 ) a hipótese de indução garante que de Y 2 se pode obter a cláusula vazia por resolução. - Mas então, a mesma demonstração que obtém a cláusula vazia a partir de Y 2 pode ser feita com as correspondentes cláusulas de X 2. Neste caso, a demonstração obtém ou a cláusula vazia, se não utilizar cláusulas de Y -, ou o literal A n+1 se as utilizar. - Fica assim provado que se A n+1 = Verdade se obtém ou a cláusula vazia ou a cláusula A n+1 do conjunto X 2. Da mesma forma se poderia provar que se A n+1 = Falso se obtém ou a cláusula vazia ou a cláusula A n+1 do conjunto X 1. - Combinando ambas as demonstrações ou se obtém a cláusula vazia numa delas ou se obtêm as cláusulas A n+1 e A n+1, que podem ser resolvidas para se obter a cláusula vazia. 13 Novembro 2013 Lógica Computacional 14

Completude e Coerência do Sistema R - O raciocínio anterior pode ser ilustrado com o conjunto inconsistente S 3 = {A B, A C, A B C, A B, A B} a partir do qual se construiram os conjuntos X 1 = {A C, A B, A B, A B} X 2 = {A B C, A B, A B, A B} - No exemplo podem demonstrar-se a cláusula C a partir de X 1 e a cláusula C de X 2. 1. A C 2. A B 3. A B 4. A B 5. A Res 4, 3 6. C Res 5, 1 - Como ambas as demonstrações forma feitas com um subconjunto de cláusulas de S 3, elas podem ser feitas a partir de conjunto S 3. - Neste caso, resolvendo C com C obtem-se a cláusula vazia. 1. A B C 2. A B 3. A B 4. A B 5. A Res 4, 3 6. B C Res 5, 1 7. A C Res 6, 2 8. C Res 7, 5 13 Novembro 2013 Lógica Computacional 15