Title: Agentes Cognitivos Adaptativos
1Agentes Cognitivos Adaptativos
- Sistemas Baseados em Regras de Produção
- Flávia Barros
2Plano da aula
- Sistemas de Produção
- Definições
- Arquitetura geral
- Como raciocinam os Mecanismos de Inferência
- Raciocínio progressivo
- Raciocínio regressivo
3Sistemas baseados em conhecimento
4Regras 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
5Regras 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.
6Sistemas 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 (MT) 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 (máquina) de Inferência (MI)
- determina o método de raciocínio utilizado
- progressivo ou regressivo
- utiliza estratégias de busca com casamento
(unificação) - resolve conflitos
7Arquitetura dos Sistemas de Produção
Memória de Trabalho
Base de Regras
- Conhecimento 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
- Conhecimento Permanente
- fatos
- regras de produção
- Meta-conhecimento
- estratégias para resolução de conflito
Mecanismo de Inferência
8Exemplo de regras para veículos
- Bicicleta Se veículoTipociclo
- E num-rodas2
- E motornão
- Então veículoBicicleta
- Triciclo Se veículoTipociclo
- E num-rodas3
- E motornão
- Então veículoTriciclo
- Motocicleta Se veículoTipociclo
- E num-rodas2
- E motorsim
- Então veículoMotocicleta
9Exemplo de regras para veículos
- CarroSport Se veículoTipoautomóvel
- E tamanhopequeno
- E num-portas2
- Então veículoCarroSport
- Sedan Se veículoTipoautomóvel
- E tamanhomédio
- E num-portas4
- Então veículoSedan
- MiniVan Se veículoTipoautomóvel
- E tamanhomédio
- E num-portas3
- Então veículoMiniVan
10Exemplo de regras para veículos
- UtilitárioSport Se veículoTipoautomóvel
- E tamanhogrande
- E num-portas4
- Então veículoUtilitárioSport
- Ciclo Se num-rodaslt4
- Então veículoTipociclo
- Automóvel Se num-rodas4
- E motorsim
- Então veículoTipoautomóvel
11 Complementando os exemplos...
- Meta-regras
- Se R1 e R2 podem ser disparadas, escolha R1
- Se R1 e R2 podem ser disparadas e R1 foi
disparada mais recentemente que R2, escolha R2 - Fatos
- Veículo1 tamanhopequeno num-portas2
motorsim - Veículo2 num-rodas2 motornão
12Direçõ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
- prova se uma asserção é verdadeira
- ex. criminoso(West)?
- só processa as regras relevantes para a pergunta
(asserção)
13Raciocinando com Encadeamento progressivo
- dos dados à conclusão
- data-driven inference
14Raciocinando com Encadeamento Progressivo
- Dos dados à conclusão
- 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
15Encadeamento progressivoAlgoritmo
- 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 - obs. esses dados podem ser fornecidos pelo
usuário do sistema ou - podem ser obtidos pelo agente que
percebe o ambiente - 3. Compara o antecedente das regras com os fatos
na MT. - Todas as regras cujo antecedente casa (unifica)
com esses fatos podem ser disparadas e são
colocadas no conjunto de conflito - 4. Usa o procedimento de resolução de conflito
para selecionar uma única regra desse conjunto
16Encadeamento progressivoAlgoritmo
- 5. Dispara a regra selecionada e verifica o seu
conseqüente -
- 5a) se for um fato
- Atualiza a MT
- Repete os passos 3, 4 e 5 até o conjunto de
conflito se tornar vazio. -
- 5b) se for uma ação
- Chama o procedimento que ativa os atuadores do
agente - Atualiza a MT
- Volta para o passo 2 (para obter novos dados do
ambiente). -
17Encadeamento progressivo Busca e Casamento
(unificação)
- O algoritmo tenta casar (unificar) as premissas
das regras selecionadas com os fatos na memória
de trabalho - MT1 num-rodas4, motorsim, num-portas3,
tamanhomédio - MI (regras da BC) Se num-rodas4 E motorsim
- Então veículoTipoautomóvel
- MT2 MT1 veículoTipoautomóvel
17
18Encadeamento progressivo Busca e Casamento
- Geralmente, o antecedente de cada regra
selecionada é comparado com os fatos na MT usando
busca gulosa (best-first) - Custo da busca-casamento
- Se a BR é muito grande, verificar todas as
premissas de todas as regras a cada ciclo é caro
19Encadeamento progressivo Busca e Casamento
- Solução (para quem não tem RETE)
- Depois de realizadas as etapas iniciais de busca
e casamento, o algoritmo atualiza o conjunto de
conflitos levando em conta apenas o conseqüente
da regra que foi disparada no último ciclo - ex1. conseqüente retract (número de rodas 4)
verifica que regras do conjunto de conflito
deixam de ser válidas - ex2. conseqüente insert (número de rodas 4)
verifica que regras que disparam com esta
premissa podem ser adicionadas ao conjunto de
conflito
20Encadeamento progressivo Busca e Casamento
- Outra solução algoritmo RETE (rede).
- elimina duplicações entre regras
- minimiza o número de testes requeridos durante a
fase de casamento - cria uma rede de dependências entre as regras da
BR - que deve ser recriada sempre que as regras na
base são modificadas
21Algoritmo RETE encadeamento progressivo
- Base de Regras
- Ax Bx Cy gt add Dx
- Ax By Dx gt add Ex
- Ax Bx Ex gt delete Ax
- Memória de Trabalho
- MT1 A1, B1, C5
- MT2 A1, B1, C5, D1
22Encadeamento progressivoResoluçã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 - semelhante aos 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.
23Encadeamento progressivoExemplo 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-rodas4, motorsim,
num-portas3, tamanhomédio - Fase de casamento
- Conjunto de conflito da 1a rodada de inferência
resulta em apenas uma regra - Automóvel Se num-rodas4
- E motorsim
- Então veículoTipoautomóvel
24Encadeamento progressivoExemplo no domínio dos
veículos
- A resolução de conflito fica então trivial.
- Fatos na MT
- num-rodas4 motorsim num-portas3
tamanhomédio - veículoTipoautomóvel
- Casamento segunda rodada de inferência seleciona
apenas 1 regra para o conjunto de conflito - MiniVan Se veículoTipoautomóvel
- E tamanhomédio
- E num-portas3
- Então veículoMiniVan
25Encadeamento progressivoExemplo no domínio dos
veículos
- Fatos na MT
- num-rodas4 motorsim num-portas3
tamanhomédio - veículoTipoautomóvel veículoMiniVan
- 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 pára - Com os fatos na MT, concluímos então que o
veículo procurado é uma Minivan.
26Exemplo regras disparadas
- O fluxo de informações se dá através de uma série
de regras encadeadas a partir das premissas para
as conclusões - Automóvel Se num-rodas4
- E motorsim
- Então veículoTipoautomóvel
- MiniVan Se veículoTipoautomóvel
- E tamanhomédio
- E num-portas3
- Então veículoMiniVan
27Raciocinando com Encadeamento regressivo
- da hipótese aos dados
- goal-directed inference
28Encadeamento regressivo Busca e Casamento
- Da hipótese aos dados
- 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
29Encadeamento 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 possuem a
variável objetivo no conseqüente da regra - (Isto é, seleciona todas as regras que
atribuem um valor à variável objetivo quando
disparadas.) - Insere as regras selecionadas na pilha de
objetivos - 5. Seleciona a regra no topo da pilha de
objetivos - - Se a pilha de objetivos está vazia, o
algoritmo falha! - (não conseguiu provar a hipótese de entrada)
30Encadeamento regressivo algoritmo
- 6. Tenta provar que a regra selecionada é
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óximo - b) se algum antecedente dessa regra for F, a
regra toda falha - - o algoritmo volta ao passo 5 (para tentar
provar outra regra selecionada previamente,
disponível na pilha de objetivos) - c) quando todos os antecedentes são provados V
- - dispara a regra instancia a variável no seu
conseqüente para o valor que aparece nessa regra
e - - devolve o resultado para o usuário (o
algoritmo termina com sucesso).
31Encadeamento regressivo algoritmo
- 6. continuação
- d) se o valor-verdade de um antecedente é
desconhecido (porque não está na MT) - - suspende o processamento da regra atual
- - vai para o passo 4 com essa variável como
variável objetivo. - (nesse caso, o algoritmo cria uma nova pilha
de objetivos, com base na nova variável objetivo
RECURSÃO!) - - Se conseguir provar que o valor-verdade
dessa nova variável é V - - dispara a regra, instancia a variável no seu
conseqüente para o valor que aparece nessa regra - - abandona a nova pilha de objetivos e
- - retoma o processamento da regra que estava
sendo provada antes (6.a)
32Encadeamento regressivo algoritmo
- 6d. continuação
- - Se o valor-verdade dessa nova variável é F
- - abandona a regra e volta para a nova pilha de
objetivos - - se nova pilha de objetivos estiver vazia, o
algoritmo falha. - - Se o valor-verdade de um antecedente dessa
nova regra sendo testada é desconhecido - - suspende o processamento da regra atual
- - vai para o passo 4 com essa variável como
variável objetivo. - (RECURSÃO de novo!)
32
33Encadeamento regressivo Busca e Casamento
- O sistema percorre a BC em busca regras cujo
conseqüente casa com a hipótese de entrada - Unificação é realizada com busca em profundidade
- Se a hipótese de entrada é um fato (ex.
criminoso(West)), - a busca pára quando encontra a 1a regra que casa
com o fato - o sistema devolve uma variável booleana (V ou F).
- Se a hipótese tem alguma variável livre (ex.
criminoso(X)), - o sistema (programador) pode optar por devolver a
1a instanciação encontrada, ou - devolver uma lista com todas as possíveis
instanciações para aquela variável. - Portanto, não há conflito de execução de regras!
34Encadeamento regressivoExemplo no domínio dos
veículos
- Carregar a BR de veículos na MI e os fatos na MT
- Fatos iniciais
- num-rodas4, motorsim, num-portas3,
tamanhomédio - Especificar variável objetivo
- veículo?
- Pilha de objetivos
- regras com variável objetivo no conseqüente
- as 7 primeiras regras da nossa BC
35Encadeamento regressivoExemplo no domínio dos
veículos
- Tenta provar verdadeiros os antecedentes da 1a
regra usando busca em profundidade - Bicicleta Se veículoTipociclo
- E num-rodas2
- E motornão
- Então veículoBicicleta
- VeículoTipociclo não aparece na MT
- nova variável objetivo
- Atualiza pilha de objetivos
- inclui regras com nova variável objetivo no
conseqüente - apenas a penúltima regra da nossa BC
36Encadeamento regressivo
- veículoTipociclo só é verdade em apenas uma
regra - Ciclo Se num-rodas lt 4
- Então veículoTipociclo
- Verifica o valor verdade dos antecedentes da
regra - num-rodas lt 4 gt FALSO!
- Donde se deduz que veículoBicicleta é Falso!
37Encadeamento regressivo
- Desempilha as outras regras, uma a uma, até
encontrar a regra abaixo - que vai dar certo! - MiniVan Se veículoTipoautomóvel
- E tamanhomédio
- E num-portas3
- Então veículoMiniVan
- VeículoTipoautomóvel não existe na MT
- Automóvel Se num-rodas4 OK! (1)
- E motorsim OK! (2)
- Então veículoTipoautomóvel gt OK! (3)
- Tenta provar os outros antecedentes da regra, que
estão todos instanciados na MT, e são
verdadeiros! - veículoMiniVan é verdade!
38Encadeamento regressivo
- Se o fato a ser provado não aparece
explicitamente na base e nem pode ser deduzido
por nenhuma outra regra, duas coisas podem
ocorrer, dependendo da implementação do sistema - o fato é considerado FALSO
- ex. Prolog
- o sistema consulta o usuário via sua interface
- ex. Sistema ExpertSinta
39Regras com fator de incerteza
- Geralmente, é necessário associar-se um fator de
incerteza (ou de confiança) a algumas regras na
BR - Incerteza nos dados e na aplicação das regras
- If (previsão-do-tempo chuva) gt 80
- and (previsão-períodos-anteriores chuva) 85
- then (chance-de-chuva alta) 90
- Infelizmente ...
- combinar as incertezas dos antecedentes neste
caso propaga erros - só uma abordagem probabilista pode tratar este
tipo de incerteza corretamente
40Vantagens 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 - 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 são robustos (tratamento de incerteza)
- Não aprendem
41Exemplo de Shell
- Shell ambiente que facilita construção de bases
de conhecimento - ExpertSinta
- Construído por Ricardo Bezerra
- Lógica de ordem 0 (atributo-valor)
- Usa encadeamento regressivo
- Implementado em Delphi
42Próxima aula