Sistemas Baseados em Conhecimento Representação de Conhecimento
(continuação)
Universidade Estadual do Oeste do Paraná
Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/IA2018.html
Roteiro
- Retomada sobre Representação de
Conhecimento
- Lógica Proposicional - “Link” com Prolog
Sistemas Baseados em Conhecimento
Para que um sistema computacional possa utilizar
conhecimento, há necessidade de estruturação e codificação daquilo que será empregado por ele.
Isso é Representação do Conhecimento!!
O que é Representação de Conhecimento?
É área de pesquisa
Sistemas Baseados em Conhecimento
Representação do conhecimento é a sub-área de IA
cujo objetivo principal é a busca de formalismos que possam ser usados para representar informação a respeito do mundo real.
Representação do conhecimento é a formalização e
estruturação de conhecimento em um computador, de maneira que possa ser manipulado produzindo um comportamento inteligente.
Sistemas Baseados em
Conhecimento (SBC)
Importância da representação de conhecimento
Para que as representações de conhecimento
apresentem real interesse, são necessárias funções capazes de efetuar o mapeamento entre a
representação e o mundo real e vice-versa (Rabusque).
A importância de se representar o conhecimento não
é apenas poder recuperá-lo, mas raciocinar com ele e a ele agregar novos conhecimentos.
Não existe uma representação única para todos tipos
Representação de Conhecimento
Como fazê-lo
A formalização na representação do conhecimento visa que ele possa:
Ser utilizado por computadores;
Descrever o conhecimento do especialista;
Facilitar as operações de busca (recuperação),
Características desejáveis no
conhecimento representado
É de interesse que a base de conhecimento do SBC seja capaz de:
Identificar dados importantes;
Ser completo, ou seja, ser capaz de representar tudo
o que deve ser representado;
Ser conciso: usar o mínimo de recursos possível,
mantendo a eficiência;
Ser de fácil entendimento;
Viabilizar a recuperação e armazenamento rápido e
Representação de Conhecimento
Sobre a disponibilidade do conhecimento
Nem todo o conhecimento associado / necessário
estará diretamente disponível
É necessário decidir:
Qual é o conhecimento necessário?
Como ele pode ser obtido?
Qual é a relação custo x benefício associado aquele
conhecimento?
Custo: é todo o esforço necessário para identificar,
Representação de Conhecimento
Tipos de Solução
Qual é a importância se a resposta for errada ou
alguma resposta estiver faltando?
Solução Ótima: a melhor solução de acordo com
alguma medida de qualidade (utilidade)
Solução Satisfatória: uma que é boa o bastante de
acordo com alguma descrição de quais soluções são adequadas
Solução Provável: uma que está apta a ser uma
Abordagem Simbólica
Relembrando sobre Simbolismo...
Newell e Simon afirmam que “O sistema de
símbolos físicos tem os meios necessários e suficientes para a ação inteligente em geral”
Sistemas baseados em
conhecimento
Como seres humanos resolvem problemas?
Aplicando seus conhecimentos (e inteligência) na
solução de um dado problema (usando símbolos?!!)
Conhecimento
Domínio Específico
Representação de Conhecimento
Algumas técnicas/formas para representação de conhecimento em SBCs são: Regras de produção Redes semânticas Frames Scripts Lógica Árvores de Decisão Conhecimento Estatístico Esquemas Híbridos
Representação de Conhecimento
Algumas técnicas/formas para representação de conhecimento em SBCs são:
Regras de produção Redes semânticas Frames
Scripts
Lógica (link com Prolog) Árvores de Decisão
Conhecimento Estatístico Esquemas Híbridos
Representação Lógica
Desde o final de 1970, em IA, há interesse no uso
de métodos que derivam da lógica matemática em contraste com métodos heurísticos.
A Lógica Matemática é uma linguagem formal que
possui várias regras sintáticas de dedução, ou seja, formas de realizar inferências dedutivas
exclusivamente a partir do formato sintático das expressões da linguagem.
Dedução automática: realização de inferências
Representação Lógica
A Lógica foi criada por Aristóteles com o objetivo
de ser uma linguagem para representar os processos envolvidos no pensamento.
A Lógica proposicional é a sua forma mais simples e
conhecida e se baseia apenas na existência de
constantes e no uso de operadores lógicos.
Não consegue lidar com declarações como “todo
Representação Lógica
Por causa das limitações da Lógica das
Proposições foram propostas várias adaptações e extensões para tratar situações mais complexas.
Exemplos destas extensões são:
Lógica de predicados
Lógica multivalorada
Lógica Nebulosa
Lógica Proposicional
Na Lógica Proposicional, cada símbolo representa
um fato ou uma proposição inteira
Exemplo: P = “O aluno está estudando.”
Várias proposições podem ser combinadas
usando-se os operadores lógicos: e (^) ou (v), não(¬), condicional ou implicação (→) bicondicional (↔).
Lógica Proposicional: Vantagens
Existe uma forte teoria dando suporte à sua
utilização.
É possível usá-la para implementar análise
automática de conhecimento através das
propriedades de equivalência e regras de inferência, as quais, a partir de proposições já conhecidas,
conseguem gerar novas informações.
Lógica Proposicional
Proposição é uma sentença declarativa, afirmativa,
que deve exprimir um pensamento de sentido completo.
O valor lógico de cada proposição pode ser
verdadeiro (V ou 1) ou falso (F ou 0).
Exemplos:
“A > B”
“O Brasil é um país”
Lógica Proposicional
Proposição Simples é aquela que não possui uma
outra proposição como parte de si mesma. São representadas por letras minúsculas.
Exemplos:
p: está frio
q: a raiz quadrada do número 4 é igual ao número 2
r: Sócrates é homem
Lógica Proposicional
Proposição Composta é formada por duas ou mais
proposições simples, relacionadas entre si por
conectivos (operadores) lógicos. São representadas por letras maiúsculas.
Exemplos:
P: está frio e ensolarado
Lógica Proposicional
Princípios fundamentais da lógica proposicional
Princípio da não contradição: Uma proposição não
pode ser verdadeira e falsa simultaneamente .
Princípio do terceiro excluído: Toda proposição é
Lógica Proposicional: Operações
lógicas
Negação: Pode ser indicada por diferentes
notações: “~” e “¬” são as mais usadas.
Conjunção (“e” lógico): Assume valor verdadeiro
apenas quando todas as proposições que a compõem são verdadeiras.
Disjunção Inclusiva (“ou” lógico): Assume valor
falso apenas quando todas as proposições que a compõem são falsas.
Lógica Proposicional: Operações
lógicas
Disjunção Exclusiva (“Xor”): É verdadeiro
apenas quando as proposições que a compõem tem valores diferentes.
Condicional ou implicação: Assume valor falso
apenas quando a primeira proposição for verdadeira e a segunda for falsa.
Bicondicional ou Dupla implicação: Assume valor
verdadeiro apenas quando todos os valores das proposições que a compõem são iguais.
Lógica Proposicional: Relações
Relação de Equivalência: Uma proposição p
equivale a uma proposição q quando, em suas tabelas-verdade não ocorre p ≠ q.
Estas relações são denotadas por “⬄”.
Relações de Implicação: Uma proposição p
implica em uma proposição q quando em suas tabelas-verdade não ocorre p = 1 e q = 0, nesta
ordem, ou seja, não ocorre de p ser verdadeira e q ser falsa.
Lógica Proposicional
A utilização das regras de inferência cria um
mecanismo de raciocínio capaz de gerar novos fatos a partir de outros já conhecidos.
No entanto, a Lógica Proposicional trabalha apenas
com proposições, que são sentenças que podem
assumir apenas os valores falso ou verdadeiro.
Assim, a Lógica Proposicional não consegue
representar todo o tipo de conhecimento...
E uma das demandas é representar fatos genéricos
Lógica de Predicados
Prolog
Lógica de Predicados: fatos, objetos e relações
(Lógica proposicional: fatos)
Fatos=constantes; variáveis=objetos; predicados=
relações; funções.
Para criar um SBC em lógica
Considere a questão:
“A lei americana diz que é proibido vender armas a uma
nação hostil. Cuba possui alguns mísseis, e todos eles foram vendidos pelo Capitão West, que é americano” Pergunta: West é criminoso ou não?
Para criar um SBC em lógica
Como você resolveria este problema?
O que vc precisa para resolver este problema? “A lei americana diz que é proibido vender armas
a uma nação hostil. Cuba possui alguns mísseis, e todos eles foram vendidos pelo Capitão West, que é americano”
Para criar um SBC
Como você resolveria este problema?
Linguagem: você entende o que está escrito em
português
Conhecimento: você sabe um pouco de geopolítica e
armas
inferência: você é capaz de raciocinar usando este
31
Solucionando o caso do cap. West
(linguagem natural) A) Todo americano que vende uma arma a uma nação hostil é criminoso
B) Todo país em guerra com uma nação X é hostil a X C) Todo país inimigo político de uma nação X é hostil a X D) Todo míssil é um arma
E) Toda bomba é um arma F) Cuba é uma nação
G) USA é uma nação
H) Cuba é inimigo político dos USA I) Irã é inimigo político dos USA
con he cime nto prévi o J) West é americano
K) Existem mísseis em Cuba
L) Os mísseis de Cuba foram vendidos por West conh
ecimento do proble ma novo conheciment o
M) Cuba possui um míssel M1 - de K N) M1 é um míssil - de K
O) M1 é uma arma - de D e N
P) Cuba é hostil aos USA - de F, G, H e C Q) M1 foi vendido a Cuba por West - de L, M e N
Como uma máquina poderia
resolver este problema?
Segundo a IA...
Identificar o conhecimento do domínio
Representá-lo
Implementar um mecanismo de inferência para utilizá-lo
The Knowledge Principle (Lenat & Feigenbaum)
If a program is to perform a complex task well, it must