1 / 36

Agentes Baseados em Conhecimento

Agentes Baseados em Conhecimento. Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência. Ilustrações e reflexões. Exemplos West é criminoso ou não?

Télécharger la présentation

Agentes Baseados em Conhecimento

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

  2. Ilustrações e reflexões • Exemplos • West é criminoso ou nã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” • Qual é a doença de Dona Maria? • “Dona Maria tem febre, dor no corpo e apresenta pintas pequenas vermelhas” • Questões • Seria possível responder estas questões com busca? • Se não, por que? • Senão, o que seria necessário?

  3. O que seria necessário... • Segundo a IA... • Identificar o conhecimento do domínio • Representá-lo em uma linguagem formal • 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 know a great deal about the world in which it operates • Tão fácil assim? O que vai pegar?

  4. Questões-chave • O que é conhecimento? • Como ele é usado pelos agentes? • Como adquirí-lo (extraí-lo, identificá-lo, apreendê-lo...)? • Como representá-lo adequadamente? • Como raciocinar com ele correta e eficientemente?

  5. O que é Conhecimento?

  6. Dados x Informação x Conhecimento: qual a diferença??? • Dados: • cadeias numéricas ou alfanuméricas que não possuem significado associado • ex. 12, m1, west, 10.... ( ?) • Informação: • dados organizados: significam alguma coisa para quem os recebe • ex. 01, 03, 04, 06, 07, 08, 10 (meses ???) • Conhecimento: • Dado, informação ou abstração formatado de maneira a permitir raciocínio por um ser humano ou por uma máquina

  7. Como se traduz o Conhecimento da Máquina? • Exemplos de conhecimento • Classes e objetos • relação Arma - Míssil - m1 • Formula da lógica • InimigoPolítico(Cuba,USA) • Distribuição de probabilidade prévia e condicional de variáveis aleatórias • P(Cuba-usar-míssil-contra-USA |Cuba-tem-m1) = 0,3 • Basta saber isto? • Não, é preciso saber como estruturar (representar) o conhecimento, para efetivamente saber como usá-lo....

  8. Tipos de conhecimento... • Existem vários aspectos .... • Em intenção x Em extensão • Estático x Dinâmico • Do problema x Meta-conhecimento • Diagnóstico x Causal • Dedutivo x Terminológico • Síncrono x Diacrônico • Certo x Incerto • Preciso x Vago • Declarativo x Procedimental • De senso comum x Especialista • Explicito x Implícito • ... que ao longo do curso iremos discutir.

  9. Como o Conhecimento é usado?Agentes baseados em conhecimento

  10. Agentes Baseados em Conhecimento • 2 componentes principais (separados): • Base de Conhecimento • Mecanismo de Inferência • Base de Conhecimento: • contém sentenças em uma Linguagem de Representação de Conhecimento“tratável” pelo computador • representações de regras e fatos • ex. " x Míssil(x) Þ Arma(x) Míssil(M1) • Mecanismo (máquina) de Inferência associado: • responsável por inferir, a partir do conhecimento da base, novos fatos ou hipóteses intermediárias/temporárias • ex. M1 é uma arma

  11. Agente baseado em conhecimento (dedutivo) Ambiente Sensores Raciocínio Automático Base de Conhecimento Especializada Máquina de Inferência Genérica Ask Tell Retract Representação e Aquisição de Conhecimento Efetuadores

  12. Implementando raciocínio:laço principal do agente • Ask: pergunta coisas à base • ex. ASK (BC, Criminoso(West)) ou ASK (BC, $x Criminoso (x))) • TELL: relata novos fatos à base • ex. TELL (BC, Americano (West)) • RETRACT: Elimina fatos da base • ex. RETRACT (BC, Criminoso(Zezinho))

  13. Implementando raciocínio:laço principal do agente • Programa Agente Baseado em Conhecimento t := 0 //contador de tempo enquantoAgente-BC vivo, faça Tell(BC, Percepções-Sentença(percepção,t)) ação <- Ask(BC,Pergunta-Ação(t)) Executa(ação) Tell(BC,Ação-Sentença(ação,t)) t <- t + 1

  14. Conhecimento estático x dinâmico • Conhecimento estático: aquele que já existe na BC e não mudará • Hierarquia de conceitos (classes de fatos) • ex,  X, wumpus(X)  monstro(X). • Restrições de integridades • ex,  X,Y wumpus(X)  wumpus(Y)  X = Y. • Regras de dedução sobre o domínio • ex,  X,Y smelly(X,Y)  (loc(wumpus,X+1,Y)  loc(wumpus,X-1,Y)  loc(wumpus,X,Y+1)  loc(wumpus,X,Y-1). • Meta-regras para controle e explicação do raciocínio • ex. preferir ir para direita em caso de mais de uma escolha

  15. Conhecimento estático x dinâmico • Conhecimento dinâmico: só existe durante a resolução de uma instância particular do problema • descrição da instância, hipóteses atuais, fatos novos,... • ex, loc(wumpus,2,1)  loc(wumpus,1,2)  loc(wumpus,2,3)loc(wumpus,2,3). alive(wumpus,4). alive(wumpus,7).

  16. Como adquirir o conhecimento?

  17. A grande escolha • Aprender • se existe conhecimento em extensão disponível • mais rápido e simples • envolve várias técnicas • Redes neurais • Aprendizagem simbólica • algoritmos genéticos • ex. categorização de texto, recomendação de filmes, ... • Explicitar (à mão): engenharia de conhecimento • se conhecimento pode ser facilmente explicitado ou não se tem escolha • mais trabalhoso embora preciso • Várias técnicas... • Programação em lógica, sistemas de produção, ...

  18. Conhecimento em intenção x extensão • Conhecimento em intenção • Definição do conceito (ou ação), normalmente usando regras, em termos de sua função, estrutura, etc. • ex. cadeira: serve para sentar, tem assento, ... • ex. quem tem dengue tem febre, dores, ... • ex,  X,Y X = 0  X = 5  Y = 0  Y = 5  loc(wall,X,Y) • Conhecimento em extensão: Instâncias do conceito • ex. cadeira 1, cadeira 21, cadeira 613, .... • ex. a dengue de João, a dengue de Zé, ... • ex, loc(wall,0,1). loc(wall,0,2). loc(wall,0,3). loc(wall,0,4). loc(wall,5,1). loc(wall,5,2). loc(wall,5,3). loc(wall,5,4). loc(wall,1,0). loc(wall,2,0). loc(wall,3,0). loc(wall,4,0). loc(wall,1,5). loc(wall,2,5). loc(wall,3,5). loc(wall,4,5).

  19. BC Ciclo de vida dos sistemas baseados em conhecimento linguagem natural ex. a ponte princesa Isabel liga a rua da Imperatriz à rua Nova Nível de Conhecimento AQUISIÇÃO linguagem de representação de conhecimento Ex. liga(Ponte-PI,RI,RN) FORMALIZAÇÃO Nível Lógico Nível de Implementação linguagens de programação IMPLEMENTAÇÃO REFINAMENTO

  20. Como representar conhecimento?

  21. Perguntinha... • Como o conhecimento é representado nos agentes de busca (resolução de problemas)? • O que há de errado?

  22. Linguagens de Representação do Conhecimento • Uma Linguagem de Representação do Conhecimento é definida por: 1) uma sintaxe, que descreve as configurações que podem constituir sentenças daquela linguagem; 2) uma semântica, que liga cada sentença aos fatos no mundo que ela representa • cada sentença faz uma afirmação a respeito do mundo; • E têm um mecanismo de inferência associado = raciocínio

  23. Linguagens de Representação do Conhecimento • Linguagens de programação: • são precisas, porém não são suficientemente expressivas • Linguagens naturais: • são muito expressivas, porém são ambíguas • Linguagens de representação de conhecimento (LRC): • utilizadas para expressar as sentenças das BC • existem 3 grandes classes: • linguagens (predominantemente) declarativas • linguagens procedimentais • linguagens híbridas

  24. segue-se fatos fatos Mundo semântica semântica Representação implica sentenças sentenças Representação & Raciocínio • Raciocínio é um processo de construção de novas sentenças a partir de sentenças existentes (manipulação sintática). • Raciocínio plausível (sound): • garante que novas sentenças representem fatos que se seguem dos representados pelas sentenças existentes na BC

  25. Representação & Raciocínio • A lógica é uma linguagem de representação boa porque garante que apenas sentenças válidas sejam geradas • Além disso, possui outras propriedades • Composicionalidade: o significado de uma sentença é função do de suas partes • Monotonicidade: Tudo que era verdade continua sendo depois de uma inferência • Localidade: inferência apenas com comparações locais (porção da BC).

  26. Interpretação • Uma sentença lógica não significa nada por si só... • É preciso estabelecer uma correspondência entre fatos e sentenças através de uma interpretação • Exemplo: “O Papa já está no Rio” • mensagem secreta trocada entre dois agentes do FBI que significa que os documentos sobre as armas do Iraque (o Papa) foram entregues ao Pentágono (o Rio) a salvo (já está). • Nesta ótica, uma sentença pode ser: • Válida: verdadeira sob qualquer interpretação • o papa está em Roma ou não está em Roma • Satisfatível: verdadeira sob (pelo menos) uma interpretação • Insatisfatível: falsa sob qualquer interpretação • o papa está em Roma e no Rio

  27. Inferência em Computadores • Computadores têm conhecimento limitado sobre o mundo: • não sabem que interpretação foi dada às sentenças na BC, e • não sabem tudo sobre o mundo, apenas o que existe na BC. • Então, como responder à pergunta: “Está OK mover o agente para (2,2)?” • O computador não necessita saber qual a interpretação utilizada, nem qual o estado atual do mundo: basta testar a validade da sentença abaixo • “Se a BC é verdade, então (2,2) está OK”

  28. A) " x,y,z Zaco(x) Ù Bila(y) Ù Noia(z) Ù Hesta(z) Ù Vada(x,z,y) Þ Creme(x) B) " x Guru(x,USA) Þ Hesta(x) C) " x Inp(x,USA) Þ Hesta(x) D) " x Moca(x) Þ Bila(x) E) " x Bimba(x) Þ Bila(x) F) Noia(Cuba) G) Noia(USA) H) Inp(Cuba,USA) I) Inp(Irã,USA) Interpretação Zaco = Americano Bila = Arma Noia = Nação Hesta = Hostil Vada = Vende Creme = Criminoso Possa = Possui Moca = Míssil Bimba = Bomba Inp = InimigoPolítico conhecimento prévio conhecimento do problema J) Zaco(West) K) $ x Possa(Cuba,x) Ù Moca(x) L) " x Possa(Cuba,x) Ù Moca(x) Þ Vada(West, Cuba,x) M) Possa(Cuba,M1) - Eliminação: quantificador existencial e N) Moca(M1) conjunção de K O) Bila(M1) - Modus Ponens a partir de D e N P) Hesta(Cuba) - Modus Ponens a partir de C e H Q) Vada(West,Cuba,M1) - Modus Ponens a partir de L, M e N R) Creme(West) - Modus Ponens a partir de A, J, O, F, P e Q novo conhecimento Exemplo com lógica...

  29. A) " x,y,z Americano(x) Ù Arma(y) Ù Nação(z) Ù Hostil(z) Ù Vende(x,z,y) Þ Criminoso(x) B) " x Guerra(x,USA) Þ Hostil(x) C) " x InimigoPolítico(x,USA) Þ Hostil(x) D) " x Míssil(x) Þ Arma(x) E) " x Bomba(x) Þ Arma(x) F) Nação(Cuba) G) Nação(USA) H) InimigoPolítico(Cuba,USA) I) InimigoPolítico(Irã,USA) conhecimento prévio conhecimento do problema J) Americano(West) K) $ x Possui(Cuba,x) Ù Míssil(x) L) " x Possui(Cuba,x) Ù Míssil(x) Þ Vende(West, Cuba,x) M) Possui(Cuba,M1) - Eliminação: quantificador existencial e N) Míssil(M1) conjunção de K O) Arma(M1) - Modus Ponens a partir de D e N P) Hostil(Cuba) - Modus Ponens a partir de C e H Q) Vende(West,Cuba,M1) - Modus Ponens a partir de L, M e N R) Criminoso(West) - Modus Ponens a partir de A, J, O, F, P e Q novo conhecimento Mesmo exemplo... mais inteligível (para nós)

  30. Como raciocinar?

  31. Categorias de Raciocínio (Inferência) • Dedução: fatos + regras de inferência => novos fatos. • ex. Onde há fogo, há fumaça. Aqui tem fogo, logo... • Abdução: inverso da dedução. • ex. Se há fumaça, há fogo. • Indução: parte-se dos fatos para gerar regras. • ex. Se Sr. Antônio, assim como D. Maria, tem dor de cabeça e dengue, então todo mundo que tem dengue, tem dor de cabeça. • Analógico: casos + regras de adaptação • ex.: Para construir este hospital, vou me basear no projeto daquele outro

  32. Principais sistemas de raciocínio declarativos/dedutivos Linguagens de Representação lógica regras objetos híbridos Sistemas Redes Semânticas Sistemas Frames Sistemas de Lógica descritivaSistemas OO Provadores de teorema Sistemas (implementação) Programação em lógica Sistemas de produção Sistemas de manutenção da verdade regras+objetos lógica+objetos lógica+objetos+funções Implementando raciocínio

  33. Observações sobre linguagem e raciocínio • Separação controle - conhecimento • Seja lá qual for o raciocínio, haverá sempre um motor geral que o implementará • A tarefa do engenheiro de IA é “só” codificar corretamente o conhecimento • Isto se chama Programação Declarativa: diz “o que” • representação descritiva dos fatos, relacionamentos e regras • ex. as partes de uma bicicleta e seus relacionamentos • ex. o pai do pai é o avô • já na procedimental, se diz “como” • fatos e seqüências de instruções para manipular esses fatos • ex.: como desmontar uma bicicleta

  34. KRL & reasoning Arquiteturas reativo cognitivo otimizador Observações sobre linguagem e raciocínio • O par linguagem-raciocínio é independente do tipo de arquitetura de agente • agente reativo => lógica, regras, funções, .... • Agente cognitivo => busca, lógica, regras, planejamento,... • Agnte otimizador => função utilidade,...

  35. Quais são os critérios para escolher uma linguagem de representação de conhecimento?

  36. Critérios • Expressividade • o que é possível dizer facilmente na linguagem? • Inferência disponível • que tipo de inferência é possível fazer na linguagem? • Corretude • a inferência é plausível? A semântica é bem definida? • Eficiência • a inferência se realiza em um tempo razoável? • Modularidade: • é fácil identificar e reutilizar partes do conhecimento? • Legibilidade: • é fácil de ler e entender o que está escrito? • Eficiência aquisicional: • é fácil adicionar conhecimento?

More Related