sistema baseado em regras

Upload: darkmenbr

Post on 07-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/19/2019 Sistema baseado em regras

    1/34

    Inteligência Artificial

    Sistemas Baseados em Regras -Programação com Drools

  • 8/19/2019 Sistema baseado em regras

    2/34

  • 8/19/2019 Sistema baseado em regras

    3/34

    ● )*cnica mais amplamente utilizada no desen+ol+imento desistemas especialistas"

    ,onsiste de uma s*rie de regras que podem ser aplicadasrepetidamente a uma coleção de fatos"

    atos são as situaç#es do mundo real

    Regras são sentenças que definem um con.unto de aç#es a sereme/ecutadas em determinada situação"

     Aordagem aseada em regras

  • 8/19/2019 Sistema baseado em regras

    4/34

    Regras

    ● São semel%antes a instruç#es if-else

    E/0If  nota 1 2 and frequencia 1 234

    then apro+ado

    end

  • 8/19/2019 Sistema baseado em regras

    5/34

     Arquitetura dos SBRs

  • 8/19/2019 Sistema baseado em regras

    6/34

    Rule Base 5Base de regras6

    ● 7 uma esp*cie de ase de dados que$ em +ez dedados$ cont*m as regras do sistema"

    ●  As regras assumem a forma de0 Se / então 8$ emque / * a descrição de determinada situação e 8 * aação desencadeada como consequência"

  • 8/19/2019 Sistema baseado em regras

    7/34

    )%e 9or:ing ;emor8 5;em(ria de traal%o6

    ●  Armazena os fatos"

  • 8/19/2019 Sistema baseado em regras

    8/34

    )%e Inference Engine 5;otor de inferência6

    ● < motor de inferência * um elemento essencial paraa e/istência de um sistema especialista"

    ● 7 o n=cleo do sistema" 7 por interm*dio dele que osfatos e as regras que comp#em a ase decon%ecimento são aplicados no processo deresolução do prolema"

  • 8/19/2019 Sistema baseado em regras

    9/34

    >uando utilizar Sistemas Baseados emRegras

    ● E/plorar um grande n=mero de opç#es$ t!pico deprolemas altamente cominat(rios"

    ●  Apoiar processos decis(rios$ mesmo cominformaç#es incompletas e incertas"

    Resol+er determinados tipos de prolemas$ nemsempre pass!+eis de solução por outros paradigmasde desen+ol+imento de sistemas"

  • 8/19/2019 Sistema baseado em regras

    10/34

    Sistemas ,on+encionais / SBRs

    ● Programação Convencional (procedural)0 ?tilizada para prolemasem estruturados$ para o qual a solução pode ocorrer com ase emcon%ecimento procedimental$ e/presso por algoritmos"

    ● Programação Baseada em Regras (declarativa)0 ?tilizada paraprolemas mal estruturados$ para os quais0

    @ão % algoritmos aplic+eis para a solução do prolema"

     A solução algor!tmica consome muito tempo" eur!sticas de apoio C solução podem ser identificadas"

  • 8/19/2019 Sistema baseado em regras

    11/34

    ● Drools * uma mquina de regras que utiliza programação aseada emregras para implementar sistemas especialistas"

  • 8/19/2019 Sistema baseado em regras

    12/34

    ,omponentes

    ● atos● Base de con%ecimento●

    Stateful noledge Session

  • 8/19/2019 Sistema baseado em regras

    13/34

    atos em Drools

    ● atos são o.etos .a+a que podem ser acessados por uma regra

    ●  A mquina de regras mant*m apenas referencias para os o.etos

    ● Para que o.etos ten%am referência na mquina$ de+emos definir

    getters e setters nas respecti+as classes 5ou definir diretamente naor:ing memor8 usando declare6

    ● E/"0

    pulic class )estF

      pri+ate int idG  pulic int getId56Freturn idGH

      pulic +oid setId5int id6Ft%is"id idGH

      pulic oolean is

  • 8/19/2019 Sistema baseado em regras

    14/34

    Base de con%ecimento

    ● ,oleção de regras e definiç#es compiladas atra+*s do&noledgeBuilder'

  • 8/19/2019 Sistema baseado em regras

    15/34

    Stateful noledge Session

    ● Processo cont!nuo$ que permite a interação e mudança ao longo dae/ecução"

  • 8/19/2019 Sistema baseado em regras

    16/34

     Arqui+o de regras

  • 8/19/2019 Sistema baseado em regras

    17/34

    E/emplo de aplicação0 classificação deanimais● ,onsidere que podemos classificar os animais em 3 grupos

    diferentes0 sel+agens$ dom*sticos$ mam!feros$ a+es e pei/es"

    ● Sel+agens0 Animais com !ndice de maldade maior ou igual a J$3G

    Dom*sticos0 Animais que ainda não foram classificados e *origat(rio que %a.a um cão e um gato no uni+ersoG

    ● ;am!feros0 Animais que mamam e ainda não foram classificadosG

    ●  A+es0 Animais que +oam e ainda não foram classificadosG

    Pei/es0 Animais que nadam e ainda não foram classificados"

  • 8/19/2019 Sistema baseado em regras

    18/34

    Sample"drl

  • 8/19/2019 Sistema baseado em regras

    19/34

    Sample"drl

  • 8/19/2019 Sistema baseado em regras

    20/34

     Arqui+o de entrada0 animais"t/t

    ● ;acGmacacoGJ"KL3Gmama

    ● ;atadorGgorilaGJ"LJ3Gmama

    ● ;araGararaGJ"KLG+oa

    ;imosaG+acaGJ"M3NGmama● DestruidorGcac%orroGJ"3Gmama

    ● ;iauGgatoGJ"ML2Gmama

    ● Re/Gcac%orroGJ"JL3Gmama

    ● RinoGrinoceronteGJ"O2Gmama

    ● P8gGP8gost8liaGJ"KL2G+oa

    ● QeoGleaoGJ"OLGmama

    ● )otoGcac%orroGJ"3Gmama

    ● ladiadorGtigreGJ"2OLGmama

    SangrentoGtuaraoGJ"OLGnada● olfGgolfin%oGJ"KLNGnada

    ● PteroGPteraspidomorp%iGJ"3KLGnada

    @emoGanfitriaoGJ"JJM3Gnada● P%orusGP%orusr%acosGJ"N3JG+oa

  • 8/19/2019 Sistema baseado em regras

    21/34

     Animal".a+a

  • 8/19/2019 Sistema baseado em regras

    22/34

  • 8/19/2019 Sistema baseado em regras

    23/34

    ,lassifier".a+a  Animal,lassifier".a+a

  • 8/19/2019 Sistema baseado em regras

    24/34

     AnimalRule,lassifier".a+a

  • 8/19/2019 Sistema baseado em regras

    25/34

     AnimalRule,lassifier".a+a

  • 8/19/2019 Sistema baseado em regras

    26/34

    ;ain".a+a

  • 8/19/2019 Sistema baseado em regras

    27/34

    Sa!da otida

    ● ;ac macaco ;amifero

    ● ;atador gorila ;amifero

    ● ;ara arara A+e

    ;imosa +aca ;amifero● Destruidor cac%orro Sel+agem

    ● ;iau gato Domestico

    ● Re/ cac%orro Domestico

    ● Rino rinoceronte Sel+agem

    ● Qeo leao Sel+agem

    ● )oto cac%orro Sel+agem

    ● ladiador tigre Sel+agem

    ● Sangrento tuarao Sel+agem

    olf golfin%o Pei/e● Ptero Pteraspidomorp%i

    Sel+agem

    ● @emo anfitriao Pei/e

    ● P%orus P%orusr%acosSel+agem

    ● P8g P8gost8lia A+e

  • 8/19/2019 Sistema baseado em regras

    28/34

    E/emplo M0 regras que le+am a regras

    ● ocê est fazendo um sistema de classificação para um %ospital" <prolema consiste em analisar um arqui+o com nome$ pressãoarterial$ atimento card!aco e nome da fam!lia e determinar se opaciente tem doenças cardiol(gicas"

    ,onsidera-se que um paciente tem doença cardiol(gica quandosua pressão arterial est acima de KMJ e seus atimentoscard!acos estão acima de J" Al*m disse$ analisamos tam*m se% registro de doença na fam!lia" ,aso %a.a$ o paciente tem adoença"

  • 8/19/2019 Sistema baseado em regras

    29/34

    Entrada0 corpo%umano"t/t

    ● ToaoGKUJGKJJGSil+a

    ● ;ariaGKUJGKJJGSil+a

    ● PedroGKJGKJG@en%uma

  • 8/19/2019 Sistema baseado em regras

    30/34

     Arqui+o de regras

  • 8/19/2019 Sistema baseado em regras

    31/34

    ,orpoumano".a+a

  • 8/19/2019 Sistema baseado em regras

    32/34

     Arqui+os identicos aos anteriores

    ● ,orpoumano,lassifier".a+a

    ● ,orpoumanoRule,lassifier".a+a

    ● ;ainM".a+a

  • 8/19/2019 Sistema baseado em regras

    33/34

    Sa!da otida0

    ● Toao

    ● ;aria

  • 8/19/2019 Sistema baseado em regras

    34/34

    Referências

    ● %ttp0VV".oss"orgVdroolsV● %ttp0VV"inf"ufes"rVWpdcostaVensinoV●

    %ttp0VVinf"ufes"rVW.aceeVmateriaisVdrools

    http://www.jboss.org/drools/http://www.inf.ufes.br/~pdcosta/ensino/http://inf.ufes.br/~jacee/materiais/droolshttp://inf.ufes.br/~jacee/materiais/droolshttp://www.inf.ufes.br/~pdcosta/ensino/http://www.jboss.org/drools/