Inteligência Artificial Aplicada a Controle e Automação Programa de Pós-Graduação em Engenharia de Automação e Sistemas JESS - the Rule Engine for the JavaTM Platform Francesca Volcan Pio Maiara Heil Cancian Ricardo Bedin França Sumário Sistemas Especialistas Comparação entre shells WebLS CLIPS WebCLIPS JESS JESS Definição Componentes Arquitetura Histórico Ferramenta Desenvolvimento Aplicação Sistemas Especialistas Sistemas Especialistas são sistemas que solucionam problemas que são resolvíveis apenas por pessoas especialistas (que acumularam conhecimento exigido) na resolução destes problemas Estes programas foram inicialmente desenvolvidos por pesquisadores da área de Inteligência Artificial entre os anos de 1960 e 1970 e usados comercialmente depois dos anos 80 Sistemas Especialistas Componentes essenciais: base de regras memória de trabalho motor de inferência Sistemas Especialistas Arquitetura: Sistemas Especialistas Funcionalidades do Motor de Inferência: • Modo de raciocínio Encadeamento progressivo (forward chaining) Encadeamento regressivo (backward chaining) • • • Estratégia de busca Resolução do conflito Representação de incerteza Comparação entre shells WebLS Máquina de inferência PROLOG Linguagem modular e sintaxe simples Gera HTML dinamicamente Documentação completa Intenção de poder ser utilizada por especialistas do domínio do conhecimento Comparação entre shells CLIPS: Grande vantagem: portabilidade Algoritmo RETE Documentação de boa qualidade Sintaxe muito próxima do LISP Dificilmente pode ser utilizada por especialistas do domínio do conhecimento Comparação entre shells WebCLIPS: CGI que encapsula o CLIPS Páginas e formulários HTML dinamicamente Arquivo de configuração inicial Linguagem C Unix e Windows Comparação entre shells JESS: Opções de método de inferência com dois tipos de encadeamento Duas estratégias de busca Uso gratuito para instituições de ensino Construção do SE pode ser realizada através do prompt do JESS ou editor de texto Algoritmo especial chamado RETE (MI) Pesado em termos de execução Comparação entre shells JESS - histórico Desenvolvido por Ernest Friedman Hill (Sandia National Labs), 1995 Plataforma Java para Sistemas Especialistas Ferramenta proprietária Plugin do Eclipse JESS - ferramenta Usando Jess, você pode construir o software de Java que tem a capacidade "raciocinar" usando o conhecimento que você fornece no formulário de regras declarativas Desenvolvimento com JESS A sintaxe básica do JESS é análoga a sintaxe do CLIPS Desenvolvimento com JESS Desenvolvimento com JESS Desenvolvimento com JESS Desenvolvimento com JESS Aplicação Criação de um SE com o JESS Utilização de Java numa aplicação JESS JESS embarcado numa aplicação Java Sistema de controle de ofertas Promoções sofrem constantes mudanças Manipular regras de um SE ao invés de utilizar um “switch” Aplicação Aplicação Referências ■ ■ ■ http://herzberg.ca.sandia.gov/jess/ http://www.das.ufsc.br/~gb/pgia/index.html http://pt.wikipedia.org/wiki/Sistema_espec ialista