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