Regras e Encadeamentos - USP€¦ · Encadeamento para frente: Um sistema baseado em regras que...
Transcript of Regras e Encadeamentos - USP€¦ · Encadeamento para frente: Um sistema baseado em regras que...
-
SEL 0362 - Inteligência Artificial 1
Regras e Encadeamentos
Marco H. TerraDepartamento de Eng. Elétrica - EESC - USP
-
SEL 0362 - Inteligência Artificial 2
Introdução● Este capítulo discute a utilização de regras IF-THEN para
resolução de problemas. Tais regras serão manipuladas com dois objetivos: (i) inferência de conclusões a partir de um conjunto de assertivas, (ii) validação de uma hipótese dada se ela atender as várias premissas que a fundamentam.
● Estas ideias fundamentam os sistemas especialistas.● Tópicos de discussão:
– Encadeamento: para frente e para trás.– Sistemas dedutivos e reativos baseados em regras.– Exemplos: Identificação de animais (sistemas de diagnóstico) e
sequência de embalagem de mercadorias (ações para configurar sistemas físicos).
-
SEL 0362 - Inteligência Artificial 3
Sistemas baseados em regras● Sistemas para resolução de problemas baseados em regras são constituídos
por regras definidas como abaixo: Rn If if1 if2 : ifp Then then1 then2 : thenq● Os padrões IF são chamados de antecedentes e os padrões THEN são
denominados consequentes
-
SEL 0362 - Inteligência Artificial 4
Definições importantes● Um fato expressa uma situação ou declaração que é verdadeira.● Uma assertiva é uma declaração que algo é um fato, logo ela
pode ser verdadeira ou falsa.● A memória de trabalho de um sistema destes consiste de uma
coleção de assertivas verdadeiras.● Um antecedente satisfeito é aquele em que um padrão IF se casa
com uma assertiva da memória de trabalho.● Uma regra engatilhada é aquela que todos seus padrões IF estão
satisfeitos.● Uma regra disparada é aquela que estabelece uma nova
assertiva ou executa uma ação.
-
SEL 0362 - Inteligência Artificial 5
Tipos de sistemas baseados em regras● Os sistemas baseados em regras possuem padrões IF da
mesma natureza contudo diferem entre si com respeito aos padrões THEN. Baseado nestas diferenças, tais sistemas são divididos em sistemas dedutivos e sistemas reativos.
● Sistema dedutivo é um sistema baseado em regras no qual os padrões THEN especificam novas assertivas a serem anexadas à memória de trabalho.
● Sistema reativo é um sistema baseado em regras no qual os padrões THEN especificam ações a serem tomadas pelo sistema.
-
SEL 0362 - Inteligência Artificial 6
Representações para sistemas baseados em regras● Uma memória de trabalho é uma representação na qual:
– Lexicalmente, existem símbolos e símbolos de padrões que são específicos da aplicação.
– Estruturalmente, assertivas são listas de símbolos e padrões são listas de símbolos ou símbolos de padrões, todos dependentes da aplicação.
– Semanticamente, as assertivas denotam fatos em um mundo escolhido.
– Procedimentalmente, possui rotinas para adicionar assertivas à memória de trabalho e rotinas para produzir uma lista de assertivas na memória de trabalho que se casam com assertivas de um padrão.
-
SEL 0362 - Inteligência Artificial 7
Representações para sistemas baseados em regras● Uma base de regras é uma representação na qual:
– Lexicalmente, existem símbolos e símbolos de padrões que são específicos da aplicação.
– Estruturalmente, padrões são listas de símbolos ou símbolos de padrões dependentes da aplicação e regras consistem de padrões IF ou THEN.
– Semanticamente, regras denotam restrições que serão checadas nos procedimentos.
– Procedimentalmente, possui rotinas que constroem regras dada um lista ordenada de padrões IF e THEN e rotinas para produzir uma lista de padrões IF or THEN em regras dadas.
-
SEL 0362 - Inteligência Artificial 8
Tipos de encadeamento● Encadeamento para frente: Um sistema baseado em
regras que executa encadeamento para frente utiliza assertivas dadas e assertivas inferidas para deduzir novas assertivas ou realizar uma ação. O processamento se dá partindo das assertivas para chegar a uma conclusão.
● Encadeamento para trás: Um sistema baseado em regras que executa encadeamento para trás transforma uma assertiva que se quer provar ou uma ação que se quer tomar em uma hipótese. A partir daí usa as regras retroativamente para analisar as assertivas que suportam a hipótese em questão.
-
SEL 0362 - Inteligência Artificial 9
Um sistema dedutivo que identifica animais● Este tópico descreve um sistema dedutivo para realizar
identificação: o ZOOKEEPER. Este sistema produz uma cadeia de conclusões que servem para identificar um animal examinado.
● Características do ZOOKEEPER:– Utiliza regras sem antecedentes longos.– Gera assertivas intermediárias como saídas das regras.– Combina estas assertivas e aquelas originais para produzir uma
conclusão.– Observa hábitos e características físicas para identificar os animais.– Neste exemplo, pode-se distinguir sete animais: leopardo, tigre, girafa,
zebra, avestruz, pinguim e albatroz.
-
SEL 0362 - Inteligência Artificial 10
Regras do ZOOKEEPER - Z1
Z1 If ?x tem pelos Then ?x é um mamífero
● Esta é uma regra que observa características físicas.● As regras contêm variáveis x inicialmente sem valores.● Elas vão assumir valores quando os antecedentes são
comparados às assertivas dadas. Quando as variáveis assumem valores diz-se que elas estão instanciadas.
-
SEL 0362 - Inteligência Artificial 11
Regras do ZOOKEEPER – Z2 a Z4
Z2 If ?x dá leite Then ?x é um mamífero
Z3 If ?x tem penas Then ?x é um pássaro
Z4 If ?x voa ?x põe ovos Then ?x é um pássaro● Regras determinam classe biológicas dos animais, onde Z2 e Z4 observam
hábitos e Z3 observa características físicas.● Z4 tem dois antecedentes para evitar conflito.
-
SEL 0362 - Inteligência Artificial 12
Regras do ZOOKEEPER – Z5 e Z6
Z5 If ?x é um mamífero ?x come carne Then ?x é um carnívoroZ6 If ?x é um mamífero ?x tem dentes pontudos ?x tem garras ?x tem olhos pontiagudos Then ?x é um carnívoro● Regras determinam se animal é carnívoro.● Z5 observa hábitos e Z6 observa características físicas.● Regras já utilizam assertivas geradas por regras anteriormente definidas.
-
SEL 0362 - Inteligência Artificial 13
Regras do ZOOKEEPER – Z7 e Z8
Z7 If ?x é um mamífero ?x tem cascos Then ?x é um unguladoZ8 If ?x é um mamífero ?x rumina Then ?x é um ungulado● Regras determinam se animal é ungulado.● Z7 observa características físicas e Z8 observa hábitos.
-
SEL 0362 - Inteligência Artificial 14
Regras do ZOOKEEPER – Z9 e Z10
Z9 If ?x é carnívoro ?x tem cor amarelo tostada ?x tem manchas escuras Then ?x é um leopardoZ10 If ?x é um carnívoro ?x tem cor amarelo tostada ?x tem listas pretas Then ?x é um tigre● Regras para identificar os animais carnívoros.
-
SEL 0362 - Inteligência Artificial 15
Regras do ZOOKEEPER – Z11 e Z12
Z11 If ?x é um ungulado ?x tem pernas longas ?x tem pescoço comprido ?x tem cor amarelo tostada ?x tem manchas escuras Then ?x é uma girafaZ12 If ?x é um ungulado ?x tem cor branca ?x tem listas pretas Then ?x é um zebra● Regras para identificar os animais ungulados.
-
SEL 0362 - Inteligência Artificial 16
Regras do ZOOKEEPER – Z13 e Z14
Z13 If ?x é um pássaro ?x não voa ?x tem pernas compridas ?x tem pescoço longo ?x é preto e branco Then ?x é uma avestruzZ14 If ?x é um pássaro ?x não voa ?x nada ?x é preto e branco Then ?x é um pinguim
-
SEL 0362 - Inteligência Artificial 17
Regras do ZOOKEEPER – Z15
Z15 If ?x é um pássaro ?x é bom voador Then ?x é um albatroz
● Regras para identificar os pássaros.
-
SEL 0362 - Inteligência Artificial 18
Encadeamento para frente no ZOOKEEPER● Para identificar um animal com
ZOOKEEPER:– Até as regras não produzirem novas assertivas
ou o animal ser identificado,● Para cada regra
– Tente fundamentar cada um dos antecedentes da regra comparando-os com os fatos.
– Se todos os antecedentes de regras estão fundamentados, declare o consequente a menos que este já exista.
– Repita para todas as alternativas que devem ser testadas.
-
SEL 0362 - Inteligência Artificial 19
Memória de trabalho para Stretch● Stretch tem cabelo;● Stretch rumina;● Stretch tem pernas longas;● Stretch tem cor amarela tostada;● Stretch tem pescoço comprido;● Stretch tem manchas negras.
-
SEL 0362 - Inteligência Artificial 20
Exemplo: encadeamento para frente● Verificar que tipo de animal é Stretch.● Solução:
– Stretch tem pelos, logo é um mamífero (dispara Z1);
– Stretch rumina e é um mamífero, logo é um ungulado (dispara Z8);
– Stretch é um ungulado, tem pernas longas, tem cor amarela tostada, tem pescoço comprido e tem manchas negras, logo é uma girafa (dispara Z11).
-
SEL 0362 - Inteligência Artificial 21
Exemplo: encadeamento para frente
● O fluxo de informação se dá através de uma série de regras antecedente-consequente, a partir das assertivas para as conclusões.
-
SEL 0362 - Inteligência Artificial 22
Encadeamento para trás no ZOOKEEPER● Até todas as hipótese terem sido testadas e
nenhuma ter sido totalmente fundamentada ou até o animal ter sido identificado,– Para cada hipótese
● Para cada regra na qual o consequente se casa com a hipótese do momento,
– Tente fundamentar cada um dos antecedentes de regra comparando-o com as assertivas na memória de trabalho ou encadeando para trás através de outra regra, criando assim uma nova hipótese.
– Se todos os antecedentes das regras estiverem fundamentados conclua que a hipótese é verdadeira.
-
SEL 0362 - Inteligência Artificial 23
Memória de trabalho para Swifty● Swifty tem cabelo;● Swifty tem olhos pontiagudos;● Swifty tem garras;● Swifty tem dentes pontudos;● Swifty tem cor amarelo tostada;● Swifty tem manchas negras.
-
SEL 0362 - Inteligência Artificial 24
Exemplo: encadeamento para trás● Verificar se Swifty é um leopardo.● Solução:
– Hipótese: Swifty é um leopardo logo considera Z9;– Hipótese: Swifty é carnívoro logo considera Z5 ou Z6;– Hipótese: Swifty é mamífero logo considera Z1 ou Z2;– Z1 confirmado mas não se sabe se Swifty come carne logo
desconsidera Z5;– Considera Z6 na qual suas quatro propriedades são confirmadas
por comparação com a memória de trabalho;– Considera Z9 com duas outras propriedades confirmadas por
comparação com a memória de trabalho logo Swifty é um leopardo.
-
SEL 0362 - Inteligência Artificial 25
Exemplo: encadeamento para frente
● O fluxo de informação se dá formando hipóteses e procurando através das regras antecedente-consequente se a hipótese é verdadeira.
-
SEL 0362 - Inteligência Artificial 26
Adequação do encadeamento ao problema● Considerando como as regras estão relacionadas
com os fatos:– Emprego de encadeamento para trás é recomendado
se os fatos dados e/ou fatos estabelecidos poderem resultar em um número alto de conclusões ou se existirem poucas condições para se chegar a uma conclusão.
– Emprego de encadeamento para frente é recomendado se existirem vários modos de se chegar às conclusões e se o número de conclusões for pequeno.
-
SEL 0362 - Inteligência Artificial 27
Um sistema reativo que ensaca mercadorias● Este tópico descreve um sistema reativo baseado em regras,
BAGGER, que produz uma sequência de ensacamento de mercadorias.
● Característicos de BAGGER:– Este programa é estruturado em quatro procedimentos distintos
como descritos a seguir.● Análise de compras: Procura mercadorias perdidas e sugere novas compras.● Ensaca-itens-grandes: Ensaca os maiores itens, colocando os vidros em
primeiro lugar.● Ensaca-itens-médios: Ensaca os itens médios, colocando congelados em
sacos para freezers.● Ensaca-itens-pequenos: Ensaca os menores itens.
-
SEL 0362 - Inteligência Artificial 28
Regras do Bagger – B1 e B2
● Regras para o passo de análise da compra.B1 If passo é análise-da-compra batatas fritas estão para ser ensacadas não existe pepsi para ser ensacada Then pergunte ao cliente se ele gostaria de levar uma garrafa de pepsiB2 If passo é análise-da-compra Then passo não é mais análise-da-compra passo é ensaca-itens-grandes
-
SEL 0362 - Inteligência Artificial 29
Regras do Bagger – B1 e B2
B2 If passo é análise-de-compra Delete passo é análise-de-compra Add passo é ensaca-itens-grandes● Regras para o passo de análise da compra. Elas sugerem
novos itens para a lista de compras e encerram o primeiro passo.
● B2 tem uma segunda sintaxe, nela utiliza-se operações de subtração e adição.
-
SEL 0362 - Inteligência Artificial 30
Regras do Bagger – B3 a B6
B3 If passo é ensaca-itens-grandes um item grande está para ser ensacado o item grande é uma garrafa o saco atual contém menos que 6 itens Delete um item grande está para ser ensacado Add o item grande está no saco atual
B4 If passo é ensaca-itens-grandes um item grande está para ser ensacado o saco atual contém menos que 6 itens Delete um item grande está para ser ensacado Add o item grande está no saco atual
-
SEL 0362 - Inteligência Artificial 31
Regras do Bagger – B3 a B6
B5 If passo é ensaca-itens-grandes um item grande está para ser ensacado um saco vazio está disponível Delete o saco atual é o saco atual Add o saco vazio é o saco atualB6 If passo é ensaca-itens-grandes Delete passo é ensaca-itens-grandes Add passo é ensaca-itens-médios● Regras para o passo ensaca-itens-grandes. Elas empacotam itens
grandes, iniciando pelas garrafas, em sacos com menos de 6 itens já acondicionados. As regras também encerram este passo.
-
SEL 0362 - Inteligência Artificial 32
Regras do Bagger – B7 a B10
B7 If passo é ensaca-itens-médios um item médio está congelado o item não está no saco para freezer Delete o item não está no saco para freezer Add o item médio está no saco para freezerB8 If passo é ensaca-itens-médios um item médio está para ser ensacado o saco atual contém nada ou só itens médios o saco atual não contém itens grandes o saco atual tem menos que 12 itens médios Delete um item médio está para ser ensacado Add o item médio está no saco atual
-
SEL 0362 - Inteligência Artificial 33
Regras do Bagger – B7 a B10
B9 If passo é ensaca-itens-médios um item médio está para ser ensacado um saco vazio está disponível Delete o saco atual é o saco atual Add o saco vazio é o saco atualB10 If passo é ensaca-itens-médios Delete passo é ensaca-itens-médios Add passo é ensaca-itens-pequenos
● Regras para o passo ensaca-itens-médios. Elas acondicionam itens congelados em sacos apropriados, ensacam itens médios, trocam saco cheio por outro vazio e mudam de passo.
-
SEL 0362 - Inteligência Artificial 34
Regras do Bagger – B11 a B13
B11 If passo é ensaca-itens-pequenos um item pequeno está para ser ensacado o saco atual não contém itens grandes o saco atual não contém itens médios o saco atual tem menos que 18 itens pequenos Delete um item pequeno está para ser ensacado Add o item pequeno está no saco atualB12 If passo é ensaca-itens-pequenos um item pequeno está para ser ensacado um saco vazio está disponível Delete o saco atual é o saco atual Add o saco vazio é o saco atual
-
SEL 0362 - Inteligência Artificial 35
Regras do Bagger – B11 a B13
B13 If passo é ensaca-itens-pequenos Delete passo é ensaca-itens-pequenos Add passo é final do processo● Regras para o passo ensaca-itens-pequenos.
Elas ensacam itens pequenos, trocam saco cheio por outro vazio e encerram processo.
-
SEL 0362 - Inteligência Artificial 36
● Esta é composta por assertivas que capturam informações sobre os itens que serão ensacados. Os itens estão listados como abaixo (esta será a entrada do sistema):
Regras do Bagger – B11 a B13
Item Embalagem Tamanho Congelado?
Pão Saco plástico Médio Não
Refresco Jarra Pequeno Não
Granola Caixa de papelão Grande Não
Sorvete Embalagem de papelão Médio Sim
Batata frita Saco plástico Médio Não
Pepsi Garrafa Grande Não
-
SEL 0362 - Inteligência Artificial 37
Memória de trabalho do sistema reativo● Formato da memória de trabalho no exemplo: passo é nome-do-passo nome-do-saco é um saco nome-da-mercadoria é para ser ensacada● Composição inicial da memória de trabalho no exemplo: passo é análise-de-compra saco1 é um saco pão é para ser ensacado refresco é para ser ensacado granola é para ser ensacado sorvete é para ser ensacado fritas é para ser ensacado
-
SEL 0362 - Inteligência Artificial 38
Memória de trabalho do sistema reativo● Composição após o passo análise-de-compra: passo é ensaca-itens-grandes saco1 é um saco pão é para ser ensacado refresco é para ser ensacado granola é para ser ensacado sorvete é para ser ensacado fritas é para ser ensacado● Segue-se o passo que deve ensacar os itens grandes.
-
SEL 0362 - Inteligência Artificial 39
Memória de trabalho do sistema reativo● Composição após o passo ensaca-itens-grandes: passo é ensaca-itens-médios saco1 contém pepsi saco1 contém granola pão é para ser ensacado refresco é para ser ensacado granola é para ser ensacado sorvete é para ser ensacado fritas é para ser ensacado● Segue-se o passo que deve ensacar os itens médios.
-
SEL 0362 - Inteligência Artificial 40
Memória de trabalho do sistema reativo● Composição após o passo ensaca-itens-médios: passo é ensaca-itens-médios saco1 contém pepsi saco1 contém granola saco2 contém pão saco2 contém sorvete saco2 contém fritas refresco é para ser ensacado● Segue-se o passo que deve ensacar os itens pequenos.
-
SEL 0362 - Inteligência Artificial 41
Memória de trabalho do sistema reativo● Composição após o passo ensaca-itens-médios: passo é ensaca-itens-médios saco1 contém pepsi saco1 contém granola saco2 contém pão saco2 contém sorvete saco2 contém fritas saco3 contém refresco● O processo está encerrado.