Sistemas Baseados em Regras de Produo Flvia Barros
Sistemas Baseados em Regras de Produção Flávia Barros 1
Plano da aula Sistemas de Produção n n Definições Arquitetura geral Como raciocinam os Mecanismos de Inferência n n Raciocínio progressivo Raciocínio regressivo 2
Sistemas baseados em conhecimento Principais sistemas de raciocínio declarativos/dedutivos lógica Provadores de teorema regras objetos híbridos Sistemas Redes Semânticas Sistemas Frames Sistemas de Lógica descritiva Sistemas OO Programação em lógica Sistemas de produção Sistemas de manutenção da verdade regras+objetos lógica+objetos+funções
Regras de Produção Representam conhecimento com pares de condição-ação n Se condição (ou premissa ou antecedente) ocorre então ação (resultado, conclusão ou conseqüente) deverá ocorrer. w Se o agente percebe luz do freio do carro em frente acesa ele deve frear o carro (regra de ação) w Se veículo tem 4 rodas e tem um motor então veículo é um automóvel (novo conhecimento) então 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. n Esses novos fatos passam a fazer parte da BC 4
Regras de Produção Características: n Representam conhecimento de forma modular w cada regra representa um “pedaço” de conhecimento independente w cuidado: a consistência deve ser mantida. n n n 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. 5
Sistemas de Produção São sistemas baseados em Regras de Produção Consistem em 3 módulos principais: n n A Base de Regras (BR): permanente w regras se-então e fatos conhecidos A Memória de Trabalho (MT): temporária w base de fatos derivados durante a “vida” do agente w percepções do agente e fatos gerados a partir da BR pelo mecanismo de inferência n O Mecanismo (máquina) de Inferência (MI): w determina o método de raciocínio utilizado n progressivo ou regressivo w utiliza estratégias de busca com casamento (unificação) w resolve conflitos 6
Arquitetura dos Sistemas de Produção Memória de Trabalho Base de Regras Conhecimento volátil Conhecimento Permanente • fatos • regras de produção Meta-conhecimento • estratégias para resolução de conflito Mecanismo de Inferência • 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
Exemplo de regras para veículos Bicicleta: Se veículo. Tipo=ciclo E num-rodas=2 E motor=não Então veículo=Bicicleta Triciclo: Se veículo. Tipo=ciclo E num-rodas=3 E motor=não Então veículo=Triciclo Motocicleta: Se veículo. Tipo=ciclo E num-rodas=2 E motor=sim Então veículo=Motocicleta 8
Exemplo de regras para veículos Carro. Sport: Se veículo. Tipo=automóvel E tamanho=pequeno E num-portas=2 Então veículo=Carro. Sport Sedan: Se veículo. Tipo=automóvel E tamanho=médio E num-portas=4 Então veículo=Sedan Mini. Van: Se veículo. Tipo=automóvel E tamanho=médio E num-portas=3 Então veículo=Mini. Van 9
Exemplo de regras para veículos Utilitário. Sport: Se veículo. Tipo=automóvel E tamanho=grande E num-portas=4 Então veículo=Utilitário. Sport Ciclo: Se num-rodas<4 Então veículo. Tipo=ciclo Automóvel: Se num-rodas=4 E motor=sim Então veículo. Tipo=automóvel 10
Complementando os exemplos. . . Meta-regras n n Se R 1 e R 2 podem ser disparadas, escolha R 1 Se R 1 e R 2 podem ser disparadas e R 1 foi disparada mais recentemente que R 2, escolha R 2 Fatos n n Veículo 1: tamanho=pequeno; num-portas=2; motor=sim Veículo 2: num-rodas=2; motor=não 11
Direções do raciocínio dedutivo Raciocínio progressivo n n n 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 w ex. : criminoso(West). Raciocínio regressivo n n n da hipótese aos dados - goal-directed inference usa as regras da BC para responder a perguntas prova se uma asserção é verdadeira w ex. : criminoso(West)? n só processa as regras relevantes para a pergunta (asserção) 12
Raciocinando com Encadeamento progressivo dos dados à conclusão data-driven inference 13
Raciocinando com Encadeamento Progressivo Dos dados à conclusão n 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: n Busca, Casamento (unificação), Resolução de conflito É uma estratégia de inferência muito rápida n usada em sistemas de monitoramento e diagnóstico em tempo real. Ferramentas comerciais que implementam esta estratégia n OPS 5, OPS 85, IBM: TIRS 14
Encadeamento 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; 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. n 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; 15
Encadeamento progressivo Algoritmo 5. Dispara a regra selecionada e verifica o seu conseqüente: 5 a) se for um fato n n Atualiza a MT Repete os passos 3, 4 e 5 até o conjunto de conflito se tornar vazio. 5 b) se for uma ação n n n Chama o procedimento que ativa os atuadores do agente Atualiza a MT Volta para o passo 2 (para obter novos dados do ambiente). 16
Encadeamento progressivo Busca e Casamento (unificação) O algoritmo tenta casar (unificar) as premissas das regras selecionadas com os fatos na memória de trabalho n n n MT 1: num-rodas=4, motor=sim, num-portas=3, tamanho=médio MI (regras da BC): Se num-rodas=4 E motor=sim Então veículo. Tipo=automóvel MT 2: MT 1 + veículo. Tipo=automóvel 17
Encadeamento 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 n Se a BR é muito grande, verificar todas as premissas de todas as regras a cada ciclo é caro 18
Encadeamento progressivo: Busca e Casamento Solução (para quem não tem RETE) n n n 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 ex 1. conseqüente: retract (número de rodas = 4) verifica que regras do conjunto de conflito deixam de ser válidas ex 2. conseqüente: insert (número de rodas = 4) verifica que regras que disparam com esta premissa podem ser adicionadas ao conjunto de conflito 19
Encadeamento progressivo: Busca e Casamento Outra solução: algoritmo RETE (rede). n n n 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 w que deve ser recriada sempre que as regras na base são modificadas 20
Algoritmo RETE: encadeamento progressivo Base de Regras: w A=x ^ B=x ^ C=y => add D=x w A=x ^ B=y ^ D=x => add E=x w A=x ^ B=x ^ E=x => delete A=x Memória de Trabalho: w MT 1: {A=1, B=1, C=5} w MT 2: {A=1, B=1, C=5, D=1} D A A=x B A=D add E C add D E delete A B=x ou B=y 21
Encadeamento progressivo: Resolução de conflitos n heurística geral para escolher um subconjunto de regras a disparar Exemplos: n n 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 w semelhante aos sistemas ação-valor - LPO n n 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. 22
Encadeamento 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. n Fatos iniciais: num-rodas=4, motor=sim, num-portas=3, tamanho=médio Fase de “casamento” n Conjunto de conflito da 1 a rodada de inferência resulta em apenas uma regra Automóvel: Se num-rodas=4 E motor=sim Então veículo. Tipo=automóvel 23
Encadeamento progressivo: Exemplo no domínio dos veículos A resolução de conflito fica então trivial. Fatos na MT: n num-rodas=4; motor=sim; num-portas=3; tamanho=médio veículo. Tipo=automóvel Casamento: segunda rodada de inferência seleciona apenas 1 regra para o conjunto de conflito: n n Mini. Van: Se veículo. Tipo=automóvel E tamanho=médio E num-portas=3 Então veículo=Mini. Van 24
Encadeamento progressivo: Exemplo no domínio dos veículos Fatos na MT: n n num-rodas=4; motor=sim; num-portas=3; tamanho=médio veículo. Tipo=automóvel; veículo=Mini. Van Casamento: n n n 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. 25
Exemplo: 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-rodas=4 E motor=sim Então veículo. Tipo=automóvel Mini. Van: Se veículo. Tipo=automóvel E tamanho=médio E num-portas=3 Então veículo=Mini. Van num-rodas=4 motor=sim Autom. veículo. Tipo= automóvel tamanho=médio num-portas=3 veículo=Mini. Van
Raciocinando com Encadeamento regressivo da hipótese aos dados goal-directed inference 27
Encadeamento regressivo: Busca e Casamento Da hipótese aos dados n n n Parte da hipótese 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 w ex. : criminoso(West)? n só processa as regras relevantes para a pergunta Duas etapas: n Busca e Casamento (unificação) Utilizado em sistemas de aconselhamento n n trava um “diálogo” com o usuário ex. : MYCIN 28
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 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) 29
Encadeamento 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 1 o. 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). 30
Encadeamento 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) 31
Encadeamento regressivo: algoritmo 6 d. 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
Encadeamento regressivo: Busca e Casamento O sistema percorre a BC em busca regras cujo conseqüente “casa” com a hipótese de entrada n Unificação é realizada com busca em profundidade Se a hipótese de entrada é um fato (ex. criminoso(West)), n n a busca pára quando encontra a 1 a 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)), n n o sistema (programador) pode optar por devolver a 1 a 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! 33
Encadeamento regressivo: Exemplo no domínio dos veículos Carregar a BR de veículos na MI e os fatos na MT Fatos iniciais: n num-rodas=4, motor=sim, num-portas=3, tamanho=médio Especificar variável objetivo n veículo=? Pilha de objetivos n regras com variável objetivo no conseqüente w as 7 primeiras regras da nossa BC 34
Encadeamento regressivo: Exemplo no domínio dos veículos Tenta provar verdadeiros os antecedentes da 1 a regra usando busca em profundidade n Bicicleta: Se veículo. Tipo=ciclo E num-rodas=2 E motor=não Então veículo=Bicicleta Veículo. Tipo=ciclo não aparece na MT n nova variável objetivo Atualiza pilha de objetivos n inclui regras com nova variável objetivo no conseqüente w apenas a penúltima regra da nossa BC 35
Encadeamento regressivo veículo. Tipo=ciclo só é verdade em apenas uma regra n Ciclo: Se num-rodas < 4 Então veículo. Tipo=ciclo Verifica o valor verdade dos antecedentes da regra n num-rodas < 4 ===> FALSO! Donde se deduz que veículo=Bicicleta é Falso! 36
Encadeamento regressivo Desempilha as outras regras, uma a uma, até encontrar a regra abaixo - que vai dar certo! n Mini. Van: Se veículo. Tipo=automóvel E tamanho=médio E num-portas=3 Então veículo=Mini. Van Veículo. Tipo=automóvel não existe na MT n Automóvel: Se num-rodas=4 OK! (1) E motor=sim OK! (2) Então veículo. Tipo=automóvel ===> OK! (3) Tenta provar os outros antecedentes da regra, que estão todos instanciados na MT, e são verdadeiros! veículo=Mini. Van é verdade! 37
Encadeamento 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 n o fato é considerado FALSO w ex. Prolog n o sistema consulta o usuário via sua interface w ex. Sistema Expert. Sinta 38
Regras 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) > 80% and (previsão-períodos-anteriores = chuva) = 85% then (chance-de-chuva = alta) = 90% Infelizmente. . . n n combinar as incertezas dos antecedentes neste caso propaga erros só uma abordagem probabilista pode tratar este tipo de incerteza corretamente 39
Vantagens e Limitações dos Sistemas de Produção Vantagens n n 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 n n 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 40
Exemplo de Shell: ambiente que facilita construção de bases de conhecimento Expert. Sinta n n Construído por Ricardo Bezerra Lógica de ordem 0+ (atributo-valor) Usa encadeamento regressivo Implementado em Delphi 41
Próxima aula Engenharia do Conhecimento 42
- Slides: 42