Buscar

Regras e Encadeamentos em Sistemas Baseados em Regras

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 41 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 41 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 41 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Regras e EncadeamentosRegras e Encadeamentos
Marco H. TerraMarco H. Terra
Introdução à Inteligência Artificial
IntroduçãoIntrodução
nn Este capEste capíítulo discute a utilizatulo discute a utilizaçção de regras ão de regras IFIF--THENTHEN para para 
resoluresoluçção de problemas. Tais regras serão manipuladas com ão de problemas. Tais regras serão manipuladas com 
dois objetivos: (i) inferência de conclusões a partir de um dois objetivos: (i) inferência de conclusões a partir de um 
conjunto de assertivas, (conjunto de assertivas, (iiii) valida) validaçção de uma hipão de uma hipóótese dada tese dada 
se ela atender as vse ela atender as váárias premissas que a fundamentam. rias premissas que a fundamentam. 
Estas idEstas idééias fundamentam os sistemas especialistas.ias fundamentam os sistemas especialistas.
Tópicos de DiscussãoTópicos de Discussão
nn Encadeamento: para frente e para trEncadeamento: para frente e para tráás.s.
nn Sistemas dedutivos e reativos baseados em regras.Sistemas dedutivos e reativos baseados em regras.
nn Exemplos: IdentificaExemplos: Identificaçção de animais (sistemas de ão de animais (sistemas de 
diagndiagnóóstico) e seqstico) e seqüüência de embalagem de mercadorias ência de embalagem de mercadorias 
(a(açções para configurar sistemas fões para configurar sistemas fíísicos).sicos).
Sistemas baseados em regras Sistemas baseados em regras 
nn Sistemas para resoluSistemas para resoluçção de problemas baseados em regras ão de problemas baseados em regras 
são constitusão constituíídos por regras definidas como abaixo:dos por regras definidas como abaixo:
RnRn IfIf ifif11
ifif22
::
ififpp
ThenThen thenthen11
thenthen22
::
thenthenqq
-- Os padrões IF são chamados de antecedentes e os padrões Os padrões IF são chamados de antecedentes e os padrões 
THEN são denominados conseqTHEN são denominados conseqüüentes.entes.
Definições importantesDefinições importantes
nn Um Um fatofato expressa uma situaexpressa uma situaçção ou declaraão ou declaraçção que ão que éé
verdadeira.verdadeira.
nn Uma Uma assertivaassertiva éé uma declarauma declaraçção que algo ão que algo éé um fato, logo um fato, logo 
ela pode ser verdadeira ou falsa.ela pode ser verdadeira ou falsa.
nn A A memmemóória de trabalhoria de trabalho de um sistema destes consiste de de um sistema destes consiste de 
uma coleuma coleçção de assertivas verdadeiras.ão de assertivas verdadeiras.
nn Um Um antecedente satisfeitoantecedente satisfeito éé aquele em que um padrão IF se aquele em que um padrão IF se 
casa com uma assertiva da memcasa com uma assertiva da memóória de trabalho.ria de trabalho.
nn Uma Uma regra engatilhadaregra engatilhada éé aquela que todos seus padrões IF aquela que todos seus padrões IF 
estão satisfeitos.estão satisfeitos.
nn Uma Uma regra disparadaregra disparada éé aquela que estabelece uma nova aquela que estabelece uma nova 
assertiva ou executa uma aassertiva ou executa uma açção.ão.
Tipos de sistemas baseados em regrasTipos de sistemas baseados em regras
nn Os sistemas baseados em regras possuem padrões IF da Os sistemas baseados em regras possuem padrões IF da 
mesma natureza contudo diferem entre si com respeito aos mesma natureza contudo diferem entre si com respeito aos 
padrões THEN. Baseado nestas diferenpadrões THEN. Baseado nestas diferençças, tais sistemas as, tais sistemas 
são divididos em sistemas dedutivos e sistemas reativos.são divididos em sistemas dedutivos e sistemas reativos.
nn Sistema dedutivoSistema dedutivo éé um sistema baseado em regras no qual um sistema baseado em regras no qual 
os padrões THEN especificam novas assertivas a serem os padrões THEN especificam novas assertivas a serem 
anexadas anexadas àà memmemóória de trabalho.ria de trabalho.
nn Sistema reativoSistema reativo éé um sistema baseado em regras no qual os um sistema baseado em regras no qual os 
padrões THEN especificam apadrões THEN especificam açções a serem tomadas pelo ões a serem tomadas pelo 
sistema.sistema.
Representações para sistemas baseados em 
regras: memória de trabalho e base de regras
Representações para sistemas baseados em 
regras: memória de trabalho e base de regras
nn Uma Uma memmemóória de trabalhoria de trabalho éé uma representauma representaçção na qual:ão na qual:
-- Lexicamente, existem sLexicamente, existem síímbolos e smbolos e síímbolos de padrões mbolos de padrões 
que são especque são especííficos da aplicaficos da aplicaçção.ão.
-- Estruturalmente, assertivas são listas de sEstruturalmente, assertivas são listas de síímbolos e mbolos e 
padrões são listas de spadrões são listas de síímbolos ou smbolos ou síímbolos de padrões, mbolos de padrões, 
todos dependentes da aplicatodos dependentes da aplicaçção.ão.
-- Semanticamente, as assertivas denotam fatos em um Semanticamente, as assertivas denotam fatos em um 
mundo escolhido.mundo escolhido.
-- Procedimentalmente, possui rotinas para adicionar Procedimentalmente, possui rotinas para adicionar 
assertivas assertivas àà memmemóória de trabalho e rotinas para produzir ria de trabalho e rotinas para produzir 
uma lista de assertivas na memuma lista de assertivas na memóória de trabalho que se ria de trabalho que se 
casam com assertivas de um padrão.casam com assertivas de um padrão.
Representações para sistemas baseados em 
regras: base de regras
Representações para sistemas baseados em 
regras: base de regras
nn Uma Uma base de regrasbase de regras éé uma representauma representaçção na qual:ão na qual:
-- Lexicamente, existem sLexicamente, existem síímbolos e smbolos e síímbolos de padrões mbolos de padrões 
que são especque são especííficos da aplicaficos da aplicaçção.ão.
-- Estruturalmente, padrões são listas de sEstruturalmente, padrões são listas de síímbolos ou mbolos ou 
ssíímbolos de padrões dependentes da aplicambolos de padrões dependentes da aplicaçção e regras ão e regras 
consistem de padrões IF ou THEN.consistem de padrões IF ou THEN.
-- Semanticamente, regras denotam restriSemanticamente, regras denotam restriçções que serão ões que serão 
checadas nos procedimentos.checadas nos procedimentos.
-- Procedimentalmente, possui rotinas que constrProcedimentalmente, possui rotinas que constróóem regras em regras 
dada um lista ordenada de padrões IF e THEN e rotinas dada um lista ordenada de padrões IF e THEN e rotinas 
para produzir uma lista de padrões IF para produzir uma lista de padrões IF oror THEN em regras THEN em regras 
dadas.dadas.
Tipos de encadeamentoTipos de encadeamento
nn Encadeamento para frente: Um sistema baseado em regras Encadeamento para frente: Um sistema baseado em regras 
que executa encadeamento para frente utiliza assertivas que executa encadeamento para frente utiliza assertivas 
dadas e assertivas inferidas para deduzir novas assertivas dadas e assertivas inferidas para deduzir novas assertivas 
ou realizar uma aou realizar uma açção. O processamento se dão. O processamento se dáá partindo das partindo das 
assertivas para chegar a uma conclusão.assertivas para chegar a uma conclusão.
nn Encadeamento para trEncadeamento para tráás: Um sistema baseado em regras s: Um sistema baseado em regras 
que executa encadeamento para trque executa encadeamento para tráás transforma uma s transforma uma 
assertiva que se quer provar ou uma aassertiva que se quer provar ou uma açção que se quer tomar ão que se quer tomar 
em uma hipem uma hipóótese. A partir datese. A partir daíí usa as regras retroativamente usa as regras retroativamente 
para analisar as assertivas que suportam a hippara analisar as assertivas que suportam a hipóótese em tese em 
questão.questão.
Um sistema dedutivo que identifica animaisUm sistema dedutivo que identifica animais
nn Este tEste tóópico descreve um sistema dedutivo para realizar pico descreve um sistema dedutivo para realizar 
identificaidentificaçção: o ZOOKEEPER. Este sistema produz uma ão: o ZOOKEEPER. Este sistema produz uma 
cadeia de conclusões que servem para identificar um cadeia deconclusões que servem para identificar um 
animal examinado.animal examinado.
nn CaracterCaracteríísticas do ZOOKEEPER:sticas do ZOOKEEPER:
-- Utiliza regras sem antecedentes longos.Utiliza regras sem antecedentes longos.
-- Gera assertivas intermediGera assertivas intermediáárias como sarias como saíídas das regras.das das regras.
-- Combina estas assertivas e aquelas originais para Combina estas assertivas e aquelas originais para 
produzir uma conclusão.produzir uma conclusão.
-- Observa hObserva háábitos e caracterbitos e caracteríísticas fsticas fíísicas para identificar sicas para identificar 
os animais.os animais.
-- Neste exemplo, podeNeste exemplo, pode--se distinguir sete animais: leopardo, se distinguir sete animais: leopardo, 
tigre, girafa, zebra, avestruz, pingtigre, girafa, zebra, avestruz, pingüüim e albatroz.im e albatroz.
Regras do ZOOKEEPER - Z1Regras do ZOOKEEPER - Z1
Z1Z1 IfIf ?x tem cabelo?x tem cabelo
ThenThen ?x ?x éé um mamum mamíífero fero 
-- Esta Esta éé uma regra que observa caracteruma regra que observa caracteríísticas fsticas fíísicas.sicas.
-- As regras contêm variAs regras contêm variááveis x inicialmente sem valores. veis x inicialmente sem valores. 
Elas vão assumir valores quando os antecedentes são Elas vão assumir valores quando os antecedentes são 
comparados comparados ààs assertivas dadas. Quando as varis assertivas dadas. Quando as variááveis veis 
assumem valores dizassumem valores diz--se que elas estão instanciadas.se que elas estão instanciadas.
Regras do ZOOKEEPER - Z2-Z4Regras do ZOOKEEPER - Z2-Z4
Z2Z2 IfIf ?x d?x dáá leiteleite
ThenThen ?x ?x éé um mamum mamííferofero
Z3Z3 IfIf ?x tem penas?x tem penas
ThenThen ?x ?x éé um pum páássarossaro
Z4Z4 IfIf ?x voa?x voa
?x põe ovos?x põe ovos
ThenThen ?x ?x éé um pum páássarossaro
-- Regras determinam classe biolRegras determinam classe biolóógicas dos animais, ondegicas dos animais, onde
Z2 e Z4 observam hZ2 e Z4 observam háábitos e Z3 observa caracterbitos e Z3 observa caracteríísticas fsticas fíísicas.sicas.
-- Z4 tem dois antecedentes para evitar conflito.Z4 tem dois antecedentes para evitar conflito.
Regras do ZOOKEEPER - Z5-Z6Regras do ZOOKEEPER - Z5-Z6
Z5Z5 IfIf ?x ?x éé um mamum mamííferofero
?x come carne?x come carne
ThenThen ?x ?x éé um carnum carníívorovoro
Z6Z6 IfIf ?x ?x éé um mamum mamííferofero
?x tem dentes pontudos?x tem dentes pontudos
?x tem garras?x tem garras
?x tem olhos pontiagudos?x tem olhos pontiagudos
ThenThen ?x ?x éé um carnum carníívorovoro
-- Regras determinam se animal Regras determinam se animal éé carncarníívoro.voro.
-- Z5 observa hZ5 observa háábitos e Z6 observa caracterbitos e Z6 observa caracteríísticas fsticas fíísicas.sicas.
-- Regras jRegras jáá utilizam assertivas geradas por regras utilizam assertivas geradas por regras 
anteriormente definidas.anteriormente definidas.
Regras do ZOOKEEPER - Z7-Z8Regras do ZOOKEEPER - Z7-Z8
Z7Z7 IfIf ?x ?x éé um mamum mamííferofero
?x tem cascos?x tem cascos
ThenThen ?x ?x éé um unguladoum ungulado
Z8Z8 IfIf ?x ?x éé um mamum mamííferofero
?x rumina ?x rumina 
ThenThen ?x ?x éé um unguladoum ungulado
-- Regras determinam se animal Regras determinam se animal éé ungulado.ungulado.
-- Z7 observa caracterZ7 observa caracteríísticas fsticas fíísicas e Z8 observa hsicas e Z8 observa háábitos.bitos.
Regras do ZOOKEEPER - Z9-Z10Regras do ZOOKEEPER - Z9-Z10
Z9Z9 IfIf ?x ?x éé carncarníívorovoro
?x tem cor amarelo tostada?x tem cor amarelo tostada
?x tem manchas escuras?x tem manchas escuras
ThenThen ?x ?x éé um leopardoum leopardo
Z10Z10 IfIf ?x ?x éé um carnum carníívorovoro
?x tem cor amarelo tostada?x tem cor amarelo tostada
?x tem listas pretas?x tem listas pretas
ThenThen ?x ?x éé um tigreum tigre
-- Regras identificar os animais carnRegras identificar os animais carníívoros.voros.
Regras do ZOOKEEPER - Z11-Z12Regras do ZOOKEEPER - Z11-Z12
Z11Z11 IfIf ?x ?x éé um unguladoum ungulado
?x tem pernas longas ?x tem pernas longas 
?x tem pesco?x tem pescoçço compridoo comprido
?x tem cor amarelo tostada?x tem cor amarelo tostada
?x tem manchas escuras?x tem manchas escuras
ThenThen ?x ?x éé uma girafauma girafa
Z12Z12 IfIf ?x ?x éé um unguladoum ungulado
?x tem cor branca?x tem cor branca
?x tem listas pretas?x tem listas pretas
ThenThen ?x ?x éé um zebraum zebra
-- Regras identificar os animais ungulados.Regras identificar os animais ungulados.
Regras do ZOOKEEPER - Z13-Z14Regras do ZOOKEEPER - Z13-Z14
Z13Z13 IfIf ?x ?x éé um pum páássarossaro
?x não voa?x não voa
?x tem pernas compridas?x tem pernas compridas
?x tem pesco?x tem pescoçço longoo longo
?x ?x éé preto e brancopreto e branco
ThenThen ?x ?x éé uma avestruzuma avestruz
Z14Z14 IfIf ?x ?x éé um pum páássarossaro
?x não voa?x não voa
?x nada?x nada
?x ?x éé preto e brancopreto e branco
ThenThen ?x ?x éé um pingum pingüüimim
Regras do ZOOKEEPER - Z15Regras do ZOOKEEPER - Z15
Z15Z15 IfIf ?x ?x éé um pum páássarossaro
?x ?x éé bom voadorbom voador
ThenThen ?x ?x éé um albatrozum albatroz
-- Regras identificar os pRegras identificar os páássaros.ssaros.
Encadeamento para frente no ZOOKEEPEREncadeamento para frente no ZOOKEEPER
nn Para identificar um animal com ZOOKEEPER:Para identificar um animal com ZOOKEEPER:
AtAtéé as regras não produzirem novas assertivas ou o animal as regras não produzirem novas assertivas ou o animal 
ser identificado,ser identificado,
Para cada regraPara cada regra
Tente fundamentar cada um dos antecedentes da regra Tente fundamentar cada um dos antecedentes da regra 
comparandocomparando--os com os fatos.os com os fatos.
Se todos os antecedentes de regras estão Se todos os antecedentes de regras estão fundamenfundamen--
tadostados, declare o conseq, declare o conseqüüente a menos que este jente a menos que este jáá
exista.exista.
Repita para todas as alternativas que devem ser Repita para todas as alternativas que devem ser testes--
tadastadas..
Memória de trabalho para StretchMemória de trabalho para Stretch
nn StretchStretch tem cabelo;tem cabelo;
nn StretchStretch rumina;rumina;
nn StretchStretch tem pernas longas;tem pernas longas;
nn StretchStretch tem cor amarela tostada;tem cor amarela tostada;
nn StretchStretch tem pescotem pescoçço comprido;o comprido;
nn StretchStretch tem manchas negras.tem manchas negras.
Exemplo: encadeamento para frenteExemplo: encadeamento para frente
nn Verificar que tipo de animal Verificar que tipo de animal éé StretchStretch..
nn SoluSoluçção:ão:
-- StretchStretch tem cabelo logo tem cabelo logo éé um mamum mamíífero (dispara Z1);fero (dispara Z1);
-- StretchStretch rumina e rumina e éé um mamum mamíífero logo fero logo éé um ungulado um ungulado 
(dispara Z8);(dispara Z8);
-- StretchStretch éé um ungulado, tem pernas longas, tem cor um ungulado, tem pernas longas, tem cor 
amarela tostada, tem pescoamarela tostada, tem pescoçço comprido e tem manchas o comprido e tem manchas 
negras logo negras logo éé uma girafa (dispara Z11).uma girafa (dispara Z11).
Exemplo: encadeamento para frenteExemplo: encadeamento para frente
nn O fluxo de informaO fluxo de informaçção se dão se dáá atravatravéés de uma ss de uma séérie de regras rie de regras 
antecedenteantecedente--conseqconseqüüente, a partir das assertivas para as ente, a partir das assertivas para as 
conclusões.conclusões.
Z1
Z8
Z11
Tem pernas longas
Tem pescoço longo
Tem cor amarelo tostada
Tem manchas escuras
É uma girafa
É um ungulado
É um mamífero
Tem
cabelo
Rumina
Encadeamento para trás no ZOOKEEPEREncadeamento para trás no ZOOKEEPER
nn Para identificar um animal com ZOOKEEPER:Para identificar um animal com ZOOKEEPER:
AtAtéé todas as hiptodas as hipóótese terem sido testadas e nenhuma ter tese terem sido testadas e nenhuma ter 
sido totalmente fundamentada ou atsido totalmente fundamentada ou atéé o animal ter sido o animal ter sido 
identificado, identificado, 
Para cada hipPara cada hipóótesetese
Para cada regra na qual o conseqPara cada regra na qual o conseqüüentese casa com a ente se casa com a 
hiphipóótese do momento,tese do momento,
Tente fundamentar cada um dos antecedentes de Tente fundamentar cada um dos antecedentes de 
regra comparandoregra comparando--o com as assertivas na memo com as assertivas na memóória ria 
de trabalho ou encadeando para trde trabalho ou encadeando para tráás atravs atravéés de outra s de outra 
regra, criando assim uma nova hipregra, criando assim uma nova hipóótese.tese.
Se todos os antecedentes das regras estiverem fundaSe todos os antecedentes das regras estiverem funda--
mentadosmentados conclua que a hipconclua que a hipóótese tese éé verdadeira.verdadeira.
Memória de trabalho para SwiftyMemória de trabalho para Swifty
nn SwiftySwifty tem cabelo;tem cabelo;
nn SwiftySwifty tem olhos pontiagudos;tem olhos pontiagudos;
nn SwiftySwifty tem garras;tem garras;
nn SwiftySwifty tem dentes pontudos;tem dentes pontudos;
nn SwiftySwifty tem cor amarelo tostada;tem cor amarelo tostada;
nn SwiftySwifty tem manchas negras.tem manchas negras.
Exemplo: encadeamento para trásExemplo: encadeamento para trás
nn Verificar se Verificar se SwiftySwifty éé um leopardo.um leopardo.
nn SoluSoluçção:ão:
-- HipHipóótese: tese: SwiftySwifty éé um leopardo logo considera Z9;um leopardo logo considera Z9;
-- HipHipóótese: tese: SwiftySwifty éé carncarníívoro logo considera voro logo considera Z5Z5 ou Z6;ou Z6;
-- HipHipóótese: tese: SwiftySwifty éé mammamíífero logo considera fero logo considera Z1Z1 ou Z2;ou Z2;
-- Z1 confirmado mas não se sabe se Z1 confirmado mas não se sabe se SwiftySwifty come carne come carne 
logo desconsidera Z5; logo desconsidera Z5; 
-- Considera Z6 na qual suas quatro propriedades são Considera Z6 na qual suas quatro propriedades são 
confirmadas por comparaconfirmadas por comparaçção com a memão com a memóória de trabalho; ria de trabalho; 
-- Considera Z9 com duas outras propriedades confirmadas Considera Z9 com duas outras propriedades confirmadas 
por comparapor comparaçção com a memão com a memóória de trabalho logo ria de trabalho logo SwiftySwifty éé
um leopardo.um leopardo.
Exemplo: encadeamento para frenteExemplo: encadeamento para frente
nn O fluxo de informaO fluxo de informaçção se dão se dáá formando hipformando hipóóteses e teses e 
procurando atravprocurando atravéés das regras antecedentes das regras antecedente--conseqconseqüüente se ente se 
a hipa hipóótese tese éé verdadeira.verdadeira.
Tem olhos pontiagudos
Tem dentes pontudos
Tem cor amarelo tostada
Tem manchas escuras
Z9
É um leopardo
Z5 É um carnívoro
Z1 É um mamífero
Tem
cabelo
Tem garras
Z6
É um carnívoro
Come carne ??
Adequação do encadeamento ao problemaAdequação do encadeamento ao problema
nn Considerando como as regras estão relacionadas com os Considerando como as regras estão relacionadas com os 
fatos:fatos:
-- Emprego de encadeamento para trEmprego de encadeamento para tráás s éé recomendado se os recomendado se os 
fatos dados e/ou fatos estabelecidos poderem resultar em fatos dados e/ou fatos estabelecidos poderem resultar em 
um num núúmero alto de conclusões ou se existirem poucas mero alto de conclusões ou se existirem poucas 
condicondiçções para se chegar a uma conclusão.ões para se chegar a uma conclusão.
-- Emprego de encadeamento para frente Emprego de encadeamento para frente éé recomendado se recomendado se 
existirem vexistirem váários modos de se chegar rios modos de se chegar ààs conclusões e se o s conclusões e se o 
nnúúmero de conclusões for pequeno.mero de conclusões for pequeno.
Um sistema reativo que ensaca mercadoriasUm sistema reativo que ensaca mercadorias
nn Este tEste tóópico descreve um sistema reativo baseado em pico descreve um sistema reativo baseado em 
regras, BAGGER, que produz uma seqregras, BAGGER, que produz uma seqüüência de ência de 
ensacamento de mercadorias.ensacamento de mercadorias.
nn CaracterCaracteríísticos de BAGGER:sticos de BAGGER:
-- Este programa Este programa éé estruturado em quatro procedimentos estruturado em quatro procedimentos 
distintos como descritos a seguir.distintos como descritos a seguir.
-- AnAnáálise de compras: Procura mercadorias perdidas e lise de compras: Procura mercadorias perdidas e 
sugere novas compras.sugere novas compras.
-- EnsacaEnsaca--itensitens--grandes: Ensaca os maiores itens, colocando grandes: Ensaca os maiores itens, colocando 
os vidros em primeiro lugar.os vidros em primeiro lugar.
-- EnsacaEnsaca--itensitens--mméédios: Ensaca os itens mdios: Ensaca os itens méédios, colocando dios, colocando 
congelados em sacos para freezers.congelados em sacos para freezers.
-- EnsacaEnsaca--itensitens--pequenos: Ensaca os menores itens.pequenos: Ensaca os menores itens.
Regras do BAGGER - B1-B2Regras do BAGGER - B1-B2
Regras para o passo de anRegras para o passo de anáálise da compra.lise da compra.
B1B1 IfIf passo passo éé ananááliselise--dada--compracompra
batatas fritas estão para ser ensacadasbatatas fritas estão para ser ensacadas
não existe não existe pepsipepsi para ser ensacadapara ser ensacada
ThenThen pergunte ao cliente se ele gostaria de pergunte ao cliente se ele gostaria de 
levar uma garrafa de levar uma garrafa de pepsipepsi
B2B2 IfIf passo passo éé ananááliselise--dada--compracompra
ThenThen passo não passo não éé mais anmais anááliselise--dada--compracompra
passo passo éé ensacaensaca--itensitens--grandesgrandes
Regras do BAGGER - B1-B2Regras do BAGGER - B1-B2
B2B2 IfIf passo passo éé ananááliselise--dede--compracompra
DeleteDelete passo passo éé ananááliselise--dede--compracompra
AddAdd passo passo éé ensacaensaca--itensitens--grandesgrandes
-- Regras para o passo de anRegras para o passo de anáálise da compra. Elas sugerem lise da compra. Elas sugerem 
novos itens para a lista de compras e encerram o primeiro novos itens para a lista de compras e encerram o primeiro 
passo. passo. 
-- B2 tem uma segunda sintaxe, nela utilizaB2 tem uma segunda sintaxe, nela utiliza--se operase operaçções de ões de 
subtrasubtraçção e adião e adiçção.ão.
Regras do BAGGER - B3-B6Regras do BAGGER - B3-B6
B3B3 IfIf passo passo éé ensacaensaca--itensitens--grandesgrandes
um item grande estum item grande estáá para ser ensacadopara ser ensacado
o item grande o item grande éé uma garrafauma garrafa
o saco atual conto saco atual contéém menos que 6 itensm menos que 6 itens
DeleteDelete um item grande estum item grande estáá para ser ensacado para ser ensacado 
AddAdd o item grande esto item grande estáá no saco atualno saco atual
B4B4 IfIf passo passo éé ensacaensaca--itensitens--grandesgrandes
um item grande estum item grande estáá para ser ensacadopara ser ensacado
o saco atual conto saco atual contéém menos que 6 itensm menos que 6 itens
DeleteDelete um item grande estum item grande estáá para ser ensacado para ser ensacado 
AddAdd o item grande esto item grande estáá no saco atualno saco atual
Regras do BAGGER - B3-B6Regras do BAGGER - B3-B6
B5B5 IfIf passo passo éé ensacaensaca--itensitens--grandesgrandes
um item grande estum item grande estáá para ser ensacadopara ser ensacado
um saco vazio estum saco vazio estáá dispondisponíívelvel
DeleteDelete o saco atual o saco atual éé o saco atualo saco atual
AddAdd o saco vazio o saco vazio éé o saco atualo saco atual
B6B6 IfIf passo passo éé ensacaensaca--itensitens--grandesgrandes
DeleteDelete passo passo éé ensacaensaca--itensitens--grandesgrandes
AddAdd passo passo éé ensacaensaca--itensitens--mméédiosdios
-- Regras para o passo ensacaRegras para o passo ensaca--itensitens--grandes. Elas grandes. Elas 
empacotam itens grandes, iniciando pelas garrafas, em empacotam itens grandes, iniciando pelas garrafas, em 
sacos com menos de 6 itens jsacos com menos de 6 itens jáá acondicionados. As regras acondicionados. As regras 
tambtambéém encerram este passo.m encerram este passo.
Regras do BAGGER - B7-B10Regras do BAGGER - B7-B10
B7B7 IfIf passo passo éé ensacaensaca--itensitens--mméédiosdios
um item mum item méédio estdio estáá congeladocongeladoo item não esto item não estáá no saco para freezerno saco para freezer
DeleteDelete o item não esto item não estáá no saco para freezer no saco para freezer 
AddAdd o item mo item méédio estdio estáá no saco para freezerno saco para freezer
B8B8 IfIf passo passo éé ensacaensaca--itensitens--mméédiosdios
um item mum item méédio estdio estáá para ser ensacadopara ser ensacado
o saco atual conto saco atual contéém nada ou sm nada ou sóó itens mitens méédiosdios
o saco atual não conto saco atual não contéém itens grandesm itens grandes
o saco atual tem menos que 12 itens mo saco atual tem menos que 12 itens méédiosdios
DeleteDelete um item mum item méédio estdio estáá para ser ensacado para ser ensacado 
AddAdd o item mo item méédio estdio estáá no saco atualno saco atual
Regras do BAGGER - B7-B10Regras do BAGGER - B7-B10
B9B9 IfIf passo passo éé ensacaensaca--itensitens--mméédiosdios
um item mum item méédio estdio estáá para ser ensacadopara ser ensacado
um saco vazio estum saco vazio estáá dispondisponíívelvel
DeleteDelete o saco atual o saco atual éé o saco atualo saco atual
AddAdd o saco vazio o saco vazio éé o saco atualo saco atual
B10B10 IfIf passo passo éé ensacaensaca--itensitens--mméédiosdios
DeleteDelete passo passo éé ensacaensaca--itensitens--mméédiosdios
AddAdd passo passo éé ensacaensaca--itensitens--pequenospequenos
-- Regras para o passo ensacaRegras para o passo ensaca--itensitens--mméédios. Elas dios. Elas 
acondicionam itens congelados em sacos apropriados, acondicionam itens congelados em sacos apropriados, 
ensacam itens mensacam itens méédios, trocam saco cheio por outro vazio e dios, trocam saco cheio por outro vazio e 
mudam de passo. mudam de passo. 
Regras do BAGGER - B11-B13Regras do BAGGER - B11-B13
B11B11 IfIf passo passo éé ensacaensaca--itensitens--pequenospequenos
um item pequeno estum item pequeno estáá para ser ensacadopara ser ensacado
o saco atual não conto saco atual não contéém itens grandesm itens grandes
o saco atual não conto saco atual não contéém itens mm itens méédiosdios
o saco atual tem menos que 18 itens pequenoso saco atual tem menos que 18 itens pequenos
DeleteDelete um item pequeno estum item pequeno estáá para ser ensacado para ser ensacado 
AddAdd o item pequeno esto item pequeno estáá no saco atualno saco atual
B12B12 IfIf passo passo éé ensacaensaca--itensitens--pequenospequenos
um item pequeno estum item pequeno estáá para ser ensacadopara ser ensacado
um saco vazio estum saco vazio estáá dispondisponíívelvel
DeleteDelete o saco atual o saco atual éé o saco atualo saco atual
AddAdd o saco vazio o saco vazio éé o saco atualo saco atual
Regras do BAGGER - B11-B13Regras do BAGGER - B11-B13
B13B13 IfIf passo passo éé ensacaensaca--itensitens--pequenospequenos
DeleteDelete passo passo éé ensacaensaca--itensitens--pequenospequenos
AddAdd passo passo éé final do processofinal do processo
-- Regras para o passo ensacaRegras para o passo ensaca--itensitens--pequenos. Elas ensacam pequenos. Elas ensacam 
itens pequenos, trocam saco cheio por outro vazio e itens pequenos, trocam saco cheio por outro vazio e 
encerram processo. encerram processo. 
Memória de trabalho do sistema reativoMemória de trabalho do sistema reativo
nn Esta Esta éé composta por assertivas que capturam informacomposta por assertivas que capturam informaçções ões 
sobre os itens que serão ensacados. Os itens estão listados sobre os itens que serão ensacados. Os itens estão listados 
como abaixo (esta sercomo abaixo (esta seráá a entrada do sistema):a entrada do sistema):
itemitem embalagemembalagem tamanhotamanho congelado?congelado?
pãopão saco plsaco pláásticostico med.med. nãonão
refrescorefresco jarrajarra peq.peq. nãonão
granolagranola caixa de papelãocaixa de papelão gragra.. nãonão
sorvetesorvete cartão de papelãocartão de papelão med.med. simsim
fritasfritas caixa de plcaixa de pláásticostico med.med. nãonão
pepsipepsi casco de vidrocasco de vidro gragra.. nãonão
Memória de trabalho do sistema reativoMemória de trabalho do sistema reativo
nn Formato da memFormato da memóória de trabalho no exemplo:ria de trabalho no exemplo:
passo passo éé nomenome--dodo--passopasso
nomenome--dodo--sacosaco éé um sacoum saco
nomenome--dada--mercadoriamercadoria éé para ser ensacadapara ser ensacada
nn ComposiComposiçção inicial da memão inicial da memóória de trabalho no exemplo:ria de trabalho no exemplo:
passo passo éé ananááliselise--dede--compracompra
saco1saco1 éé um sacoum saco
pãopão éé para ser ensacadopara ser ensacado
refrescorefresco éé para ser ensacadopara ser ensacado
granolagranola éé para ser ensacadopara ser ensacado
sorvetesorvete éé para ser ensacadopara ser ensacado
fritasfritas éé para ser ensacadopara ser ensacado
Memória de trabalho do sistema reativoMemória de trabalho do sistema reativo
nn ComposiComposiçção apão apóós o passo ans o passo anááliselise--dede--compra:compra:
passo passo éé ensacaensaca--itensitens--grandesgrandes
saco1saco1 éé um sacoum saco
pãopão éé para ser ensacadopara ser ensacado
refrescorefresco éé para ser ensacadopara ser ensacado
granolagranola éé para ser ensacadopara ser ensacado
sorvetesorvete éé para ser ensacadopara ser ensacado
fritasfritas éé para ser ensacadopara ser ensacado
-- SegueSegue--se o passo que deve ensacar os itens grandes.se o passo que deve ensacar os itens grandes.
Memória de trabalho do sistema reativoMemória de trabalho do sistema reativo
nn ComposiComposiçção apão apóós o passo ensacas o passo ensaca--itensitens--grandes:grandes:
passo passo éé ensacaensaca--itensitens--mméédiosdios
saco1 saco1 contcontéém m pepsipepsi
saco1 saco1 contcontéém m granolagranola
pãopão éé para ser ensacadopara ser ensacado
refrescorefresco éé para ser ensacadopara ser ensacado
granolagranola éé para ser ensacadopara ser ensacado
sorvetesorvete éé para ser ensacadopara ser ensacado
fritasfritas éé para ser ensacadopara ser ensacado
-- SegueSegue--se o passo que deve ensacar os itens mse o passo que deve ensacar os itens méédios.dios.
Memória de trabalho do sistema reativoMemória de trabalho do sistema reativo
nn ComposiComposiçção apão apóós o passo ensacas o passo ensaca--itensitens--mméédios:dios:
passo passo éé ensacaensaca--itensitens--mméédiosdios
saco1 saco1 contcontéém m pepsipepsi
saco1 saco1 contcontéém m granolagranola
saco2saco2 contcontéém pãom pão
saco2saco2 contcontéém sorvetem sorvete
saco2saco2 contcontéém fritasm fritas
refrescorefresco éé para ser ensacadopara ser ensacado
-- SegueSegue--se o passo que deve ensacar os itens pequenos.se o passo que deve ensacar os itens pequenos.
Memória de trabalho do sistema reativoMemória de trabalho do sistema reativo
nn ComposiComposiçção apão apóós o passo ensacas o passo ensaca--itensitens--mméédios:dios:
passo passo éé ensacaensaca--itensitens--mméédiosdios
saco1 saco1 contcontéém m pepsipepsi
saco1 saco1 contcontéém m granolagranola
saco2saco2 contcontéém pãom pão
saco2saco2 contcontéém sorvetem sorvete
saco2saco2 contcontéém fritasm fritas
saco3saco3 contcontéém refrescom refresco
-- O processo estO processo estáá encerrado.encerrado.

Outros materiais