Lógica Computacional

Documentos relacionados
Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica Computacional

Lógica para computação - Propriedades Semânticas da Lógica Proposicional (parte 2/2) Alfabeto Simplificado e Formas Normais

Relações semânticas entre os conectivos da Lógica Proposicional(Capítulo 5)

Métodos de Verificação

Lógica Computacional

Lógica para Computação

Lógica Computacional

Nelma Moreira. Aula 17

Lógica Computacional

Alfabeto da Lógica Proposicional

Introdução. Programação em Lógica. Resolução na Lógica Proposional. Resolução na Lógica Proposional. Resolução na Lógica Proposional.

Lógica Computacional Aula 4

Lógica Computacional Aulas 8 e 9

01/09/2014. Capítulo 3. Propriedades semânticas da Lógica Proposicional

DIM Resolução e método tableaux DIM / 37

Lógica Computacional

Lógica Computacional (CC2003)

Fundamentos de Lógica Matemática

Introdução ao Curso. Área de Teoria DCC/UFMG 2019/01. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG /01 1 / 22

Lógica Computacional

Lógica para Computação Segundo Semestre, Aula 10: SAT. Prof. Ricardo Dutra da Silva. ( p (q ( q r))) ( p r) ( p q) ( p q r) p r.

1 Lógica de primeira ordem

UMA PROVA DE CONSISTÊNCIA

LÓGICA PROPOSICIONAL

01/09/2014. Capítulo 1. A linguagem da Lógica Proposicional

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Lógica proposicional

Lógica para computação - Linguagem da Lógica de Predicados

Lógica proposicional. Capítulo 1

Lógica e Metodologia Jurídica

Lógica Computacional

Formas Normais para Lógicas Modais

Afirmações Matemáticas

Técnicas de Demonstração. Raquel de Souza Francisco Bravo 17 de novembro de 2016

Lógica Proposicional

JOÃO NUNES de SOUZA. LÓGICA para CIÊNCIA da COMPUTAÇÃO. Uma introdução concisa

Dedução Natural e Sistema Axiomático Pa(Capítulo 6)

LÓGICA I ANDRÉ PONTES

ESCOLA ONLINE DE CIÊNCIAS FORMAIS CURSO DE INTRODUÇÃO À LÓGICA MATEMÁTICA (2) METALÓGICA DO CÁLCULO PROPOSICIONAL AULA 06 FORMAS NORMAIS

Conhecimento e Raciocínio Lógica Proposicional

3 Cálculo Proposicional

Análise e Projeto de Algoritmos

Lógica Proposicional Semântica e Tabelas Verdade

Lógica Computacional

3.4 Fundamentos de lógica paraconsistente

Lógica e Raciocínio. Lógica Proposicional. Universidade da Madeira.

Lógica e Metodologia Jurídica

Como primeira e indispensável parte da Lógica Matemática temos o Cálculo Proporcional ou Cálculo Sentencial ou ainda Cálculo das Sentenças.

Fundamentos 1. Lógica de Predicados

JOÃO NUNES de SOUZA. LÓGICA para CIÊNCIA da COMPUTAÇÃO. Uma introdução concisa

Lógica Proposicional

Inteligência Artificial IA II. LÓGICA DE PREDICADOS PARA REPRESENTAÇÃO DO CONHECIMENTO

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34

Lógica para computação

Lógica para Computação

Lógica Proposicional Métodos de Validação de Fórmulas. José Gustavo de Souza Paiva. Introdução

Função polinomial. Pré-Cálculo. Função polinomial. Função polinomial: exemplos. Humberto José Bortolossi. Parte 6. Definição

2.3.4 Algoritmos de SAT

Lógica Computacional Frequência. Universidade da Beira Interior

Fundamentos 1. Lógica de Predicados

Lógica Proposicional Parte II. Raquel de Souza Francisco Bravo 25 de outubro de 2016

Lógica Proposicional Fórmulas e Precedência de Operadores

Propriedades Semânticas da Lógica Proposicional(Capítulo 3)

Análise e Síntese de Algoritmos

PROVA COM CONETIVAS BOOLEANAS. Introdução-31

(Aula 13) Ruy J. G. B. de Queiroz Centro de Informática, UFPE. Teoria dos Conjuntos. (Aula 13) Ruy de Queiroz. Conjuntos.

Vimos que a todo o argumento corresponde uma estrutura. Por exemplo ao argumento. Se a Lua é cúbica, então os humanos voam.

Lógica. Professor Mauro Cesar Scheer

Agentes Lógicos. Capítulo 7 (online)

Lógica para Computação Primeiro Semestre, Aula 10: Resolução. Prof. Ricardo Dutra da Silva

Fundamentos de Lógica e Algoritmos. Aula 1.3 Proposições e Conectivos. Prof. Dr. Bruno Moreno

Introdução à Lógica Computacional. Circuitos: Maps de Karnaugh Lógica Proposicional: Prova por Refutação

Lógica Computacional

Lógica e Metodologia Jurídica

Agenda. Complexidade Não Determinista A classe NP. A classe Co-NP Reduções de tempo polinomial. Definida por. Exemplos em:

anti-simétrica, com elemento mínimo e tal que, dados n, n, n N, se

Aula 2: Linguagem Proposicional

Lógica de primeira ordem

Aula 7: Dedução Natural 2

8. Expressões lógicas

Lógica Computacional. Nelma Moreira. Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto

Lógica Computacional. Nelma Moreira. Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto

Aula 2, 2014/2 Sintaxe da Lógica dos Conectivos

Provadores de Teoremas baseados em contagem

Lógica Computacional

Solução de um Jogo Solitário

INF 1771 Inteligência Artificial

Transcrição:

Aula Teórica 10: António Ravara Simão Melo de Sousa Departamento de Informática, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa Departamento de Informática, Faculdade Engenharia, LISP & Release Group Universidade Beira Interior

Motivação Como determinar a natureza de uma fórmula na FNC? Custo computacional I Transformar fórmulas arbitrárias para a FNC é moroso. I Se FNC(') entãoverificarque = ' ésimples: demora no máximo um tempo proporcional ao número de símbolos proposicionais da fórmula. I Determinar se dada fórmula (não válida) é possível ou contraditória requer mais trabalho: I é contraditória se uma disjunção for um literal e outra a sua negação (implica análise combinatória); I é possível se todas as disjunções forem possíveis e a fórmula não for contraditória. Só no caso da validade a análise é eficiente. Mas há partida não sabemos a natureza da fórmula dada... Vamos ver um algoritmo eficiente, mas que só funciona para uma dada classe de fórmulas.

Fórmulas de Horn básicas Terminologia I Uma fórmula atómica (p, com p 2 P, ou?) diz-seumliteral positivo. I Anegaçãodeumliteralpositivo( p, com p 2 P, ou >) diz-se um literal negativo. Definição Uma fórmula de Horn básica é uma disjunção de literais (com no máximo um a ocorrer positivamente). Exemplos I?, p, p _ q, p _ q são fórmulas de Horn básicas; I p _ q ou?_p não são fórmulas de Horn básicas.

Fórmulas de Horn básicas Há 3 casos de fórmulas de Horn básicas I Sem literais negativos (sendo então apenas uma fórmula atómica). I Sem literais positivos. I Com literais negativos e um positivo. Lema 10.1 Seja L um literal positivo. 1. L >!L 2. W n i=1 L i ( V n i=1 L i)!? 3. W n i=1 L i _ L ( V n i=1 L i)! L Provas Por via axiomática (exercícios simples).

Fórmulas de Horn Definição 10.1: conjunto E P das fórmulas proposicionais OconjuntoE P édefinidopelasregrasquedefinemoconjuntof P e pela regra de fecho para a negação (considerando tal operador parte do alfabeto proposicional). Definição 10.2: Fórmula de Horn Uma fórmula ' 2 E P tal que FNC(') éumafórmuladehorn,se cada disjunção tem no máximo um literal positivo. Note-se que a conjunção de: I fórmulas de Horn básicas é uma fórmula de Horn; I fórmulas de Horn é uma fórmula de Horn, mas a sua disjunção não.

Relembra-se que > abv =? (sendo então um literal negativo). Definição 10.3: Forma de Horn Se ' 2 E P então, para n 1, tem-se ' = V n i=1 (C i! L i ), sendo para todo o i 2 {1,...,n}, C i = > ou C i = V k i j=1 L i,j, com k i 1 eondecadal i,j éumliteralpositivo. Notação Considera-se {C i } = {L i,j 8 j 2 {1,...,k i }}.

Definição: seja H(') :E P! {0, 1} aseguintefunção recursiva Seja ' = V n j=1 (C j! A j ), com n 1. H(') = 1, se? 62 A(', {>}) 0, caso contrário sendo A : E P ({?, >} [ P)! ({?, >} [ P) aseguintefunção: A(' \ (Ci! A A(', C) = i ), C [ {A i }), se 9 i2{1,...,n}.{c i } C C, caso contrário ou se ' > onde I ' \ (C i! A i ) def =( V i 1 j=1 (C j! A j )) ^ ( V n j=i+1 (C j! A j )), se i > 1; I ' \ ' def = >

Correcção do algoritmo H Objectivo do algoritmo AfunçãoH : E P! {0, 1} determina se dada fórmula de Horn é contraditória ou possível. Teorema 10.1: correcção e completude de H Dada uma forma de Horn ' 2 E P, tem-se que: I H(') =1seesóse' épossível; I H(') =0seesóse' écontraditória.

sobre o algoritmo A Se o algoritmo diz que a fórmula é possível, então atribuindo 1 aos símbolos da fórmula que ocorrem no output de A e0aosquenão ocorrem, obtém-se uma valoração que satisfaz a fórmula. Proposição 10.1 Se A(', {>}) =C e? /2 C então tomando V tal que V (p) =1 para cada p 2 C e V (q) =0paracadaq2 (C \P) \ SMB('), tem-se que V '. Lema 10.2 AfunçãoA émonótonacrescente. Logo, se no cálculo da função se coloca? no conjunto, pode-se parar esse cálculo (pois? estará no conjunto final).

sobre o algoritmo A Oalgoritmosódevolveliteraisqueocorremnafórmula. Seja ' uma forma de Horn, i.e., ' = V n i=1 (C i! L i ). Lema 10.3: literais omissos {>} A(', {>}) {>} [ Se nenhum dos L i éo? ou dos C i éo>, então ' épossível. Corolário 10.1 n[ i=1 1. Se? /2 S n i=1 L i então? /2 A(', {>}). 2. Se > /2 S n i=1 {C i} então A(', {>}) ={>} L i

Utilização do algoritmo para determinar validade O algoritmo de Horn pode ser usado para automaticamente verificar validade I Pelo Lema 5.2.1, a negação de uma fórmula válida é contraditória (e vice-versa). I Seja def = T ( '). Se éumaformadehorn,entãocalcula-se H( ). Se o resultado for 0, então ' éválidapois é contraditória.

Utilização do algoritmo para determinar consequências semânticas O algoritmo de Horn pode também ser usado para automaticamente verificar consequências semânticas I Pelo Teorema 6.1, {' 1,...,' n } = ' se e só se = (' 1 ^...^ ' n )! '. I Seja def = T ( ((' 1 ^...^ ' n )! ')). Se éumaformade Horn, então calcula-se H( ). Se o resultado for 0, então (' 1 ^...^ ' n )! ' éválidapois écontraditória.logo, verifica-se {' 1,...,' n } = '.

Aplicação do algoritmo Exemplo I Qual a natureza de p ^ ( r _ s) ^ (r _ p _ q) ^ ( r _ s) ^ q? I AfórmulaestánaFNC; I Afórmulanãoéválida(peloLemadavalidadedasdisjunções); I Como está na forma de Horn, aplica-se o algoritmo.

Emulação do algoritmo Natureza de p ^ ( r _ s) ^ (r _ p _ q) ^ ( r _ s) ^ q Converte-se primeiro para a forma de Horn. Seja ' =(>!p) ^ (r! s) ^ ((p ^ q)! r) ^ ((r ^ s)!?) ^ (>!q) Aplica-se agora o algoritmo. Sejam ' 1 =(r! s) ^ ((p ^ q)! r) ^ ((r ^ s)!?) ^ (>!q), ' 2 =(r! s) ^ ((p ^ q)! r) ^ ((r ^ s)!?). A(', {>}) = A(' 1, {>, p}) = A(' 2, {>, p, q}) = A((r! s) ^ ((r ^ s)!?),{>, p, q, r}) = A((r ^ s)!?,{>, p, q, r, s}) = A(>, {>, p, q, r, s,?}) = {>, p, q, r, s,?} def = C Como?2C, H(') =0; pelo Teorema 10.1, ' écontraditória.

Emulação do algoritmo Natureza de p ^ ( r _ s) ^ (r _ p _ q) ^ ( r _ s) Converte-se primeiro para a forma de Horn. Seja ' =(>!p) ^ (r! s) ^ ((p ^ q)! r) ^ ((r ^ s)!?) Aplica-se agora o algoritmo. Seja =(r! s) ^ ((p ^ q)! r) ^ ((r ^ s)!?)). A(', {>}) = A(, {>, p}) = {>, p} Como? /2 {>, p}, então H(') =1, logo pelo Teorema 10.1, a fórmula ' épossível. Considere-se a valoração V tal que V (p) =1e V (q) =V (r) =V (s) =0. Facilmente se verifica que V '.

Emulação do algoritmo Natureza de p ^ ( r _ s) ^ (r _ p) ^ r Converte-se primeiro para a forma de Horn. Seja ' =(>!p) ^ (r! s) ^ (p! r) ^ (r!?), ' 1 =(r! s) ^ (p! r) ^ (r!?), e ' 2 =(r! s) ^ (r!?) Aplica-se agora o algoritmo. A(', {>}) = A(' 1, {>, p}) = A(' 2, {>, p, r}) {>, p, r,?} pois A émonótonacrescente.como?2a(', {>}), então H(') =0. Logo pelo Teorema 10.1, a fórmula ' écontraditória.