A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Agentes Baseados em Conhecimento

Apresentações semelhantes


Apresentação em tema: "Agentes Baseados em Conhecimento"— Transcrição da apresentação:

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

2 Ilustrações e reflexões
14/04/2017 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? Discutir com a turma!

3 O que seria necessário... Segundo a IA...
14/04/2017 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? Discutir com a turma!

4 Questões-chave O que é conhecimento? Como ele é usado pelos agentes?
14/04/2017 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? Discutir com a turma!

5 O que é Conhecimento?

6 Dados x Informação x Conhecimento: qual a diferença???
cadeias numéricas ou alfanuméricas que não possuem significado associado ex. 12, m1, west, ( ?) 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 enquanto Agente-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
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 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 IMPLEMENTAÇÃO linguagens de programação BC 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 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 semântica segue-se fatos Mundo fatos Representação semântica sentenças implica sentenças

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 Exemplo com lógica... conhecimento prévio conhecimento do problema
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) conhecimento prévio Zaco = Americano Bila = Arma Noia = Nação Hesta = Hostil Vada = Vende Creme = Criminoso Possa = Possui Moca = Míssil Bimba = Bomba Inp = InimigoPolítico Interpretação J) Zaco(West) K) $ x Possa(Cuba,x) Ù Moca(x) L) " x Possa(Cuba,x) Ù Moca(x) Þ Vada(West, Cuba,x) conhecimento do problema conhecimento novo 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

29 Mesmo exemplo... mais inteligível (para nós)
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 J) Americano(West) K) $ x Possui(Cuba,x) Ù Míssil(x) L) " x Possui(Cuba,x) Ù Míssil(x) Þ Vende(West, Cuba,x) conhecimento do problema conhecimento novo 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

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 Implementando raciocínio
Principais sistemas de raciocínio declarativos/dedutivos regras lógica objetos híbridos Programação em lógica Sistemas de produção Sistemas de manutenção da verdade Provadores de teorema Sistemas Redes Semânticas Sistemas Frames Sistemas de Lógica descritiva Sistemas OO regras+objetos lógica+objetos lógica+objetos+ funções Linguagens de Representação Sistemas (implementação)

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 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,... reativo cognitivo otimizador Arquiteturas KRL & reasoning

35 14/04/2017 Quais são os critérios para escolher uma linguagem de representação de conhecimento? Discutir com a turma!

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?


Carregar ppt "Agentes Baseados em Conhecimento"

Apresentações semelhantes


Anúncios Google