Inteligência Artificial – PRG0010
Aula 3: Representação de Conhecimento
Fabio G. Cozman
André C. Ponce de Leon Ferreira de Carvalho
Sylvio Canuto
Representação de Conhecimento
Prof. Fabio Cozman Diretor C4AI / EPUSP
• O que é representação de conhecimento e raciocínio.
• Representação de restrições e seus algoritmos.
• Lógica proposicional para representação de conhecimento e seus algoritmos.
Os Ingredientes da IA Representação de Conhecimento e Raciocínio Lógica, Probabilidades Tomada de Decisão Busca, Planejamento, Negociação Aprendizado de Máquina Esta;s<co, Neural
Representação de Conhecimento
Conhecimento em IA: muito flexível... Inclui fatos e regras, crenças, incertezas
(com foco em computação) Conhecimento: crença verdadeira com explicação
Davis et al 1993
Platão, Theaetetus
Representação de Conhecimento (Davis et al 1993):
• Um modelo (“substituto”).
• Um conjunto de compromissos ontológicos. • Uma base para raciocínio.
Representação de Conhecimento
• Importante para representar problemas que devem ser resolvidos (representar estados, transições, etc).
• Às vezes é mellhor armazenar fatos e regras e usar quando necessário.
• O conjunto de fatos e regras é uma base de conhecimento (knowledge base).
• Sistemas baseados em conhecimento (knowledge-based systems).
O Papel Central de Representação de Conhecimento
• A preocupação com representação tem sido fundamental na área de Inteligência Artificial. • Como…
• Podemos representar um problema de forma eficiente?
• Garantir que todas as características relevantes sejam representadas?
• Compreender o efeito de mudanças na representação?
• Raciocinar sobre estados e transições, sobre objetos e relações entre objetos?
Um Pouco Mais de História
• Nos primeiros métodos de busca, grande preocupação com a maneira de representar problemas.
• General Problem Solver.
• Sistemas especialistas:
• Capturam o “conhecimento especialista” através de uma base de conhecimento. • Sistemas de produção.
MYCIN:
(defrule 52
if (site culture is blood) (gram organism is neg) (morphl organism is rod) (burn patient is serious) then 0.4
Um Pouco Mais de História
• Nos primeiros métodos de busca, grande preocupação com a maneira de representar problemas.
• General Problem Solver.
• Sistemas especialistas:
• Capturam o “conhecimento especialista” através de uma base de conhecimento. • Sistemas de produção.
• Frames e redes semânticas. • Grafos conceituais. Hotel room Superclass: room Loca/on: hotel Contains: hotel chair Contains: hotel bed Hotel chair Superclass: chair Height: 100 cm Use: si<ng Legs: 4
Um Pouco Mais de História
• Nos primeiros métodos de busca, grande preocupação com a maneira de representar problemas.
• General Problem Solver.
• Sistemas especialistas:
• Capturam o “conhecimento especialista” através de uma base de conhecimento. • Sistemas de produção.
• Frames e redes semânticas. • Grafos conceituais.
En<dade
Objeto Físico Conceito
Organismo
Um Pouco Mais de História
• Nos primeiros métodos de busca, grande preocupação com a maneira de representar problemas.
• General Problem Solver.
• Sistemas especialistas:
• Capturam o “conhecimento especialista” através de uma base de conhecimento. • Sistemas de produção.
• Frames e redes semânticas. • Grafos conceituais.
Ação: Sentar
Agente
Um Pouco Mais de História
• Nos primeiros métodos de busca, grande preocupação com a maneira de representar problemas.
• General Problem Solver.
• Sistemas especialistas:
• Capturam o “conhecimento especialista” através de uma base de conhecimento. • Sistemas de produção.
• Frames e redes semânticas. • Grafos conceituais.
Representando Restrições
• Um Problema de Satisfação de Restrições (Constraint Satisfaction Problem – CSP) é especificado por
• Um conjunto de variáveis.
• Cada variável tem seu domínio de possíveis valores.
• Restrições para esses valores.
• Importante: como representar CSPs. • Exemplo: • Variáveis A, B, C, D. • Domínios: • {1, 2, 3, 4} para A, B. • {1, 2, 3} para C, D. • Restrições: • B ≠ 1, A ≤ C, D > 2, A = B, C < D.
Algoritmos
• Gerar-Testar (Generate-and-Test):
• Produza uma configuração para as variáveis. • Verifique se satisfaz as restrições.
• Se não, repita…
• Busca:
• Considere um grafo onde cada nó é uma configuração, cada transição é uma
mudança de configuração.
• Realize busca nesse grafo (em profundidade, A*, etc).
• Algoritmos de Consistência:
• Verifique se valores violam restrições, remova as violações.
• Exemplo: Consistência de Arcos.
Representação: Lógica Proposicional
• Lógica estuda argumentos e raciocínio: objetivo é preservar “verdade”.
• Lógica proposicional lida com proposições e conectivos.
• Proposições:
• João gosta de feijoada. • Todo paulista é corintiano.
• Uma proposição pode ser verdadeira ou falsa.
• Conectivos:
• Negação, conjunção, disjunção. • Implicação, equivalência.
Lógica Proposicional: Conectivos • Negação: ¬ A. • Conjunção: A B. • Disjunção: A B. • Implicação (material): A → B. • Equivalência: A ↔ B.
Lógica Proposicional: Fórmulas Bem-Formadas (Well-Formed Formulas)
• Átomo é um símbolo A, B, etc.
• A, ¬ A, A B, A B, A → B, A ↔ B.
• E recursivamente, usando parênteses para remover ambiguidades…
Lógica Proposicional: Semântica
• Uma interpretação é uma atribuição de verdadeiro/falso a cada proposição.
• Um conjunto de n proposições tem 2n
interpretações distintas.
• A semântica de uma fórmula bem-formada é dada pelo seu valor (verdadeiro ou falso) em cada interpretação.
Semântica de Negação
A ¬ A
Verdadeiro Falso
Semântica de Conjunção e Disjunção
A B A B A B
Falso Falso Falso Falso
Falso Verdadeiro Falso Verdadeiro Verdadeiro Falso Falso Verdadeiro Verdadeiro Verdadeiro Verdadeiro Verdadeiro
Semântica de Implicação e Equivalência
A B A → B A ↔ B
Falso Falso Verdadeiro Verdadeiro Falso Verdadeiro Verdadeiro Falso
Verdadeiro Falso Falso Falso
Entendendo Implicação (Material)
• Se
• A: o quadrado do número escolhido por Ana é 2.
• Então
• B: o número escolhido por Ana é irracional.
Implicação e Disjunção
• Note que A → B
tem a mesma tabela-verdade que ¬ A B.
• Ou seja, implicação pode ser reduzida a negação + disjunção.
Validade e Satisfatibilidade
• Uma fórmula bem-formada é válida (uma tautologia) se e somente se é verdadeira para toda interpretação.
• …é satisfatível se e somente se é
verdadeira para alguma interpretação. • …é não-satisfatível se e somente se é
Consequência Lógica
• Uma base de conhecimento é um conjunto de fórmulas bem-formadas e proposições. • Um modelo da base é uma interpretação
onde todas as proposições são verdadeiras e todas as fórmulas são satisfeitas.
• A é uma consequência lógica da base K se e somente se A é verdadeira em todo
Sintaxe: Programação Lógica Proposicional • Sam-é-feliz. • Cálculo-é-interessante. • Minhoca-na-terra. • Pássaro-come-minhoca. • Chove. • Minhoca-morre ← chove. • Consequências lógicas: • Chove. • Minhoca-morre.
Removendo Implicação
• Importante:
A ← B1 B2 … Bn
é equivalente a
A ¬ B1 ¬ B2 … ¬ Bn.
• Uma cláusula é uma disjunção de átomos possivelmente negados.
Sintaxe: Programação Lógica Proposicional • Sam-é-feliz. • Cálculo-é-interessante. • Minhoca-na-terra. • Pássaro-come-minhoca. • Chove. • Minhoca-morre ← chove. • Consequências lógicas: • Chove. • Minhoca-morre.
Removendo Implicação
• Importante: A ← B1
é equivalente a A ¬ B1.
• Uma cláusula é uma disjunção de átomos possivelmente negados.
Removendo Implicação
• Importante:
A ← B1 B2 … Bn
é equivalente a
A ¬ B1 ¬ B2 … ¬ Bn.
• Uma cláusula é uma disjunção de átomos possivelmente negados.
SAT-Solvers: DPLL
• Realize em uma estratégia de profundidade:
• Selecione uma proposição A, • selecione ou A ou ¬ A.
• Verifique as consequências. Se foi obtida contradição, não explore mais esse
caminho.
• Repita até que uma interpretação é encontrada – ou nenhuma é possível…
• Muitos dos melhores algoritmos também realizam busca estocástica.
DPLL Funciona Melhor com Cláusulas
• Com cláusulas, deteção de simplificações é simples!
• Toda fórmula bem-formada pode ser transformada em uma forma clausal.
Traduzindo para Forma Clausal
• Aplique as seguintes transformações:
• A ↔ B passa para (A → B) (B → A).
• A → B passa para ¬ A B.
• ¬ (¬ A) passa para A.
• ¬ (A B) passa para ¬A ¬B.
• ¬ (A B) passa para ¬A ¬B.
• A (B C) passa para (A B) (A C).
• O processo sempre termina com uma forma clausal.
Exemplo • Considere ¬(A ↔ B). • Transformações: ¬((A → B) (B → A)) ¬((¬ A B) (¬B A)) ¬((¬ A B) (¬B A)) ¬(¬ A B) ¬(¬B A) (A ¬B) (B ¬A) ( (A ¬B) B ) ( (A ¬B) ¬A ) (A B) (¬B B) (A ¬A) (¬A ¬B) (A B) (¬A ¬B)
Principais Conceitos
• O que é um sistema baseado em conhecimento.
• O que é uma proposição, um átomo, um conectivo.
• A sintaxe de lógica proposicional. • A semântica de lógica proposicional
(tabelas-verdade).
• O que são interpretações, modelos,
consequência lógica, fórmulas válidas e satisfazíveis.
• Cláusulas definidas e conversão para forma clausal.