di/ufpe 1 agentes baseados em conhecimento. di/ufpe 2 experimento “robô humano” partes: 1...

31
DI/UFPE 1 Agentes Baseados em Conhecimento

Upload: gabrielle-bravo

Post on 07-Apr-2016

216 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

1

Agentes Baseados em Conhecimento

Page 2: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

2

Experimento “Robô humano” Partes:

• 1 Cérebro (1 pessoa)• 2 Braços (1 por pessoa = 2 pessoas)• 1 Sistema de visão (1 pessoa)

Objetivo: • Os braços devem localizar e segurar um determinado objeto

Cérebro:• não pode ver• pode fazer perguntas e dar ordens aos braços e à visão:

controla os braços indicando– deslocamento em uma direção (ângulo no sentido horário ou anti-

horário) e distância dadas– ângulos de giro na vertical e na horizontal – força a aplicar para segurar o objeto

controla o sistema de visão – pedindo que se desloque para obter outros ângulos de visão

Page 3: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

3

Experimento “robô humano”

Braços• não podem ver• não devem ouvir (obedecer) o que diz o sistema de visão• têm tato pouco refinado• podem responder apenas “sim” ou “não” ao cérebro

ex. estão tocando algo?• seguem comandos do cérebro

Sistema de visão• não pode fornecer informação sem ter sido perguntado pelo

cérebro• pode distinguir diferentes objetos e estimar distâncias• pode mover-se de forma a obter informações visuais a partir

de diferentes ângulos

Page 4: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

4

Experimento “Robô humano”

Voluntários?• Braços e olhos (sistema de visão) saem da sala...• Cérebro recebe a tarefa

Conclusões?• Um modelo do mundo é imprescindível• Conhecimento prévio do mundo é importante• Coordenar diferentes sistemas é complicado• Feedback visual e de força são imprescindíveis

A maioria dos sistemas de visão não é móvel• É difícil construir um plano sem conhecer as pré-condições

Page 5: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

5De volta ao exemplo de West...

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”

Como resolver automaticamente este problema de classificação?

Segundo a IA (simbólica), é preciso:• Identificar o conhecimento do domínio (modelo do problema)• Representá-lo utilizando uma linguagem formal de

representação• Implementar um mecanismo de inferência para utilizar esse

conhecimento

Page 6: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

Solucionando o caso do cap. West (linguagem natural)

A) odo americano que vende uma arma a uma nação hostil é criminosoB) Todo país em guerra com uma nação X é hostil a XC) Todo país inimigo político de uma nação X é hostil a XD) Todo míssil é um armaE) Toda bomba é um armaF) Cuba é uma naçãoG) USA é uma naçãoH) Cuba é inimigo político dos USAI) Irã é inimigo político dos USA

conh

ecim

ento

pré

vio

J) West é americanoK) Existe um mísseis em cubaL) Os mísseis de cuba foram vendidos por West co

nhec

imen

to

do p

robl

ema

novo

co

nhec

imen

to

M) Cuba possui um míssel M1 - de KO) M1 é uma arma - de D e NP) Cuba é hostil aos USA - de F, G, H e CQ) M1 foi vendido a Cuba por West - de L, M e NR) West é crimonoso - de A, J, O, F, P e Q

Page 7: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

7

Questões levantadas pelo exemplo

Seria possível resolver esse problema com busca?

Por que?

Page 8: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

8Limitações da resolução de problemas por Busca

Agentes de Busca são muito eficientes na solução de problemas que podem ser formalizados por:• 1. um estado inicial;• 2. ações (operadores);• 3. um conjunto de estados finais.

Porém, não são capazes de resolver problemas que exigem raciocínio baseado em conhecimento sobre o mundo:• porque seu modelo do mundo é pobre e o raciocínio é limitado• e.g., diagnóstico médico, controle aero-espacial, prova de

teoremas, sistemas especialistas em geral,...• mesmo em casos aparentemente solucionáveis por busca

(planejamento), pode ser preciso adicionar conhecimento explícito

Page 9: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

9

Comprar banana, leite e um liqüidificador

Como representar que “é no supermercado que se vende banana”?

A função heurística apenas escolhe o estado mais próximo do objetivo. • Não permite descartar ações a priori ( adivinhação)

Ir ao bancoIr ao banco Pagar contasPagar contas

começocomeço

Ir à escolaIr à escola

Ir ao supermercadoIr ao supermercado

Ir dormirIr dormir

Ler um livroLer um livro

Sentar na cadeiraSentar na cadeira

Etc...Etc...

Assistir aulaAssistir aula

Pegar dinheiroPegar dinheiro

LevantarLevantar

Ler um livroLer um livro

Comprar queijoComprar queijo

Comprar bananaComprar banana

Comprar atumComprar atum

FimFim......

Page 10: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

10

Plano de aula

Agentes Baseados em Conhecimento (BC)• definição geral

Categorias de conhecimento e de raciocínio

Linguagens de representação de conhecimento

Mecanismos de raciocínio

Arquitetura e algoritmo básico do Agente BC (caso dedutivo)

Sistemas baseados em conhecimento

Page 11: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

11

Agentes Baseados em Conhecimento

São agentes que• conhecem seu mundo, e • raciocinam sobre suas possíveis ações

Sabem:• o estado atual do mundo (propriedades relevantes)• como o mundo evolui• como identificar estados desejáveis do mundo• como avaliar o resultado das ações• conhecimento sobre conhecimento (meta-conhecimento)• etc.

Page 12: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

12

Categorias de Conhecimento

Procedimental:• fatos e seqüências de instruções para manipular esses fatos

ex.: como desmontar uma bicicleta

Declarativo:• representação descritiva dos fatos, relacionamentos e regras

as partes de uma bicicleta e seus relacionamentos o pai do pai é o avô

Episódico:• fatos vividos, casos, exemplos...

ex. D. Maria tem dor de cabeça e dengue

Meta-conhecimento:• conhecimento sobre o conhecimento disponível

ex. eu não sei Astronomia

Page 13: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

13

Categorias de Raciocínio (Inferência)

Dedução: fatos + regras de inferência => novos fatos.• ex. Em todo lugar que 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

Page 14: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

14

Agentes Baseados em Conhecimento (dedutivo)

Principais componentes:• Base de Conhecimento• Mecanismo de Inferência

Base de Conhecimento:• contém sentenças

representações de fatos e regras expressas em uma Linguagem de Representação de Conhecimento

• conhecimento em forma “tratável” pelo computador ex. míssil é uma arma, M1 é um míssil

Mecanismo (motor) de Inferência:• responsável por inferir, a partir do conhecimento da base,

novos fatos ou hipóteses intermediárias/temporárias ex. M1 é uma arma

Page 15: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

15

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):• estão entre as anteriores...

• existem 3 grandes classes: linguagens (predominantemente) declarativas linguagens procedimentais linguagens híbridas

Page 16: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

16Ciclo de vida dos sistemas baseados em conhecimento

Nível de Conhecimento

Nível Lógico

Nível de Implementação

BC

AQUISIÇÃO

FORMALIZAÇÃO

IMPLEMENTAÇÃO

REFINAMENTO

linguagem natural

linguagem de representação deconhecimento

linguagens de implementação

Page 17: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

17Tipos de Linguagens de Representação do Conhecimento (LRC)

Linguagens procedimentais: dizem como• representam fatos (através de constantes ou variáveis

instanciadas) e seqüências de instruções para manipular esses fatos

• representação e implementação estão intrinsecamente ligados ex. C, Pascal, Lisp, ...

Linguagens declarativas: dizem o que• representam fatos, seus relacionamentos e regras

(conhecimento puro) necessita ser processado por algum código!)

• Linguagens Lógicas (ex. Lógica de 1a ordem)• baseadas em Regras (ex. regras se-então)• baseadas em Objetos (ex. frames, ontologias, etc.)

Page 18: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

18Tipos de Linguagens de Representação do Conhecimento

Linguagens híbridas• objetos + regras• lógica + objetos • lógica + objetos + regras • etc...• Vocês estudam em IA Simbólica (eletiva)

Page 19: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

19

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; o agente acredita nas sentenças que correspondem a sua

configuração interna.

E geralmente ... • tem um mecanismo de inferência associado

Page 20: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

20

Representação & Raciocínio Raciocínio é um processo de construção de novas sentenças a

partir de sentenças existentes.

Raciocínio plausível (sound):• garante que as novas sentenças representam fatos que se seguem

dos fatos representados pelas sentenças existentes na BC.• implementa a relação de “implicação” entre sentenças

implicasentenças

Representação sem

ântic

a

sentenças

Mundofatos

sem

ântic

a

segue-se fatos

Page 21: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

Solucionando o caso do cap. West (Lógica de primeira ordem)

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)co

nhec

imen

to p

révi

o

J) Americano(West)K) x Possui(Cuba,x) Míssil(x) L) x Possui(Cuba,x) Míssil(x) Vende(West, Cuba,x) co

nhec

imen

to

do p

robl

ema

novo

co

nhec

imen

to M) Possui(Cuba,M1) - Eliminação: quantificador existencial eN) Míssil(M1) conjunção de KO) Arma(M1) - Modus Ponens a partir de D e NP) Hostil(Cuba) - Modus Ponens a partir de C e HQ) Vende(West,Cuba,M1) - Modus Ponens a partir de L, M e NR) Criminoso(West) - Modus Ponens a partir de A, J, O, F, P e Q

Page 22: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

22

Implementando raciocínio (dedutivo): Arquitetura

sensoresAgente

efetuadores

a m

b i

e n

t e Base de ConhecimentoMáquina de Inferência (Raciocínio)

Mecanismo de Aprendizagem - opcional

Tell

TellAsk

Ask - consulta a BCTell - - adiciona novas sentenças à BCRetract - retira sentenças da BC

Page 23: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

23Implementando raciocínio (dedutivo): laço principal de TODO agente

Programa Agente Baseado em Conhecimentot := 0 //contador de tempoenquanto Agente-BCAgente-BC vivo, faça

TellTell(BC, Percepções-SentençaPercepções-Sentença(percepção,t)) ação <- AskAsk(BC, Pergunta-AçãoPergunta-Ação(t)) ExecutaExecuta(ação) TellTell(BC, Ação-SentençaAção-Sentença(ação,t)) t <- t + 1

Mas este laço não é geral demais?Aguardem os próximos capítulos...

Page 24: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

24

Direções do raciocínio dedutivo

Raciocínio progressivo • dos dados à conclusão - data-driven inference • as regras da BC são usadas para gerar informação nova

(novos fatos) a partir de um conjunto inicial de dados• os fatos gerados passam a fazer parte da BC

ex.: criminoso(West).

Raciocínio regressivo• da hipótese aos dados - goal-directed inference• usa as regras da BC para responder a perguntas• busca provar se uma asserção é verdadeira

ex.: criminoso(West)?• só processa as regras relevantes para a pergunta (asserção)

Page 25: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

25Tipologia de sistemas baseados em conhecimento

Cada LRC (predominantemente declarativa) tem, pelo menos, um sistema de raciocínio associado

Principais sistemas de raciocínio declarativos/dedutivos

regraslógica objetos híbridos

Sistemas de produçãoSistemas de manutenção da verdade

Provadores de teoremaProgramação em lógica

Sistemas Redes SemânticasSistemas Frames

Sistemas de Lógica descritivaSistemas OO

regras+objetoslógica+objetos

lógica+objetos+funções

Page 26: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

26Sistemas baseados em conhecimento: implementando regras

Provadores de teoremas• Muito expressivos e completamente declarativos• Pouco intuitivos e ineficientes com grandes BC

Linguagens de Programação Lógica• Restringem a lógica, não permitindo o tratamento completo

da negação, da disjunção e/ou da igualdade.• ASK0 decompõe-se em ASK1 & ... & ASKN

• Geralmente usam Encadeamento Regressivo. Exemplos: Prolog, Datalog, XSB, MRS

Page 27: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

27Sistemas baseados em conhecimento: implementando regras

Sistemas de Produção• Restringem a lógica mais ainda, sem objetos complexos • permitem raciocínio não monótono,• SE ASK1 & ... & ASKN ENTÃO TELL | RETRACT | FAZ

• mais intuitivo, porém sem semântica lógica clara, • Geralmente usam Encadeamento Progressivo.

Exemplos: OPS-5, CLIPS, SOLAR.

Sistemas de manutenção da verdade• Truth-maintenance systems (TMS)• Garante base de conhecimento consistente com raciocínio

não monótono

Page 28: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

28Sistemas baseados em conhecimento: implementando objetos

Sistemas de Redes Semânticas• BC: nós (representando objetos) conectados por arcos

(representando a relação binária entre eles).• Raciocínio baseado apenas na herança, não na dedução lógica

Exemplos: KRL, SNEPS, NETL, Conceptual Graphs.

Sistemas Frames• Consistem em uma hierarquia de frames (quadros) conectados

por atributos, onde os frames representam objetos do mundo e atributos usualmente a relação entre eles.

• ~ Redes Semanticas + Procedimentos dirigidos pelos dados• Muito expressivo, sem semântica clara

Exemplos: KRIPTON, OWL, FRAIL, KODIAK.

Page 29: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

29Sistemas baseados em conhecimento: implementando objetos

Linguagens de classes• hierarquia de objetos encapsulando comportamento e

estrutura e com comunicação via envio de mensagens• sem motor de inferência built-in, nem semântica clara

Exemplos: Smalltalk, Lisp-CLOS, Java, ...

Sistemas de Lógica Descritiva• Expressam e raciocinam com definições complexas de

objetos e classes, e relações entre eles, utilizando redes semânticas como princípio de organização.

• ~ Redes semântica com semântica lógica bem definida + classificação automático de conceitos e instâncias

Exemplos: KL-ONE, CLASSIC, LOOM.

Page 30: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

30Sistemas baseados em conhecimento: abordagem híbrida

Sistemas híbridos• combina as vantagens de cada sistema e ainda mais

algumas de engenharia de software

Exemplos• eoops: objetos + regras (C++/Clips, Smalltalk/NéOpus,

Java/Jeops,...)• lógica + objetos (ObjLog),• lógica + objetos + funções (LIFE), etc...

Page 31: DI/UFPE 1 Agentes Baseados em Conhecimento. DI/UFPE 2 Experimento “Robô humano” Partes: 1 Cérebro (1 pessoa) 2 Braços (1 por pessoa = 2 pessoas) 1 Sistema

DI/UFPE

31Principais critérios de avaliação de uma Linguagem de Representação de Conhecimento 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 (sound)? A semântica é bem definida?

Completude: a inferência é completa?

Eficiência inferencial: 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?

Abertura: é um sistema fechado o pode ser conectado com outros serviços (BD, Internet, GUI, etc..)