View
3.534
Download
0
Category
Preview:
Citation preview
Inteligência Artificial I
1
BRMS (Business Rule Management System)◦ Requisitos◦ Regras◦ SOA
Implentação de um Rules Engine Implementado com o ReteOO
◦ Tailoring para Java do Rete Programação Declarativa DSL (Domain Specifics Language)
◦ SQL
2
Maior independência dos setores de negócio Aumento do controle sobre as regras de
negócio de sisitema Expressar regras na linguagem do
usuário(DSL) Representação gráfica de regras
◦ Tabelas de decisão◦ Árvores◦ Fluxos de regras
3
Expressivas Normalmente Simples Base do BRMS Forward Chaining *
◦ Premissas -> Conclusões BackwardChaining
◦ Conclusões -> Premissas (Pilha)
4
Composto basicamente de:◦ Máquina de inferências
Responsável pela execução das regras.◦ Memória de trabalho
Armezena as conclusões (fatos) gerados pela execução das regras.
◦ Base de conhecimento É o repositório das regras a serem utilizadas pela
máquina de inferências.
5
6
Programação Declarativa◦ Fácil de Expressar soluções
Separação da Lógica e dos Dados◦ Desacoplamento dos Dados e Lógica◦ Lógica toda nas Regras
Velocidade e Escalabilidade◦ ReteOO◦ Datasets que não mudam tudo (Lembraça dos
patterns anteriores) Centralização do Conhecimento
◦ Repositório de Conhecimento Executável
7
Centralização do Conhecimento◦ Regras são documentação
Explanação◦ Log da decisões e os porques
Regras Legíveis◦ Graças ao DSL
8
Versão otimizada do algoritmo de Rete para execução de ações em um sistema.
Gera uma máquina de estado de regras. Novos fatos alimentam a máquina de
estados. Máquina de estados tem memória dos
estados anteriores Resolução de conflitos não está no
algoritmo mas está ao redor da solução. (Baseado em saliência-> Prioridade)
9
Linguagem para propósito específico Domínio restrito Aproveitamento da Expêriencia usuário Não necessita de pessoal técnico Exemplos:
◦ SQL◦ Comandos Unix
Esconder detalhes de implementação Edição controlada das regras
10
11
12
13
1. Authoring 2. Runtime
14
15
16
17
18
Exemplos práticos com o IDE Eclipse...
19
http://www.jboss.org/drools/ http://blog.athico.com/ http://en.wikipedia.org/wiki/BRMS http://en.wikipedia.org/wiki/Rete_algorithm http://en.wikipedia.org/wiki/Domain-specific
_programming_language
20
Recommended