Post on 07-Jul-2018
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/