di/ufpe 1 engenharia do conhecimento e agentes baseados em regras de produção

39
DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

Upload: maria-ribas-sabrosa

Post on 07-Apr-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

1

Engenharia do Conhecimentoe

Agentes Baseados em Regras de Produção

Page 2: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

2

Engenharia do Conhecimento

Já vimos os tipos de linguagens utilizadas para representar conhecimento na BC

Veremos agora como construir uma BC

E em seguida, veremos como os diferentes mecanismos de inferência raciocinam usando as sentenças da BC.

Page 3: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

3

Engenharia do Conhecimento

Engenharia do Conhecimento• estuda como construir uma Base de Conhecimento (BC)

1. Nível do conhecimento: aquisição de conhecimento• conhecimento em “estado puro” - linguagem natural

e.g., táxi automático: a ponte Princesa Isabel liga a Rua da Imperatriz à Rua Nova

2. Nível lógico: formalização• conhecimento codificado em sentenças - linguagem formal

e.g. sentença lógica: liga(Ponte-PI,RI,RN)

3. Nível de máquina: implementação• estrutura de dados representando as sentenças do nível

lógico e.g., listas, tabelas, objetos, etc.

Page 4: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

4

Engenharia do Conhecimento

Nível de Conhecimento

Nível Lógico

Nível de Implementação

BC

AQUISIÇÃO

FORMALIZAÇÃO

IMPLEMENTAÇÃO

REFINAMENTO

Page 5: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

5Relembrando... Arquitetura do Agente BC Dedutivo

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

Tell - - adiciona novas sentenças à BCAsk - consulta a BC

Page 6: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

6

Sistemas baseados em conhecimento

Principais sistemas de raciocínio declarativos/dedutivos

regraslógica objetos híbridos

Programação em lógicaSistemas de produção

Sistemas de manutenção da verdade

Provadores de teoremaSistemas Redes Semânticas

Sistemas FramesSistemas de Lógica descritiva

Sistemas OO

regras+objetoslógica+objetos

lógica+objetos+funções

Page 7: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

7

Sistemas baseados em Regras de Produção

Sistemas de Produção• Definições• Arquitetura geral • Raciocínio progressivo + exemplo• Raciocínio regressivo + exemplo• Fator de incerteza• Crítica

Page 8: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

8

Regras de Produção

Representam conhecimento com pares de condição-ação• Se condição (ou premissa ou antecedente) ocorre então ação (resultado, conclusão ou conseqüente) deverá

ocorrer. Se o agente percebe luz do freio do carro em frente acesa

então ele deve frear o carro (regra de ação) Se veículo tem 4 rodas e tem um motor

então veículo é um automóvel (novo conhecimento)

São chamadas de regras de produção porque, quando utilizadas com raciocínio progressivo, produzem novos fatos a partir dos fatos e regras da BC. • Esses novos fatos passam a fazer parte da BC

Page 9: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

9

Regras de Produção

Características:• Representam conhecimento de forma modular

cada regra representa um “pedaço” de conhecimento independente

cuidado: a consistência deve ser mantida. • São fáceis de compreender (legíveis) e de modificar• Novas regras podem ser facilmente inseridas na BC• Podem ser usadas tanto com raciocínio progressivo quanto

com raciocínio regressivo.

Page 10: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

10

Sistemas de Produção

São sistemas baseados em regras de produção

Consistem em 3 módulos principais:• A Base de Regras -BR (permanente)

regras se-então e fatos conhecidos

• A Memória de Trabalho (temporária) base de fatos derivados durante a “vida” do agente

– percepções do agente e fatos gerados a partir da BR pelo mecanismo de inferência

• O Mecanismo de Inferência determina o método de raciocínio utilizado (progressivo ou

regressivo) utiliza estratégias de busca com casamento (unificação) resolve conflitos e executa ações.

Page 11: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

Arquitetura dos Sistemas de Produção

Conhecimento Permanente• fatos• regras de produção

Meta-conhecimento• estratégias para resolução de

conflito

Base de RegrasConhecimento volátil• descrição da instância do problema atual• hipóteses atuais• objetivos atuais• resultados intermediários

Conjunto de conflito conjunto de possíveis regras a serem disparadas

Memória de Trabalho

Mecanismo de

Inferência

Page 12: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

12

Exemplo de BR para veículos

Bicicleta: Se veículoTipo=ciclo E num-rodas=2 E motor=não Então veículo=Bicicleta

Triciclo: Se veículoTipo=ciclo E num-rodas=3 E motor=não Então veículo=Triciclo

Motocicleta: Se veículoTipo=ciclo E num-rodas=2 E motor=sim Então veículo=Motocicleta

Page 13: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

13

Exemplo de BR para veículos

CarroSport: Se veículoTipo=automóvel E tamanho=pequeno E num-portas=2 Então veículo=CarroSport

Sedan: Se veículoTipo=automóvelE tamanho=médioE num-portas=4Então veículo=Sedan

MiniVan: Se veículoTipo=automóvelE tamanho=médioE num-portas=3Então veículo=MiniVan

Page 14: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

14

Exemplo de BR para veículos

UtilitárioSport: Se veículoTipo=automóvel E tamanho=grande E num-portas=4 Então veículo=UtilitárioSport

Ciclo: Se num-rodas<4 Então veículoTipo=ciclo

Automóvel: Se num-rodas=4E motor=simEntão veículoTipo=automóvel

Page 15: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

15

Raciocinando com encadeamento progressivo

Dos dados à conclusão - data-driven inference • Parte dos fatos na BR e na memória de trabalho, buscando

quais regras eles satisfazem, para produzir assim novas conclusões (fatos) e/ou realizar ações.

Três etapas:• Busca, Casamento (unificação), Resolução de conflito

É uma estratégia de inferência muito rápida• usada em sistemas de monitoramento e diagnóstico em

tempo real.

Ferramentas comerciais que implementam esta estratégia• OPS5, OPS85, IBM: TIRS

Page 16: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

16Encadeamento progressivo: algoritmo

1. Armazena as regras da BR na máquina de inferência (MI) e os fatos na memória de trabalho (MT);

2. Adiciona os dados iniciais à memória de trabalho;

3. Compara o antecedente das regras com os fatos na MT. As regras cujo antecedente “casa” (unifica) com esses fatos podem ser disparadas (conjunto de conflito);

4. Usa o procedimento de resolução de conflito para selecionar uma única regra desse conjunto;

5. Dispara a regra selecionada e verifica o seu conseqüente: a) se for um fato, atualiza a MTb) se for uma ação, chama o procedimento que ativa os efetuadores do agente e atualiza a MT

6. Repete os passos 3, 4 e 5 até que o conjunto de conflito se torne vazio.

Page 17: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

17

Encadeamento progressivo: Busca e Casamento

Busca• Se a BR é muito grande, verificar todas as regras gasta muito

tempo• Prioridade:

regras cujo antecedente se refere a um fato recentemente inserido na MT (pela última regra disparada, por exemplo)

Casamento (unificação)• O antecedente de cada regra selecionada é comparado com

os fatos na MT usando busca em largura• ex.: regra sobre automóveis

If veloz(x) and importado(x) then caro(x)• veloz(Cadett-2.0), veloz(BMW), veloz(Gol-2.0), etc• importado(BMW)

Page 18: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

18

Encadeamento progressivo: Busca e Casamento

Casamento (unificação)• A forma mais simples de realizar unificação é ineficiente

Como solução, temos o Algoritmo RETE (rede).• elimina duplicações entre regras• cria uma rede de dependências entre as regras da BR• minimiza o número de testes requeridos durante a fase de

casamento.

Page 19: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

19

A B A=B

D

C

E

add E

add D

delete AA(1), A(2) B(2), B(3), B(4)

A(2)B(2)

C(5)

A=D

Algoritmo RETE: encadeamento progressivo Base de Regras:

A(x) ^ B(x) ^ C(y) => add D(x) A(x) ^ B(y) ^ D(x) => add E(x) A(x) ^ B(x) ^ E(x) => delete A(x)

Memória de Trabalho: {A(1), A(2), B(2), B(3), B(4), C(5)}

À mão x com RETE

Page 20: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

20Encadeamento progressivo:Resolução de conflitos

Resolução de conflitos• heurística geral para escolher um subconjunto de regras a

disparar

Exemplos:• Não duplicação: não executar a mesma regra com os

mesmos argumentos duas vezes. • Prioridade de operação: preferir ações com prioridade

maior (~ sistemas ação-valor - LPO).• Recency (“recenticidade”): preferir regras que se referem a

elementos da Memória de Trabalho criados recentemente.• Especificidade: preferir regras que são mais específicas.

Page 21: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

21Encadeamento progressivo:Exemplo no domínio dos veículos

Carregar a BR de veículos na MI e atribuir valores iniciais para algumas variáveis, guardando esses fatos na MT.

Fatos iniciais: • num-rodas=4 • motor=sim • num-portas=3 • tamanho=médio

Fase de “casamento”• Conjunto de conflito da 1a rodada de inferência resulta em

apenas uma regra Automóvel: Se num-rodas=4

E motor=sim Então veículoTipo=automóvel

Page 22: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

22Encadeamento progressivo:Exemplo no domínio dos veículos

A resolução de conflito fica então trivial.

Fatos na MT: • num-rodas=4; motor=sim; num-portas=3; tamanho=médio • veículoTipo=automóvel

Casamento: segunda rodada de inferência seleciona apenas 1 regra para o conjunto de conflito:• MiniVan: Se veículoTipo=automóvel

E tamanho=médio E num-portas=3 Então veículo=MiniVan

Page 23: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

23Encadeamento progressivo:Exemplo no domínio dos veículos

Fatos na MT: • num-rodas=4; motor=sim; num-portas=3; tamanho=médio • veículoTipo=automóvel; veículo=MiniVan

Casamento: • terceira rodada de inferência seleciona a mesma regra que na

rodada anterior• como esta já foi disparada, não será adicionada novamente ao

conjunto de conflito• com o conjunto de conflito vazio, o processo de inferência para

Com os fatos na MT, concluímos então que o veículo procurado é uma Minivan.

Page 24: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

24

Encadeamento progressivo:Exemplo no domínio de animais

Um Sistema que Identifica Animais: ZOOKEEPER • Observa hábitos e características físicas para identificar os

animais;• Neste exemplo, pode distinguir apenas quatro animais:

leopardo, tigre, girafa e zebra.

Page 25: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

25

Regras do ZOOKEEPER

Regra Z1: Identifica um mamífero (características)• Se ?x tem cabelo

Então ?x é um mamífero

Regra Z2: Identifica um mamífero (hábitos)• Se ?x dá leite

Então ?x é um mamífero

Regra Z3: Identifica um carnívoro (hábitos)• Se ?x é um mamífero

?x come carneEntão ?x é um carnívoro

Regra Z4: Identifica um carnívoro (características)• Se ?x é um mamífero

?x tem dentes pontudos?x tem garras?x tem olhos voltados para frente

Então ?x é um carnívoro

Page 26: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

26

Regras do ZOOKEEPER

Regra Z5: Identifica um ungulado (características)• Se ?x é um mamífero

?x tem cascosEntão ?x é um ungulado

Regra Z6: Identifica um ungulado (hábitos)• Se ?x é um mamífero

?x ruminaEntão ?x é um ungulado

Regra Z7• Se ?x é um carnívoro

?x tem cor amarela tostada?x tem manchas escuras

Então ?x é um leopardo

Page 27: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

27

Regras do ZOOKEEPER Regra Z8

• Se ?x é um carnívoro?x tem cor amarela tostada?x tem listas pretas

Então ?x é um tigre

Regra Z9• Se ?x é um ungulado

?x tem pernas longas?x tem pescoço comprido?x tem cor amarela tostada?x tem manchas escuras

Então ?x é uma girafa

Regra Z10• Se ?x é um ungulado

?x tem cor branca?x tem listas pretas

Então ?x é uma zebra

Page 28: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

28

Memória de Trabalho para Catatau

Catatau tem cabelo.

Catatau rumina.

Catatau tem pernas longas.

Catatau tem cor amarela tostada.

Catatau tem pescoço comprido.

Catatau tem manchas escuras.

Page 29: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

29

Exemplo: Encadeamento Progressivo

Verificar que tipo de animal é Catatau.

Solução:• Catatau tem cabelo, logo é um mamífero (dispara Z1);• Catatau rumina e é um mamífero, logo é um ungulado

(dispara Z6);• Catatau é um ungulado, tem pernas longas, tem cor amarela

tostada, tem pescoço comprido e tem manchas escuras, logo é uma girafa (dispara Z9).

Page 30: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

30

Z1Tem cabelo

Rumina Z6

Z9

É um mamífero

É um ungulado

É uma girafaTem pernas longasTem pescoço compridoTem cor amarela tostadaTem manchas escuras

Exemplo: (cont.)

O fluxo de informações se dá através de uma série de regras antecedente-conseqüente, a partir das assertivas para as conclusões

Page 31: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

31

Encadeamento regressivo: Busca e Casamento

Da hipótese aos dados - goal-directed inference• Parte da hipótese que se quer provar, procurando regras na

BR cujo conseqüente satisfaz essa hipótese.• usa as regras da BR para responder a perguntas• busca provar se uma asserção é verdadeira

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

Duas etapas:• Busca e Casamento (unificação)

Utilizado em sistemas de aconselhamento• trava um “diálogo” com o usuário• ex.: MYCIN

Page 32: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

32

Encadeamento regressivo: algoritmo

1. Armazena as regras da BC na máquina de inferência (MI) e os fatos na memória de trabalho (MT);

2. Adiciona os dados iniciais à memória de trabalho;

3. Especifica uma variável “objetivo” para a MI;

4. Busca o conjunto de regras que se referem à variável objetivo no conseqüente da regra. - Isto é, seleciona todas as regras que atribuem um valor à

variável objetivo quando disparadas.

Insere cada regra na pilha de objetivos;

Page 33: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

33

Encadeamento regressivo: algoritmo

5. Se a pilha de objetivos está vazia, pare.

6. Selecione a regra no topo da pilha;

7. Tente provar que essa regra é verdadeira testando, um a um, se todos os seus antecedentes são verdadeiros:

a) se o 1o. antecedente é V, vá em frente para o próximob) se ele for F, desempilhe essa regra e volte ao passo 3c) se o seu valor-verdade é desconhecido porque a variável do antecedente é desconhecida, vá para o passo 4 com essa variável como variável objetivod) se todos os antecedentes são V, dispare a regra, atribuindo o valor do conseqüente para o valor da variável conseqüente dessa regra, retire a regra da pilha e volte ao passo 5.

Page 34: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

34

Encadeamento regressivo: Busca e Casamento

Busca e Casamento• O sistema percorre a BC em busca regras cujo conseqüente

“casa” com a hipótese de entrada• Se a hipótese de entrada é um fato, a busca pára quando

encontra a 1a regra que casa com ele, e o sistema devolve uma variável booleana (V ou F).

• Se a hipótese tem alguma variável livre (não instanciada), o sistema (programador) pode optar por devolver a 1a instanciação encontrada, ou por devolver uma lista com todas as possíveis instâncias para aquela variável.

• Portanto, não há conflito de execução de regras• Unificação é realizada com busca em profundidade

ex.: criminoso(West)?

Page 35: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

35Encadeamento progressivo:Exemplo no domínio dos veículos

Carregar a BR de veículos na MI e atribuir valores iniciais para algumas variáveis, guardando esses fatos na MT.

Fatos iniciais: • num-rodas=4 • motor=não • num-portas=3 • tamanho=médio

Fase de “casamento”• Conjunto de conflito da 1a rodada de inferência resulta em

apenas uma regra Automóvel: Se num-rodas=4

E motor=sim Então veículoTipo=automóvel

Page 36: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

36Exemplo: West é criminoso?usando encadeamento regressivo

Criminoso(West) = hipótese a provar. -> representado usando logica!

R1: x,y,z Americano(x) Arma(y) Nação(z) Hostil(z) Vende(x,z,y) Criminoso(x)R2: x Guerra(x,USA) Hostil(x)R3: x InimigoPolítico(x,USA) Hostil(x)R4: x Míssil(x) Arma(x)R5: x Bomba(x) Arma(x)R6: x Possui(Cuba,x) Míssil(x) R7: x Possui(Cuba,x) Míssil(x) Vende(West, Cuba,x)R8: Nação(Cuba)R9: Nação(USA)R10: InimigoPolítico(Cuba,USA)R11: InimigoPolítico(Irã,USA)R12: Americano(West)

Page 37: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

37

R3

Americano(West)

Nação(Cuba)

R7

R1Criminoso(West)

Inimigo(Cuba, EUA)

Possui(Cuba, M1)

Míssil(M1)

Hostil(Cuba)

Vende(West, Cuba, M1)

R4Arma(M1)

Exemplo: (cont.)

Page 38: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

38

Regras com fator de incerteza

Na maioria dos sistemas reais, é necessário associar-se um fator de incerteza (ou de confiança) a algumas regras na BR• As regras que se aplicam em 100% dos casos são poucas...

Incerteza nos dados e na aplicação das regras• If (previsão-do-tempo = chuva) > 80%

and previsão-períodos-anteriores = chuva with 85%then chance-de-chuva = alta with 90%

Deve-se combinar as incertezas dos anatecedentes• teoria da probabilidade?• “senso-comum”?• experiência do especialista na área?

Page 39: DI/UFPE 1 Engenharia do Conhecimento e Agentes Baseados em Regras de Produção

DI/UFPE

39Vantagens e Limitações dos Sistemas de Produção

Vantagens• As regras são de fácil compreensão.• Inferência e explicações são facilmente derivadas.• Manutenção é relativamente simples, devido a modularidade.• “Incerteza” é facilmente combinada com as regras.• Cada regra é (normalmente) independente das outras.• São mais eficientes que os sistemas de programação em

lógica, embora menos expressivos

Desvantagens• Conhecimento complexo requer muitas (milhares de) regras.• Esse excesso de regras cria problemas para utilização e

manutenção do sistema.• Não é robusto.