230 likes | 336 Views
Resolução Proposicional. Amanda Micoski Lins, Cibele Alves da Silva Reis, Henrique Petroski Such. Resolução Proposicional. O que é Lógica?
E N D
Resolução Proposicional Amanda Micoski Lins, Cibele Alves da Silva Reis, Henrique Petroski Such
Resolução Proposicional • O que é Lógica? • Lógica é a ciência que estuda princípios e métodos de inferência, tendo como objetivo principal de determinar em que condições certas coisas se seguem(são conseqüência), ou não de outras. 2
Resolução Proposicional • Lógica Proposicional • A lógica estudada em resolução proposicional é a lógica de proposições, que é composta de proposições, as quais devem possuir um valor verdade. Além de ser utilizada para a especificação ou declaração de um programa, pode também ser uma linguagem de programação, idéia que foi considerada revolucionária ao ser sugerida por Kowalski em 1972. 3
Resolução Proposicional • O método da resolução proposicional é uma regra de inferência que leva a técnica de demonstração por refutação para fórmulas ou teorias proposicionais. Ele é um dos mais conhecidos no ramo de provadores de teorema e tem a habilidade de detectar satisfatibilidade. As fórmulas devem estar no formato clausal. 4
Resolução Proposicional • A resolução proposicional consiste na “simplificação” de cláusulas até a obtenção de uma cláusula menor, ou de um resultado vazio (inconsistência lógica). Chega-se no resultado por inferência, ou seja, pela passagem, através de regras válidas, do antecedente ao conseqüente de um argumento. Um exemplo de linguagem que se fundamenta a resolução é a linguagem Prolog. 5
Resolução Proposicional • Exemplos • (b b d) pode ser escrito como apenas (b d), uma vez que o literal “b” apareceu mais de uma vez na fórmula, podendo então ser contraído. • A inferência de (¬p b) e (p c) resulta em (b c). Sendo as fórmulas (¬p b) e (p c) chamadas de resolventes, e (b c) chamada de resoluta. 6
Resolução Proposicional • Cláusulas • Primeiro para entendermos a resolução devemos primeiro nos direcionar a pequenos conceitos, como cláusulas. • Cláusula na lógica proposicional é uma disjunção de literais. • Exemplos • C¹ = {¬P, ¬L}, C² = {¬P, ¬Q, ¬R, ¬S, ¬T, V}, C³ = ┴, C= {P}. 7
Resolução Proposicional • Cláusulas • Cláusula Vazia • Uma cláusula que possui tanto o antecedente quanto o conseqüente vazios, e deve ser interpretada como uma contradição. Por possuir somente um literal em sua cláusula. • Exemplo • C = ┴ 8
Resolução Proposicional • Cláusulas • Cláusulas de Horn • Tanto as Cláusulas C¹, como C² do exemplo anterior são chamadas de Cláusulas de Horn, por possuírem no máximo um literal positivo, porém para C¹ também é atribuído o nome de Cláusula Objetivo, por não possuir literais positivos, enquanto C² é chamada muitas vezes de Cláusula de Programa, por possuir somente um literal positivo. 9
Resolução Proposicional • Cláusulas • As cláusulas de Horn são assim denominadas em homenagem ao matemático Alfred Horn, que primeiro lhes estudou as propriedades, em 1951. Uma de suas mais importantes características é que qualquer problema solúvel capaz de ser representado por meio delas, pode ser representado de tal forma que apenas uma das cláusulas seja uma cláusula objetivo, enquanto que todas as restantes serão cláusulas de programa. 10
Resolução Proposicional • Cláusulas Para um grande número de aplicações da lógica, é suficiente empregar o contexto restrito das cláusulas de Horn. Na figura a seguir, posicionamos as cláusulas de Horn em sua relação com a lógica matemática, o cálculo de predicados de primeira ordem e a forma clausal. 11
Resolução Proposicional • Regras para o método da resolução • Não pode haver símbolos existenciais ou quantificadores. • Os símbolos de implicação devem ser substituídos pelos de conjunção e disjunção. • Os sinais de negação devem estar ao lado de seus respectivos átomos. • A fórmula resultante da resolução, quando for diferente de zero, deve ser conseqüência lógica da fórmula que a gerou. 12
Resolução Proposicional • Conseqüência Lógica • Outro conceito muito importante é o conseqüência lógica • Uma fórmula é conseqüência lógica da outra quando toda valoração que satisfizer a primeira também satisfizer a segunda. 13
Resolução Proposicional • Resolução Proposicional • Exemplos: • Dada a inferência: P T S, ¬T S |-res P S • Teremos: ~(P S) = {¬P,¬S} resultando, assim, no conjunto { P T S, ¬T S, ¬P,¬S} da resolução. P T S ¬P T S ¬T S S S S ¬S ┴ 14
Resolução Proposicional • Desafios Computacionais • Os maiores desafios são a escolha dos resolventes a cada passo e a diminuição do espaço de busca, os quais, quando não resolvidos, podem trazer prejuízos na execução do método, utilizando um grande tempo de processamento. 15
Resolução Proposicional • Desafios Computacionais • Uma das estratégias para resolver esse problema é a utilização da resolução unitária o máximo de vezes possível, técnica também chamada de propagação unitária ou, em inglês, boolean constraint propagation (BCP). 16
Desafios Computacionais • Boolean Constraint Propagation • Ela consiste em usar cláusulas unitárias como resolventes, simplificando o processo e gerando fórmulas resolutas mais simples. Além de auxiliar na escolhas dos resolventes, a resolução unitária sempre elimina um resolvente a favor de um resoluto, o que também ajuda a resolver o problema do espaço de busca. 17
Resolução Proposicional • Desafios Computacionais • Um exemplo de resolução unitária: S ¬S R R ¬R ┴ 18
Resolução Proposicional • Desafios Computacionais • Infelizmente, nem sempre é possível usar a propagação unitária. Outra estratégia utilizada para a escolha de resolventes é a resolução linear. Ela é uma forma mais lógica de aplicar o método da resolução, já que cada formula resoluta torna-se a fórmula resolvente no próximo passo. 19
Resolução Proposicional • Desafios Computacionais • É uma maneira mais simples de construir a árvore de prova, transformando-a numa linha em que os membros à direita são fórmulas simples. O exemplo anterior foi desenvolvido através da resolução linear. 20
Resolução Proposicional • Referências Bibliográficas • Freitas, Fred; Notas da disciplina Programação em Lógica e Negação por Falha. Universidade Federal de Pernambuco, 2006. Disponível em: <www.cin.ufpe.br/~in1099/062/Log17_IA.ppt>, acessado dia 21/03/2009 • Moreira, Nelma. Notas de aula da disciplina Inteligência Artificial com base em Programação Lógica. Faculdade de Ciências da Universidade do Porto, 2008. Portugal. Disponível em: <http://www.ncc.up.pt/~nam/aulas/9798/ia/def.html>, acessado dia 21/03/2009. • Pereira, Silvio do Lago; Lógica Proposicional. Material Didático. Faculdade de Tecnologia de São Paulo, 2008. Disponível em: <http://www.ime.usp.br/~slago/IA-logicaProposicional.pdf>, acessado dia 21/03/2009. 21
Resolução Proposicional • Referências Bibliográficas • Perez, Anderson L. F.; Notas de aula da disciplina Lógica Aplicada à Computação. Universidade Federal do Vale do São Francisco, 2008. Disponível em: <http://www.univasf.edu.br/~anderson.perez/ensino/logica/aulas/Programacao_logica_2.pdf>, acessado dia 21/03/2009. • Ryncón, Mauricio A.; Fundamentos da Programação Lógica e Funcional. Notas de aula para a disciplina de Lógica para Computação. Universidade Brasília, 2004. Disponível em: <http://www.mat.unb.br/~ayala/LECTURES/IaC/notasIaC2005II.pdf> , acessado dia 21/03/2009. • Silva, Flávio S. C. da; Finger, Marcelo; Melo, Ana C. V.; Lógica Para Computação. São Paulo: Thomson Learning, 2006. p 88 -92. 22
Resolução Proposicional • Referências Bibliográficas • Souza, João Nunes de. Lógica para Ciência da Computação. Rio de Janeiro: Campus, 2002. p 3 – 24. • Almeida, Carlos B.; Notas de aula da disciplina Lógica Computacional. Universidade do Minho, 2008. Disponível em: <http://wiki.di.uminho.pt/twiki/pub/Education/LC/MaterialApoio/LogPO.pdf>, acessado dia 21/03/2009. • Universo de Herbrand. Wikipedia, página criada em 2006. Disponível em: <http://pt.wikipedia.org/wiki/Universo_de_Herbrand>, acessado dia 21/03/2009. 23