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