Você está na página 1de 39

Lgica e Representao do Conhecimento

O formalismo lgico atraente porque sugere uma maneira poderosa de derivar novos conhecimentos a partir dos antigos: Deduo Matemtica. Pode-se concluir que uma nova frase verdadeira, provando que ela conseqncia de declaraes j conhecidas. Assim, a idia de uma prova, como uma maneira rigorosa de demonstrar a verdade de proposies em que j se acreditava, pode ser ampliada para incluir a Deduo como uma maneira de derivar respostas a perguntas e solues de problemas.

Lgica e Representao do Conhecimento

Lgica Clssica: Lida com derivaes de verdade ou falsidade a partir de um argumento filosfico. (Ver Exemplo) Lgica Simblica ou Booleana: Trata da abstrao de conceitos em smbolos e do relacionamento entre esses smbolos atravs do uso de certos operadores. (Ver Exemplo)

Lgica Clssica
Exemplo: Joo um homem. Todos os homens j foram meninos. Portanto, Joo j foi um menino. Concluso: Joo era um menino !!!! Converso para Lgica Clssica: JH Todo H M Logo J M Ambigidade !!!! Joo Homem ou Menino

Lgica Clssica
Lida com derivaes de verdade ou falsidade a partir de um argumento filosfico: Calabar foi enforcado; Getlio foi presidente; Todo traidor enforcado; Todos os ndios eram selvagens; Tiradentes no era ndio; Tiradentes foi considerado traidor. -Enforcado(Calabar); -presidente(Getlio); - x traidor(x) enforcado(x); - x ndio(x) selvagem(x); - ndio(Tiradentes); -traidor(Tiradentes).

As representaes ocasionaram a perda de informaes, como o caso dos tempos das ocorrncias dos fatos. Est baseada na linguagem natural, ela sofre das falhas inerentes linguagem natural: imprecisa e ambgua. Podemos inferir que Tiradentes foi enforcado, mas no podemos inferir que Calabar era um traidor.

Lgica Simblica
Est ausncia de preciso levou ao desenvolvimento da Lgica Simblica: trata da abstrao de conceitos em smbolos e do relacionamento entre esses smbolos atravs do uso de certos operadores. Exemplo: Se P verdadeiro e Q Falso Ento P ou Q verdadeiro e P e Q Falso

Lgica Simblica
Forma a base da maioria das linguagens de programao procedural.

Pode ser dividida em dois nveis:


Nvel da Lgica Proposicional: lida com a falsidade ou verdade de proposies Nvel da Lgica de Predicados: tambm inclui a relao entre objetos e classes de objetos, pode ser considerada um super-conjunto da Lgica Proposicional.

Lgica Simblica
No processamento de conhecimento utilizada a Lgica de Predicados. No entanto, antes de estudarmos a L.Predicados, apresentaremos alguns conceitos mais primitivos da L.Proposicional.

Lgica Proposicional
Proposies so afirmaes que admitem um valor lgico, verdadeiro ou falso. Seja, por exemplo, uma fbf do clculo proposicional: cor(gato,preto). Pode ter valor verdadeiro ou falso dependendo se o gato em questo ou no preto. Na representao do conhecimento, ela representa um fato e suposta verdadeira no mundo que representa.

Lgica Proposicional

Usa operadores para conectar as proposies.


E (^), OU (v), NO(~), IMPLICA()

No suficiente para representar o conhecimento humano, no tem a capacidade de representar relaes entre os objetos, s determina V ou F de sentenas. Vide Exemplo a seguir:

Lgica Proposicional
Exemplo: A = Todos os homens so mortais. B = Joo homem. Logo, C= Joo mortal. A pesar de ser correta, o seu valor V no poderia ser determinado na L.Proposicional: A e B implica C

Lgica Proposicional
Para se verificar o valor verdade da argumentao acima preciso uma lgica capaz de lidar com: objetos como Pedro, propriedades como ser mortal e ser homen, Quantificadores como todos.
Portanto, necessrio uma Lgica mais abrangente, a Lgica de Predicados.

Semntica do Clculo Proposicional


TABELA VERDADE P V V F F Q V F V F P F F V V P^Q V F F F P V Q P Q P Q V V V V F F V V F F V V

Exemplo
Traduzindo fatos do mundo real para proposies Exemplo: Encontrar a proposio que traduz a seguinte declarao do mundo real: Voc no pode andar de patins se voc tem menos do que 1,20 m a no ser que voc tenha mais do que 16 anos. Definindo: P = voc pode andar de patins Q = voc tem menos de 1,2 metros R = voc tem mais de 16 anos A sentena pode ser escrita formalmente como:

(Q ^ ~R) ~P

Tabela-Verdade
P F F F F V V V V Q F F V V F F V V R F V F V F V F V ~P V V V V F F F F ~R V F V F V F V F (Q ^ ~R) F F V F F F V F (Q ^ ~R)~P V V V V V V F V

Tabelas Verdade para Formas de Argumento


Tabelas-Verdade podem ser usadas, no apenas para definir a semntica do conectivos, mas tambm para testar a validade de sentenas.
A Rainha ou a Princesa comparecer cerimnia. A Princesa no comparecer. Logo, a Rainha comparecer.
R V P, P R P V V F F R V F V F P F F V V RVP V V V F R V F V F ((RVP)^ P)R V V V V

Lgica de Predicados
A base da lgica de predicados o predicado: essencialmente uma funo que retorna o valor verdadeiro ou falso, dependendo do argumento. Exemplo:
Predicado: _denso Se avaliamos o argumento chumbo, _denso retorna verdadeiro. Se avaliamos o argumento algodo, _denso retorna falso.

Lgica de Predicados
Forma de escrever: _denso(chumbo) V _denso(algodo) F Predicado pode ter vrios argumentos, exemplo: predicado igual(X,Y), verdadeiro se ambos argumentos forem iguais.

Lgica de Predicados
Uma Formula Bem Formada (fbf) uma sentena que obedea as regras de formao de sentenas da Lgica de Predicados

Outro aspecto importante do clculo de predicados, o uso de quantificadores: - Para todo - Existe

Quantificador Universal
O quantificador universal () pronunciado Para todo ... significa que se tivermos uma sentena x P, onde P uma expresso lgica, esta sentena ser verdadeira se e somente se P verdadeira para todos os objetos x no universo. Exemplo: Todos os gatos so mamferos. x gato(x) mamfero(x) Todo x mamfero se e somente se, todo x pertence ao universo gato.

Quantificador Existencial
O quantificador existencial () pronunciado Existe ... significa que se tivermos uma sentena x P, onde P uma expresso lgica, esta sentena ser verdadeira se e somente se P verdadeira para algum objeto no universo. Exemplo: Existe uma pessoa chamada Pedro. x pessoa(x) ^ nome(x, Pedro)

Quantificadores
Exemplos:
Todo homem mortal, ou seja, qualquer que seja x (do Universo), se x Homem, ento x Mortal.

x (H(x)M(x)).
Nenhum homem vegetal, ou sejam qualquer que seja x, se x Homem, ento x NO Vegetal.

x (H(x)~V(x)).
Pelo menos um homem inteligente, ou seja, existe pelo menos um x em que x seja Homem e x seja Inteligente.

x(H(x) ^ I(x))

Lgica de Predicados
Pode tambm ser usada para representar conhecimento. Seja o exemplo: (x,y,z)(filho(x,y) ^ (filho(y,z)) neto(x,z) Esta fbf encerra o que se pode chamar de regra. Esta regra suposta verdadeira no mundo considerado. Pode-se interpretar a regra como a definio de neto na nossa linguagem.

Lgica de Predicados. Exemplo


Considere o seguinte conjunto de frases: 1. Marcos um homem. 2. Marcos brasileiro. 3. Lula presidente 4. Todos os brasileiros so leais a Lula ou odeiam Lula. 5. Os brasileiros vaiam presidentes a quem no sejam leais. 6. Marcos vaiou o Lula.

Lgica de Predicados. Exemplo


Estes fatos podem ser representados como um conjunto de fbf: 1. homen(Marcos) 2. brasileiro(Marcos) 3. presidente(Lula) 4. x brasileiro(x) leal(x,Lula) v odeia(x,Lula) 5. x y brasileiro(x) ^ presidente(y) ^ vaia(x,y) ~leal(x,y) 6. vaia(Marcos, Lula). (vide Conjunto de Frmulas 2:)

Lgica
A representao de conhecimento usando Lgica usa fbfs (Frmula Bem Formada) da Lgica de Primeira Ordem e a todas elas dado o valor de verdade verdadeiro, formando uma base de regras e fatos e constituindo a Base de Conhecimentos. Um mecanismo externo a esta base ir manipul-la, com regras de inferncia para resolver o problema desejado.

Lgica de Primeira Ordem


Foi desenvolvida a partir da L. de Predicados, devido s limitaes apresentadas pela mesma quando aplicadas em Sistemas Inteligentes.

Para a representao da L. Predicados ser til na IA necessrio que exista o procedimento computacional, chamado Mquina de Inferncia, que seja capaz de manipular essa representao, de modo a deduzir conhecimentos implcitos Resoluo.

Lgica de Primeira Ordem


Na Lgica Proposicional se utiliza apenas sentenas completas, isto , as proposies para representar o conhecimento sobre o Mundo. A Lgica de Primeira Ordem ou Lgica dos Predicados (Clculo dos Predicados), uma extenso da Lgica das Proposies em que se consideram variveis e quantificadores sobre as variveis.

Lgica de Primeira Ordem


Representa o mundo em termos de objetos e predicados dos objetos (propriedades dos objetos ou relacionamentos entre os objetos).

Ela utiliza conectivos e quantificadores, que permitem que as sentenas sejam escritas sobre tudo o universo de uma vez.

Sintaxe e Semntica
Na lgica temos: Os smbolos de predicados, que referem-se a relaes particulares no modelo. Ex.: Irmo, ... Relaes (maior que, dentro, tem cor, etc.)

Os smbolos de funo, para expressar as relaes que so funcionais, isto , um objeto est relacionado exatamente a um outro objeto pela relao. Ex.: Cosseno, PaiDe Propriedades (vermelho, redondo, etc.) Funes (pai de, melhor amigo, etc.)

Sintaxe e Semntica
Um termo uma expresso lgica que se refere um objeto. As constantes simblicas so termos. Ex.: A, B, ... Objetos (casas, cores, nomes, etc.) Uma sentena atmica formada por um smbolo predicativo seguido por uma lista de termos entre parnteses.
Pode-se utilizar conectivos lgicos para formar sentenas mais complexas. Os quantificadores permitem expressar propriedades de colees inteiras de objetos. Pode-se utilizar o smbolo de igualdade para fazer sentenas que dizem que dois termos referem-se ao mesmo objeto. Ex.: Pai(Joo) = Joaquim

Lgica de Primeira Ordem


Variveis: Designam objetos desconhecidos do Universo. Algum. So normalmente representados por letras minsculas de u a z. Letras Nominais: Designam objetos conhecidos do Universo. Joo, Pedro, etc. So normalmente representados por letras minsculas de a a t.

Lgica de Primeira Ordem


Predicados: Descrevem alguma coisa ou caracterstica de um ou mais objetos. So normalmente denotados por letras maisculas.
Joo ama Maria: ama(Joo, Maria) Joo ama algum: x ama(Joo,x) Joo ama todo mundo: x ama(Joo,x)

Lgica de Primeira Ordem


Regras de Inferncia para o Clculo de Predicados Todas as regras definidas no Clculo Proposicional continuam vlidas no Clculo de Predicados, apenas referenciando-as para os quantificadores. Ex.: ~F(a) v x F(x), x F (x)P tal que F(a) P. Prova: 1. ~F(a) v x F(x) Premissa 2. x F (x)P Premissa 3. F(a) Hiptese 4. ~~F(a) 3 DN 5. x F(x) 1,3 SD 6. P 2,5 MP 7. F(a) P 3,6 PC (ver anotaes)

Exemplos
Analise as seguintes frmulas: homen(Marcos) ~homen(x) v mortal(x) Queremos saber quem mortal. Testar com Marcos. 1. homen(Marcos) Hiptese 2. ~homen(x) v mortal(x) 3. ~homen(Marcos) v mortal(Marcos) 4. mortal(Marcos) OK, por 1 e 3

Exemplos
Queremos saber se Marcos odeia Lula? Transformamos a negao da pergunta para a forma clausal: ~odeia(Marcos,Lula) Verificamos se essa clusula gera uma contradio:

1. 2. 3. 4.

homen(Marcos) Verd. brasileiro(Marcos) Verd. presidente(Lula) Verd. ~brasileiro(x) v leal(x,Lula) v odeia(x,Lula)

5. ~brasileiro(x) v ~presidente(y) v ~vaia(x,y) v ~leal(x,y)

6. vaia(Marcos, Lula)
7. ~odeia(Marcos,Lula) Pergunta????

Continuao:
8. ~brasileiro(Marcos) v leal(Marcos,Lula) : 7 e 4 9. leal(Marcos,Lula): 8 e 2 10. ~brasileiro(Marcos) v ~presidente(Lula) v ~vaia(Marcos,Lula) : 9 e 5 11. ~presidente(Lula) v ~vaia(Marcos,Lula) : 10 e 2 12. ~vaia(Marcos,Lula) : 11 e 3 CONTRADIO
13. CLUSULA VAZIA: 12 e 6
Marcos odeia Lula --- SIM

RESUMO
A programao em lgica, tal como a conhecemos hoje, tem suas razes no clculo de predicados. As principais caractersticas que diferenciam os programas em lgica dos programas convencionais so as seguintes: (1) (2) (3) (4) (5) (6) Processamento simblico, Solues heursticas, Estruturas de controle e conhecimento separadas, Fcil modificao, Incluem respostas parcialmente corretas, e Incluem todas as solues possveis;

RESUMO
Os sistemas de programao em lgica em geral e a linguagem Prolog em particular possuem as seguintes propriedades: (1) Funcionam simultaneamente como linguagem de programao e de especificao, (2) Possuem capacidade dedutiva, (3) Operam de forma no-determinstica, (4) Permitem a representao de relaes reversveis, (5) Permitem interpretao declarativa, procedimental e operacional, e (6) So naturalmente recursivos;

RESUMO
As principais aplicao da programao em lgica so: (1) Sistemas Baseados em Conhecimento (SBCs), (2) Sistemas de Bases de Dados (BDs), (3) Sistemas Especialistas (SEs), (4) Processamento da Linguagem Natural (PLN), (5) Educao, (6) Modelagem de Arquiteturas No-Convencionais;

Você também pode gostar