Representação de Conhecimento Fred Freitas – CIn/UFPE

Preview:

Citation preview

Representação de Conhecimento

Fred Freitas – CIn/UFPE

Interesses de RC Representação e manipulação

simbólica de conhecimento visando raciocínio Estruturas de representação que

mantenham o engajamento ontológico (correspondência o mais fiel possível com as estruturas e relações do mundo ou universo de discurso)

Cujas deduções mecânicas sobre estas estruturas sejam também verdadeiras no universo de discurso

Disciplinas básicas para RC Lógica – provê a estrutura formal

(com engajamento ontológico, i.e., sintaxe e semântica) e regras de inferência

Ontologia – define o universo de discurso

Computação – produz aplicações, analisa a aplicabilidade algorítmica das regras de inferência

Conceitos básicos Conhecimento

Conceito muito vasto... Reconhecer é um tipo de conhecimento...

Para RC, um conjunto de proposições, que podem assumir valores verdade

Proposições são declarativas, expressas simbolicamente

A linguagem em elas são expressas regula sua expressividade (mas não entraremos nisso por ora...)

Ex de proposição: Eu fui ao cinema. Ex de valores verdade: {T,F}, {T,F,U},...

Representação Base do nosso raciocínio cognitivo! Representamos mentalmente o mundo à nossa volta

em fatos e depois manipulamos estes fatos para derivar conclusões

Os fatos funcionam para a nossa mente como um substituto do mundo, que podemos manipular à vontade

Como estamos manipulando fatos que consideramos verdades, se as premissas estiverem erradas podemos chegar a conclusões absurdas

Ex: Homem-bomba Não há nenhuma pista sobre a correção do que

representamos, apenas nosso bom-senso!

[Gaiarsa]

Conhecimento II Formalmente, é a relação entre 2

domínios, onde o 1º. significa o 2º Não podemos dar margem a ambigüidades

como em linguagem natural! Símbolo

Representa algum conceito abstrato (7, VII, sieben) ou concreto (meu cão Latifundiário)

Para RC, o alfabeto e suas regras de agrupamento devem ser bem-definidas (sintaxe da linguagem)

E também sua correspondência com o universo de discurso, ou interpretação

Representação de Conhecimento Disciplina que estuda o uso de

símbolos formais para representar conjuntos de proposições

Raciocínio – manipulação mecânica destes símbolos de forma a criar novos símbolos

9

Raciocínio: processo de construção de novas

sentenças a partir de outras sentenças. Deve-se assegurar que o raciocínio é

consistente (sound)

Conhecimento: Representação e Uso

fatos fatos

sentenças sentenças

Mundo

Representação

segue-se

implica

semântica

semântica

Hipótese de RC [Brian Smith] Propriedades de um sistema cognitivo:

Um observador externo pode entender o que está representado em suas proposições

O sistema se comporta de um dado jeito por causa do que está representado nestas proposições

Vantagem em relação a sistemas tradicionais (procedimentais): pode-se perguntar a um programa sobre o que ele sabe, etc...

O que é um Sistema Baseado em

Conhecimento ?

Qual deles é um SBC? Por quê?

printColor(snow) :- !, write(“It’s white.”).printColor(grass) :- !, write(“It’s green.”).printColor(sky) :- !, write(“It’s yellow.”).printColor(X) :- write(“Beats me.”).

printColor(X) :-color(X,Y), !, write(“It’s “), write(Y), write(“.”).

color(X, Y) :- madeOf(X, Z), color(Z, Y).madeOf(grass, vegetation).printColor(X) :- write(“Beats me.”).color(snow,white).color(sky,yellow). color(vegetation, green).

Prós e contras DECLARATIVO Fácil adicionar mais

conhecimento ao sistema

Fácil estendê-lo para novas tarefas Quais objetos têm a

mesma cor? O sistema se

explica!

PROCEDURAL Mais rápido (já

possui o script) Tomou o

mercado...

Em que ramo pré-existente da ciência se

baseia KR & R?

Lógica! Tradição de ~25 séculos de estudos

em representação e raciocínio A lógica matemática provê

algoritmos de raciocínio estudados em termos de Decidibilidade Finitude Completude Consistência Complexidade Monotonicidade

Vocabulário

Decidibilidade, Corretude,

Completude, Consistência,

Monotonicidade

Como avaliar sistemas de dedução?? Avaliação do problema de dedução

Finitude da solução algorítmica (decidibilidade)

Avaliação do algoritmo de dedução Complexidade

Avaliação da capacidade de inferência Qualidade: Consistência Eficiência: Completude

Avaliação de lógicas e seus algoritmos de dedução Análise de lógicas Expressividade Finitude = Decidibilidade

Tem a ver com teoria da computação Computabilidade, Máquinas de Turing, funções

recursivas, ... Análise para métodos de dedução

Correção Completude Consistência Monotonicidade

Computabilidade Intuitivamente uma função é dita

computável se é possível calcular seu valor, dado qualquer elemento do seu domínio

Será toda função, bem definida, computável?

NEM SEMPRE!!!

Decidibilidade Caso particular de computabilidade

quando a função só admite dois valores É possível resolver um problema

algoritmicamente (insolubilidade)? Quando se fala se um problema é solúvel

tem-se um problema de decidibilidade Trata-se de saber se um algoritmo acaba

Devolvendo uma resposta, no nosso caso, T ou F

Há lógicas que são assim!

Complexidade Computabilidade diz respeito a se um

problema pode ou não ser resolvido Complexidade diz respeito à

quantidade de recursos necessários para resolver um problema

Os recursos (normalmente) são: Memória Tempo

Porém... Complexidade não será analisada nesse curso

E para sistemas de dedução? Desejamos que nossos sistemas de

dedução tenham certas propriedades...

Quais??

Relembrando conceitos Conseqüência lógica Contradição Lógicas precisam ter sintaxe e semântica

bem definidas!

Conceitos básicos: Conseqüência lógica Definição informal:

Uma fórmula é uma conseqüência lógica de um conjunto de fórmulas se sempre que estas forem verdadeiras aquela também seja verdadeira.

Definição formal: Dada uma fórmula H e um conjunto de

hipóteses , H é conseqüência lógica de num sistema de dedução, se existir uma prova de H a partir de

Notação de Conseqüência Lógica Dada uma fórmula H, se H é

conseqüência lógica de um conjunto de hipóteses ={H1,H2,...Hn}, diz-se que: ├ H ou {H1,H2,...Hn}├ H

Teorema da dedução Se ├ H então H

Sintaxe da Lógica Proposicional Alfabeto

Símbolos de pontuação: (,) Símbolos de verdade: true, false Símbolos proposicionais: P, Q, R, S,

P1, Q1, P2, Q2... Conectivos proposicionais: ,v,^, ,

Linguagem da Lógica Proposicional (cont.) Fórmula

Todo símbolo de verdade ou proposicional é uma fórmula da Lógica Proposicional

Se H é fórmula então (H) também é Se H e G são fórmulas, então (HvG),

(H^G), (HG) e (HG) também são

Lógica Proposicional

Semântica

Interpretação Função binária – só possui em sua imagem 2

elementos Uma Interpretação I, em Lógica Proposicional, é

uma função binária t;l que: O domínio de I é o conjunto de fórmulas

proposicionais A imagem é o conjunto {T,F} O valor da interpretação I, tendo como argumentos

os símbolos de verdade true e false, é dado por I[true]=T e I[false]=F

Dado um símbolo proposicional P, I[P] pertence a {T,F}

Interpretação de fórmulas Dado uma fórmula E e uma

interpretação I, então o significado de E (I[E]) é dado pelas seguintes regras: Se E=P, onde P é um símbolo

proposicional, I[E]=I[P] Se E=true, então I[E]=I[true] =T, e

se E=false, então I[E]=I[false]=F Se H é uma fórmula e E=H, então

I[E]=I[H]=T se I[H]=F e I[E]=I[H]=F se I[H]=T

Interpretação de fórmulas (cont.)

Se H e G são fórmulas, e E=(HvG), então I[E]=I[HvG]=T se I[H]=T e/ou I[G]=T e I[E]=I[HvG]=F se I[H]=F e I[G]=F

Se H e G são fórmulas, e E=(H^G), então I[E]=I[H^G]=T se I[H]=T e I[G]=T e I[E]=I[H^G]=F se I[H]=F e/ou I[G]=F

Se H e G são fórmulas, e E=(HG), então I[E]=I[HG]=T se I[H]=F e/ou I[G]=T e I[E]=I[HG]=F se I[H]=T e I[G]=F

Se H e G são fórmulas, e E=(HG), então I[E]=I[HG]=T se I[H]=I[G] I[E]=I[HG]=F se I[H]=I[G]

Mundos possíveis, interpretações e modelos Cada interpretação representa um

mundo possível “Semântica dos Mundos Possíveis” Buscam admissões de

interpretações Um mundo possível em que a

interpretação é verdadeira é chamado de modelo

Propriedades semânticas básicas Uma fórmula H é uma tautologia (ou é

válida) se e somente se para toda interpretação I, I[H]=T

H é factível ou satisfazível se e somente se existe uma interpretação I tal que I[H]=T I é então um modelo de H

H é contraditória se e somente se para toda interpretação I, I[H]=F

Métodos para determinação de validade de fórmulas Métodos de checagem de modelos

Tabela verdade ...

Métodos de dedução Sistemas axiomáticos Dedução natural

Métodos da negação (ou absurdo) DPLL (ou eliminação de modelos) Tableaux Resolução

Método da negação ou absurdo (cont.) Para provar que H é uma tautologia

Supõe-se inicialmente, por absurdo que H NÃO é uma tautologia

As deduções desta fórmula levam a um fato contraditório (ou absurdo)

Portanto, a suposição inicial é falsa e: H é uma tautologia (A não-validade de H é um absurdo)

Cálculo Proposicional Cálculo = Lógica + Sistema de

Prova (ou dedução) Um sistema de prova serve para

analisar e raciocinar sobre argumentos de uma lógica, de maneira a prová-los válidos ou inválidos.

Sistema de dedução Alfabeto de uma Lógica Conjunto de fórmulas desta Lógica Conjunto de regras de dedução (ou

regras de inferência)

Avaliando sistemas de dedução

Queremos que o nosso sistema de dedução hipotético SD para ela (a lógica proposicional) seja correto, completo e consistente

Verificar também monotonicidade

Que danado é isso???

Correto Correto:

Toda sentença deduzida por SD a partir de um dado conjunto de

sentenças S inclusive o conjunto vazio de sentenças!

Seja realmente dedutível a partir de S!

Se as premissas são válidas, a conclusão também é válida!

Completo e Consistente Completo:

Toda sentença realmente dedutível a partir de S, seja também dedutível através de SD

Consistente: Não seja possível gerar contradições

usando SD

Teorema da correção Um sistema de dedução SD é correto se

satisfaz à condição abaixo Todas as condições são a mesma no fundo

Se H é conseqüência lógica de um

conjunto de hipóteses a partir de SD, H é realmente conseqüência lógica de

Se ├SD H, então ├ H SD só deduz fórmulas corretas!!

Teorema da completude Um sistema de dedução SD é completo se

satisfaz às condições abaixo Todas as condições são a mesma no fundo

Se H é conseqüência lógica de um conjunto de hipóteses , H também é conseqüência lógica de a partir de SD

Se ├ H, então ├SD H Toda fórmula dedutível também é

dedutível por SD!!

Teorema da Consistência Um sistema de dedução SD é

consistente sse não é possível deduzir usando SD duas fórmulas que se contradizem

Não é possível ├SD H e ├SD H Teorema: Um sistema correto é

também consistente

Prova do Teorema da Consistência Se ├SD H, pelo teorema da

correção: H é tautologia H é contraditória Não é possível ├SD H,

pois H seria uma tautologia Não é possível que H e H sejam

tautologias

Monotonicidade Definição fraca:

Se KBi├ H, então KBj├ H Não perder o que é dedutível

Definição forte: Se KBi├ H e j>i, então KBj├ H e KBj KBi KB só aumenta

Recommended