• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Rc intro fatoreg mp13pr
 

Rc intro fatoreg mp13pr

on

  • 334 views

RC regras e fatos

RC regras e fatos

Statistics

Views

Total Views
334
Views on SlideShare
334
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Rc intro fatoreg mp13pr Rc intro fatoreg mp13pr Presentation Transcript

    • AI: RC - intro - F.GiornoIARepresentação deConhecimentoFatos, Objetos e Regras"Knowledge and power meet in one"Francis Bacon, grande inspirador da moderna ciênciaCom a prudência baconiana, o Reino Unido e seu herdeiro cultural, os EUA, tornaram-se donos do mundoRoberto Romano, professor de Filosofia da Unicamp [Tendências / Debates, Folha, 16/7/01]
    • AI: RC - intro - F.GiornoIntrodução ao CursoInteligência Artificial (cap 4) Introdução, Visualizações Alternativas, Fundamentos e Sub-áreas Método do Espaço de Estados (MEE) e Classificação HeurísticaSistemas Especialistas (cap 6) Fundamentos Utilização Introdução nas Empresas Desenvolvimento ComplementosRepresentação de Conhecimento (cap 5) Fatos, Objetos e Regras de ProduçãoExercícios, Atividades e LabsSBCs - Conceitos e Desenvolvimento
    • AI: RC - intro - F.GiornoBC MTregrasprocessamentoMotor de Inferência(MI)Sistema computacional no qual um programa interpretador(Motor de Inferência - MI), com base nos dados correntesarmazenados na Memória de Trabalho (MT), escolhe e aplicaregras de inferência armazenadas em uma Base deConhecimento (BC) para realizar tarefas do domínio.dadosSistema Baseado em Conhecimento (SBC)
    • AI: RC - intro - F.GiornoPrograma DadosBC MI MTSistemaConvencionalSBCconhecimentoespecíficosobre aaplicação
    • AI: RC - intro - F.GiornoBase de Conhecimento (BC)Repositório onde o conhecimento éarmazenado de forma: legível inspecionável modificável(Inteligência requer Conhecimento)BC
    • AI: RC - intro - F.GiornoBase de Dados Base de Conhecimento info a nível operacional (dados) uso via programastransacionais e geradores derelatórios descrição e operação combase em entidades individuais base para a solução deproblemas algoritmicos info a nível abstrato (conhecimento) uso via programs tipo máquinaou mecanismo de inferência descrição e operação com baseem fatos, objetos individuais,coleção de objetos e classes base para a solução deproblemas não passíveis desolução algoritmica
    • AI: RC - intro - F.GiornoInteligência e Conhecimento em IA Inteligência em IA: enfoque indireto Conhecimento em IA: enfoque pragmático e específico““““Conhecimento”””” sobre um Domínio de Problemas–identificar fatos e conceitos relativos ao domínio–compreender os problemas do domínio–adquirir senso comum, heurísticas e crenças por meio deexperiência no domínio–possuir habilidades para resolver problemas no domínio Inteligência requer ConhecimentoTodo sistema de IA depende da existência de uma BC
    • AI: RC - intro - F.GiornoConhecimento ProcedimentalxConhecimento Declarativo
    • AI: RC - intro - F.GiornoConhecimentoProcedimental / Imperativo conhecimento na forma dealgoritmos (cjto de passosconsistentes e precisos para resolverum problema)Tipos de ConhecimentoConhecimentoDeclarativo / Não-Procedimental conhecimento na forma de fatos,assertivas, relações, regras,heurísticas ... codificado na forma de estrutura dedados pois conhecimentodeclarativo desempenha o papel dedados para os procedimentos deinterpretação
    • AI: RC - intro - F.GiornoConhecimentoProcedimental / Imperativo prescrição de como uma tarefadeverá ser efetuada how to do implementada por linguagens deprogramação convencionaisConhecimentoDeclarativo / Não-Procedimental descrição de conhecim/ relevantepara resolver alguma tarefa what I know implementada por linguagens deprogramação que suportamprocessamento simbólico (Lisp,Prolog, Ferrs IA ...) e, de formaintegrada, regras, objetos, casos eprocedimentosTipos de Conhecimento
    • AI: RC - intro - F.GiornoConhec Declarativo / Não-Procedimental Carburador é um elemento do motor. Bicicleta é um meio de transporte Há uma associação positiva entrefumo e câncer. Um número primo é um númerointeiro que tem no máximo 2divisores. A tensão entre 2 pontos é o produtoda resistência existente entre os 2pontos pela intensidade da correnteque circula entre os mesmos 2pontos. Se o motor não pega e o farol acende,suspeite do carburador. Se o paciente é uma criança enfoqueinicialmente doenças infantis.Conhecimento Procedimental e Declarativo - exemplosConhec Procedimental / Imperativo Calcule a relação entre o preço e olucro de uma ação. Se esta relaçãofor maior que 12, pare suapesquisa pois o investimento é dealto risco. Caso contrário, se estarelação for menor que 12 , analiseo balanço da empresa. Teste se um objeto é umainstância de uma classe. Crie um novo obj de um dado tipo. Encontre objs relacionados. Efetue processamento implicadopela descrição do obj. Envie msg a outro obj. Receba e responda msg enviadapor outro obj.
    • AI: RC - intro - F.GiornoBenefícios suporta a representação deconhecimento de como fazercoisas viabiliza a implementação e o usode conhecimento declarativo viabiliza a implementação decomo fazer inferênciasDesvantagens mistura conhecimento comcontrole difícil de ler, verificar ou examinar difícil de alterar pois oconhecimento está implícito nosprocedimentos pouco flexível, sendo usualmenteadotado para uma finalidadeespecíficaConhecimento Procedimental
    • AI: RC - intro - F.GiornoDesvantagens demanda controle procedimentalConhecimento DeclarativoBenefícios separa conhecimento de controle fácil de ler, examinar e alterar flexível, podendo ter usosalternativos cada assertiva só precisa serarmazenada uma única vez,independente do no de maneirasdiferentes nas quais possa serutilizada fácil de acrescentar novasassertivas ao sistema
    • AI: RC - intro - F.GiornoContribuição de Clancey (Stanford)derivada da análise, seguida da re-engenharia, do sistema especialista MYCINConhecimentoEstáticoDinâmicoControle+ Conhecimento de Suporte
    • AI: RC - intro - F.GiornoOperações sobre Conhecimento (cf. definido) Aquisição Representação Interpretação Formalização Codificação Acesso / Inferência
    • AI: RC - intro - F.GiornoRepresentação de ConhecimentoConjunto de convenções sintáticas e semânticas que permitedescrever conhecimento associado a um domínio deproblemasEnvolve sintaxe, semântica e método de deduçãoRequisitos: poder de expressão (adequacidade representacional) conveniência notacional (codificação / legibilidade / transparência) modularidade generalidade eficácia inferencial potência heurística suporte para o tratamento de raciocínios inexatos balanço declarativo / procedimental (extensão na qual o conhecimentoinserido no sistema pode ser separado do modo como ele será usado) eficiência implementacional
    • AI: RC - intro - F.GiornoConh Humano vs Conh ArtificialVantagensPerecível PermanenteDifícil de Transferir Fácil de TransferirDifícil de Documentar Fácil de DocumentarImprevisível ConsistenteDispendioso AcessívelVantagensCriativo Não InspiradoAdaptativo Deve ser fornecidoExperiência Sensorial Entrada SimbólicaEnfoque Amplo Enfoque EstreitoSenso Comum Técnico
    • AI: RC - intro - F.GiornoFatosObjetos e ConceitosEventos, Episódios (casos) objetos envolvidos pré / pós condições relações com outros eventos (seqüencial, causal . . .)Procedimentos como fazer coisas como gerar comportamento relevante p/ atender objetivos ou resolver problemasDefinições, Leis e Axiomas (princípios básicos)Regras do Mundo Real, Regras Operacionais, Regras de Negócios,Normas, Heurísticas . . .Metaconhecimento (conhecimento sobre conhecimento) como selecionar métodos e estratégias p/ solução de problemas como monitorar, diagnosticar, tratar e refinar dinamicamente o desempenho do sistemaO Que Representar?
    • AI: RC - intro - F.GiornoFatos listas, triplas OAV, predicados em Lógica (FOL)Objetos e Conceitos objetos (de software), framesEventos, Episódios (casos) objetosProcedimentos procedimentos, funções e métodosDefinições, Leis e Axiomas (princípios básicos) regras de produção ou inferênciaRegras do Mundo Real, Regras Operacionais, Regras de Negócios,Normas, Heurísticas . . . regras de produção ou inferênciaMetaconhecimento (conhecimento sobre conhecimento) metaregras, arquiteturas em meta-nívelO Que e Como Representar?
    • AI: RC - intro - F.GiornoMétodos de Representação e Processamento de ConhecimentoDados e Fatos do Mundo Real (MR)representação: listas, predicados em FOL, variáveis . . .processamento: regras atuando sobre fatosObjetos: permitem organizar e estruturar conhec/ de modo natural e eficienterepresentação: Modelo do Domínioprocessamento: passagem de mensagens, regras atuando sobre objetosRegras do MR, Operacionais, de Negócios, Normas, Heurísticas . . .representação: SE <condições > ENTÃO < ações ou conclusões >antecedentes representam condições (padrões) enquantoconseqüentes representam ações a serem tomadas ouconclusões atingidasprocessamento: encadeamento direto / inverso / oportunísticoMetaconhecimento: conhecimento sobre conhecimentorepresentação: metaregras / arquiteturas em meta-nívelprocessamento:
    • AI: RC - intro - F.GiornoMétodos de Representação e Processamento de ConhecimentoLógica (First Order Logic - FOL)representação de conhecimento axiomático por meio de proposições lógicas erelações entre proposições, possibilitando derivar novos fatosbase para outros formalismos de RCforma de representação independenterepresentação: fórmulas bem definidas em FOL (assertivas e relações)processamento: resolução / unificação
    • AI: RC - intro - F.GiornoRepresentação de ConhecimentoFatosdo Mundo Real
    • AI: RC - intro - F.GiornoDesenvolvimento de Sistemas ComputacionaisEstáticoDinâmicoControle• Estrutura de Dados• Modelo do Domínio• fatos
    • AI: RC - intro - F.GiornoRepresentação de Fatos predicado em Lógica (FOL): predicado(arg1, arg2 . . . argN) lista: (elemento1 elemento2 . . . elementoN)– tripla OAV ou tripla associativa: (objeto atributo valor)lista ordenada consistindo do nome de um objeto, o nome de umatributo específico do objeto e o valor do atributoObjeto entidade real ou conceitualAtributo propriedade ou característica do objetoValor medida específica associada com o atributo emuma dada situaçãoExemplos: Objeto Atributo Valoremprestimo taxaJuro 12imovel areaTerreno 450carro cor brancaestoque nivel 30
    • AI: RC - intro - F.GiornoRepresentação por Triplas OAV - uma obsOAV caracteriza um tipo dememória associativaEntão:A deve ser um atributo (propriedade,característica) do objeto O, assimcomo V deve ser um valor do atributoA do mesmo objeto O.
    • AI: RC - intro - F.GiornoRepresentação de Fatos - exemplos O primeiro organismo tem sempre a forma de haste.(organismo-1 forma haste) ; OAV A profundidade da terceira camada é de 3.000 metros.(camada-3 profundidade 3000) ; OAV(camada 3 profundidade 3000 metros) ; lista A identidade do alvo sete é desconhecida.(alvo-7 identidade desconhecida) ; OAV(alvo-7 desconhecido) ; OV/AV Fadiga domina o estado de stress na parte da estruturaidentificada como sub-estrutura 1.(subEstrutura1 estadoStress fadiga) ; OAV
    • AI: RC - intro - F.GiornoCriação / Remoção de Fatos usando shells IAFatos são armazenados na MTCriação de fato na MT: (assert (fato))exemplo: (assert (brasil presidente dilma)na MT: f-13 (brasil presidente dilma) (deffacts identificador ;;; cmd definicional(fato1)(fato2) . . . )Remoção de fato da MT: (retract numero-do-fato)exemplo: (retract 13)
    • AI: RC - intro - F.GiornoRepresentação de ConhecimentoRegrasdo Mundo Real
    • AI: RC - intro - F.GiornoSe o cliente é não-fumante, o desconto em seu seguro devida é de US$ 50, por mês.Se o cliente tem status de Platinum, oferecer Seminário dePlanejamento Financeiro Executivo.Desligar a caldeira caso a temperatura ultrapasse 300ºC.Se o motor não pega e não há corrente no motor de partidaverifique a bateria.Toda pessoa que trabalha no setor privado tem direito aaposentadoria integral após 30 anos de contribuição e 60 anosde idade se for mulher ou após 35 anos de contribuição e 65anos de idade se for homem.Anormalidade renal conduz a anormalidade na anatomiaurológica. Infecção no trato urinário e anormalidade naanatomia urológica permitem concluir com 80% de certezaque a identidade do organismo é enterococcus.Regras no Mundo Real - exemplos em diferentes domínios
    • AI: RC - intro - F.GiornoEstáticoDinâmicoControle• regras de produção ou inferênciaSistemas Computacionais• Estrutura de Dados• Modelo de Domínio• Fatos
    • AI: RC - intro - F.GiornoRegras de Produção ou Inferênciapermitemrepresentar conhecimentodo mundo realpassível de ser expresso na forma deregrasInferência proposição ou generalização derivada pelo raciocínioa partir de outras proposições ou da evidência.
    • AI: RC - intro - F.GiornoDefinem a lógica de uma aplicaçãode forma separadado modo como são processadas (encadeamento)Cada regra é: uma direção para fazer alguma coisase alguma outra coisa for verdadeSE < condições > ENTÃO < ações ou conclusões >Condição (cláusula cujo conteúdo pode ser verificado se V)ação (cláusula cujo conteúdo pode ser processado)conclusão (cláusula cujo conteúdo pode ser apresentado)Cláusulas podem referirem-se a valores de parâmetros. Ex:SE (ceu cor cinzenta) e (vento velocidade ?v / (> ?v 30) )ENTÃO (assert (tempo predicao "chuva") )Regras de Produção ou Inferência
    • AI: RC - intro - F.GiornoConduzem à Programação Baseada em RegrasEstilo de programação que permite representarconhecimento relativo a um domínio de problemas deforma declarativa / procedimental por meio de regrasindependentes, não-ordenadas e separadas do modo comosão processadas (técnicas de encadeamentos).IF < premissa > THEN < ações ou conclusões >premissa: { < condição 1 > , < condição 2 > . . . }Regras respondem / reagem a alterações nos dados, sempre que elasocorrem, de forma independente do fluxo de controle, podendo serexecutadas (disparadas), em uma ordem baseada na ordenaçãodinâmica destas alterações definem a lógica de uma aplicação de forma separada do modo comosão processadas (encadeamento)Regras de Produção ou Inferência
    • AI: RC - intro - F.GiornoCondições de uma regra são cláusulas, definindo condições (padrões) de regras - tambémchamadas de antecedentes da regra (LER) - passíveis de match com fatos eobjetos da MT podem incluir vars cuja instanciação ocorre por matching ou designação podem incluir testes sobre valores de vars são implicitamente conectadas por AND podem ser em número ilimitado são avaliadas na ordem top-downAções de uma regra são cláusulas que definem os conseqüentes da regra (LDR) efetuam processamento: cálculos, passagem de msgs. . . podem alterar a MT:– criando novos fatos e objetos– removendo (retracting) fatos e objetos da MT, não mais válidos na situaçãocorrente de solução do problema– processando fatos e objetosRegra de Produção - condições e ações
    • AI: RC - intro - F.GiornoRegra de Produção - nomenclaturas alternativasSE < premissa > ENTÃO < ações ou conclusões >SE < condições > ENTÃO < ações ou conclusões >SE < padrões > ENTÃO < ações ou conclusões >SE < antecedentes > ENTÃO < conseqüentes >SE < LER > ENTÃO < LDR >LER: Lado Esquerdo da RegraLDR: Lado Direito da RegraObs: < condição > é referida por < padrão > em alguns shells
    • AI: RC - intro - F.GiornoSEa infecção é meningite ; condicão1o tipo de infecção é bacteriana ; condição2nenhum organismo foi diretamente identificado ; condição3há disponibilidade de valores de análise sangüínea ; condição4a contagem de leucócitos é menor que 2.500 ; condição5ENTÃOos organismos que podem estar causando a infecção são:pseudomonas (.5)klebisiella (.5)e. coli (0.75) ; conclusãoExemplo de Regra em LN - MYCIN: regra 557
    • AI: RC - intro - F.GiornoExemplosdeModelagem
    • AI: RC - intro - F.Giorno“Quando as luzes do carro estão fracas e o motor de partida não aciona,carregue ou substitua a bateria - ver seção 7-4 do Manual.”SE as luzes do carro estão fracas E ;;; linguagem naturalo motor de partida não acionaENTÃO carregue ou substitua a bateria - ver seção 7-4 do ManualSE (farol alcance fraco) ;;; estruturacao OAV(motorPartida comportamento naoAciona)ENTÃO (imprima "Carregue ou substitua bateria - ver seção 7-4 do Manual")(defrule r3-farol ;;; sintaxe CLIPS, A*E . . .(luzFarol estado acesa)(luzFarol alcance fraco)(motorPartida comportamento ~aciona)=>(printout t "carregue ou substitua a bateria - ver seção 7-4 do Manual" t) )Regra em Sistema de Diagnose - exemplo
    • AI: RC - intro - F.Giorno“Para clientes que desejam investir uma quantia pequena emrenda fixa, sem correr riscos, a recomendação deve serpoupança.” (regra de negócio)SE cliente deseja investir em renda fixa ; regra prod em LNcliente não deseja correr riscocliente não dispõe de grande quantia para investirENTÃOcliente deve investir em poupança(defrule r1-inv-poup ;;; sintaxe CLIPS, A*E . . .(cliente categoriaPreferencialInvestimento rendaFixa)(cliente perfilRisco conservador)(cliente disponibilidadeInvestimento baixa)=>(assert (cliente recomendacaoInvestimento poupanca))Regra de Produção - exemplo
    • AI: RC - intro - F.Giorno“Se o período de consultoria previsto for superior a um mês, osconsultores designados devem reportar-se diretamente ao clientee resolver possíveis problemas relativos à pós-venda.”Representar a regra de negócio abaixo por regras deprodução estruturadas por triplas OAV e variáveis (ondeaplicáveis)
    • AI: RC - intro - F.GiornoProcessamento de RegrasPattern Matching(técnica básica IA)
    • AI: RC - intro - F.GiornoPattern MatchingFunção básica requerida pela maioria dosSistemas de IA.É parte essencial de operações mais complexasde Sistemas de IA, tais como busca e controle.Pode consumir uma boa fração do tempo deprocessamento. Devido a isso, Sistemas de IAeficientes necessariamente incluem técnicaseficientes de matching.
    • AI: RC - intro - F.GiornoPattern MatchingOperação essencial em diversos Sistemas de IApara:controle de uma seqüência de operaçõesidentificação ou classificação de objetosdeterminação de um dado valor no meio dediferentes alternativasrecuperação de itens de uma Base de Dados. . .
    • AI: RC - intro - F.GiornoPattern MatchingUsado em uma variedade de Sistemas de IA. Exs:Reconhecimento de Voz,Compreensão de Linguagem NaturalVisãoAprendizadoRaciocínio AutomatizadoPlanejamentoProgramação AutomáticaSistemas Especialistas. . .
    • AI: RC - intro - F.GiornoPattern MatchingTécnica que permite comparar expressões simbólicaspara verificar seuma dada expressão é similar a outra.As expressões simbólicas (ou estruturas) comparadas podemrepresentar uma ampla faixa de objetos incluindo, entre outras,entidades físicas,palavras ou frases em alguma linguagem,classes de coisas,conceitos gerais,relações entre entidades complexas.
    • AI: RC - intro - F.GiornoPattern Matching no Contexto de Sistemas de ProduçãoTécnica que permite compararcada condição (padrão) de uma regra de produçãocom fatos ou instâncias da MT:se for possível estabelecer a igualdade sintáticaentre a condição e um fato ou instância da MTa condição da regra torna se verdadeirapara o fato ou instância comparado.
    • AI: RC - intro - F.GiornoPattern MatchingO match falha se uma expressão simbólica(padrão) diferir da outra expressão simbólica(objeto alvo da comparação) em qualquer aspecto.Por exemplo, considere os strings de caracteres:"acdebfba" e "acdebeba"O match falha pois os strings diferem no sextocarácter.O mesmo ocorre com os strings:"acdebfba" e "acdebFba"
    • AI: RC - intro - F.GiornoPattern MatchingEm casos mais complexos o processo dematching pode demandar transformações nospadrões de modo a atingir a igualdade sintática.Por exemplo, considere as listas:(a b (c d) e f) e (a b ?x e f)O match ocorrerá com sucesso desde que a variável ?xseja instanciada com a sub-lista (c d).Mas, no caso das listas:(a b (c d) e f) e (a b ?x e ?x)o match falhará pois a variável ?x não pode serinstanciada com 2 diferentes valores.
    • AI: RC - intro - F.Giorno“Novos projetos de investimento com taxa de retornoestimada acima de 30% devem ser considerados viáveis.”(regra de negócio)SE (projInv estado novo ou recente)(projInv roiEstimado ?roi / (> ?roi 30))ENTÃO (assert (projInv avaliacao viavel))(imprima “A estimativa de retorno da ordem de ”?roi “ % torna o projeto viável”)(defrule r-projInvestimento(projInv estado novo | recente)(projInv roiEstimado ?roi &: (> ?roi 30))=>(assert (projInv avaliacao viavel))(printout t “A estimativa de . . . ” ?roi “ % torna o . . . ” t) )Pattern Matching - exemplo
    • AI: RC - intro - F.GiornoMT. . .f-11 (projInv retEstimado 34). . .f-27 (projInv estado recente). . .BC(defrule r-projInvestimento(projInv estado novo | recente) ; match c/ f-27(projInv retEstimado ?roi &: (> ?roi 30)) ; match c/ f-11=> . . .Pattern Matching - exemplo
    • AI: RC - intro - F.GiornoLista prioritizada, revisada a cada ciclo do MI, decópias de regras (ativações) esperando para seremexecutadasSempre que cada condição de uma regra deprodução faz “match” com um fato ou um objetoda Memória de Trabalho (MT): a regra torna-se apta para execução (disparo) e é ativadauma cópia da regra, chamada ativação, é criada e colocada naagenda a execução (disparo) da regra, se ocorrer, implica que suasações são executadas ou suas conclusões são atingidasAgenda
    • AI: RC - intro - F.GiornoAgenda revisada a cada ciclo do MI pode ser examinada e monitorada em tempo dedesenvolvimento, fornecendo subsídios para oaprimoramento do SBC em construçãoExemplo:0 r1 f-30 r35 f-11 obj520 r17 f-3 f-73 obj8 obj37
    • AI: RC - intro - F.Giorno(defrule nomeDaRegra(declare (salience n)) ; n entre -  e + . . .Excessive use of prioritiesto control rule activationscan interfere with the"opportunistic" natureof an Expert Systemand should be avoided.Declarando Prioridade de uma Regra
    • AI: RC - intro - F.GiornoSE inflação é alta ; LNENTÃO preço de imóvel é altor1-imovel: SE (economia inflacao alta) ; estrut OAVENTÃO (assert (imovel preco alto) )Execução (disparo) de RegraBC MTr1-imovel(economia inflacao alta)(imovel preco alto)Regras são executadas (disparadas)com base na regra de inferêncialógica Modus PonensA  BABnovo fato
    • AI: RC - intro - F.GiornoProcessamento de RegrasMáquina de Inferência(MI)Base de Conhecimento(BC)Memória de Trabalho(MT)
    • AI: RC - intro - F.GiornoMIBC MTregras estado correntedo sistemainterpretador de regrasProcessamento de Regras
    • AI: RC - intro - F.Giorno Encadeamento Direto ou Progressivo(Forward Chaining)–ocorre dos antecedentes para os conseqüentes das regras–ativado por dados Encadeamento Inverso ou Regressivo(Backward Chaining)–ocorre dos conseqüentes para os antecedentes das regras–ativado por hipóteses Encadeamento Oportunístico–combinação dinâmica dos encadeamentos direto einversoProcessamento de Regras
    • AI: RC - intro - F.GiornoEncadeamento Direto ou Progressivo (Forward Chaining) Encadeamento de regras dos antecedentes para osconseqüentes Demanda inicialização de dados (data-driven)Inicializaçãode DadosBDResultadosEncadeamentoDireto
    • AI: RC - intro - F.GiornoReconhecimentomatchconds de regras vs dadosSeleçãoResolução de ConflitosAçãoexecução (disparo) da1a regra da AgendaCritérios• mais prioritária• mais específica• mais recente• . . .dados: fatos, objetos . . . da MTRaciocinando com Regras: Ciclo de Encadeamento Progressivo
    • AI: RC - intro - F.Giorno inferência ocorre de modo progressivo dos dados p/ solução regras são interpretadas por meio do ciclo de controleReconhecimentoantecedentes (condições) de regras são matched contra dadoscorrentes (fatos e instâncias) da MT para identificar o conjuntode regras aptas para disparo no cicloSeleçãoregras identificadas como aptas para disparo no ciclo sãocolocadas na agenda, ordenadas de acordo com critérios deResolução de ConflitosAçãoprimeira regra da agenda é selecionada e executada: seusconseqüentes podem conter ações que alteram o estadocorrente da MT influenciando os antecedentes de outras regraspara o próximo cicloRaciocinando com Regras: Ciclo de Encadeamento Progressivo
    • AI: RC - intro - F.GiornoEncadeamento Progressivo - exemplo 1Base de Conhecimento(BC)Memória de Trabalho(MT)r1: Ar2: BMáquina de Inferência(MI) B C
    • AI: RC - intro - F.GiornoEncadeamento Progressivo - exemplo 1Base de Conhecimento(BC)Memória de Trabalho(MT)r1: Ar2: BMáquina de Inferência(MI) B CA ; dado inicialB ; dado intermediárioC
    • AI: RC - intro - F.GiornoEncadeamento Direto - exemplo 2AEG HCBr1: F & B Zr2: C & D Fr3: A DMT:BC:
    • AI: RC - intro - F.GiornoEncadeamento Direto - exemplo 2AEG HCF BDZAEG HCBAEG HCF BDAEG HCBDr1: F & B Zr2: C & D Fr3: A Dr1: F & B Zr2: C & D Fr3: A Dr1: F & B Zr2: C & D Fr3: A Dmatch match matchexecuta executa executaA DCFBZCadeia de Inferência: r3 r2 r1Encadeamento:Resultado Final: ZMT:
    • AI: RC - intro - F.GiornoResolverRegras:r1: M -> R, Sr2: F, E -> Hr3: H -> Gr4: R, E -> Gr5: C, D -> Fr6: A, B -> CDados: A, B, D, E
    • AI: RC - intro - F.GiornoTempo quente e atmosfera úmida implicam a provávelocorrência de temporal.Temperatura ambiente acima de 32º C indica tempo quente.Umidade relativa do ar maior que 65 % torna a atmosferaúmida.Exemplo: Predição de Tempo - algumas inferências
    • AI: RC - intro - F.Giornor1: SE a taxa de juros diminuiENTÃO o preço das ações aumentar2: SE a taxa de juros aumentaENTÃO o preço das ações diminui 3r3: SE a taxa de juros permanece inalteradaENTÃO o preço das ações permanece inalterador4: SE o dólar aumentaENTÃO a taxa de juros diminuir5: SE o dólar diminui 1ENTÃO a taxa de juros aumenta 2r6: SE o preço das ações diminuiENTÃO compre açõesr7: SE o preço das ações aumentaENTÃO invista em renda fixaEncadeamento Diretoefetuado: r5 r2 r6Conjuntura Econômica:taxa do dólar em declínioBC: Sistema de Apoio a Decisão Financeira
    • AI: RC - intro - F.GiornoProgramação Baseada em Regras tem como ponto focal a solução do problema aoinvés do fluxo de controle simplifica manutenções indicada para aplicações envolvidas com exploração de grande número de opções (problemas altamentecombinatórios) processamento simbólico legibilidade do conhecimento representado apoio à decisão mesmo com informações incompletas ouincertas automatização da perícia humana conservação, consolidação e comunicação de conhecimento solução de problemas de interpretação ou construção . . .
    • AI: RC - intro - F.GiornoUm paciente usando lentes duras por 3anos ou mais ou lentes gelatinosas por 18meses ou mais deve trocar as suas lentespor um novo par do mesmo tipo pois estasexcederam o seu tempo médio de vida útil.Representar o conhecimento abaixo por regras deprodução, passíveis de encadeamento, estruturadas portriplas OAV e variáveis (onde aplicáveis)
    • AI: RC - intro - F.GiornoSE (lente tipo dura)(lente tempoUso ?t / (>= ?t 36)) ;;; em mesesENTÃO(assert (paciente recomendacao trocarLente))SE (lente tipo gelatinosa)(lente tempoUso ?t / (>= ?t 18)) ;;; em mesesENTÃO(assert (paciente recomendacao trocarLente))SE (paciente recomendacao trocarLente)ENTÃO(imprima "Lentes excederam tempo médio de vida útil:devem ser trocadas por lentes do mesmo tipo.")
    • AI: RC - intro - F.GiornoTratamentodeRegras de Negócios
    • AI: RC - intro - F.GiornoRegra de NegócioDeclaração para se definir ou restringir algumaspecto do negócio. Tem como objetivo fazervaler a estrutura do negócio ou controlar ouinfluenciar o comportamento do negócio.Business Rule GroupRegras de Negócios São cidadãs de primeira classe no Mundo dosRequisitos; Estão separadas do processo de negócios.
    • AI: RC - intro - F.GiornoRegra de NegócioComo a empresa define suas políticas, seusprocedimentos e suas práticas. Se o cliente é não-fumante, o desconto em seu seguro de vida éde US$ 50, por mês. Se o cliente tem status de Platinum, oferecer Seminário dePlanejamento Financeiro Executivo. A retirada de uma conta pode ser feita somente se o saldo daconta for maior que zero. Um cliente deve ser considerado de alto valor se é VIP; se temsaldo médio em sua conta corrente de ao menos X; se mantém asua conta por mais que Y anos. . . .As regras de negócio geralmente são alteradas várias vezes durante odesenvolvimento e após a implantação do sistema; portanto, flexibilidade emanutenibilidade são atributos cruciais.
    • AI: RC - intro - F.GiornoSegundo Ross [2003]:A representação precisa das decisões donegócio é a maior vantagem no uso de Regrasde Negócio.O envolvimento direto das pessoas do negóciona definição de sistemas de software éfundamental.Ross,R.G., Principles of the Business Rule Approach, Addison-Wesley, 2003.
    • AI: RC - intro - F.GiornoSegundo Ross [2003], em um projeto de sistema de softwaredeve-se observar em relação às RNs: RNs devem ser escritas e explicitamente representadas. RNs são independentes de processos e procedimentos. RNs são motivadas por fatores identificáveis e importantes donegócio. RNs devem ser acessíveis por pessoas autorizadas. RNs são atômicas e não duplicáveis. RNs devem ser especificadas por pessoas que detém oconhecimento do negócio. RNs devem ser gerenciáveis.Ross,R.G., Principles of the Business Rule Approach, Addison-Wesley, 2003.
    • AI: RC - intro - F.GiornoCategorias de Regras de NegóciosRegras de Negócios Regras de Restrição Regras de Estímulo / Resposta Regras de Restrição sobre Operações Regras de Restrição sobre Estrutura Regras de Derivação Regras de Inferência Regras de Processamento AlgoritmicoMartin,J. and J.J.Odell, Object-Oriented Methods: A Foundation, cap.20, Prentice-Hall, 1998.
    • AI: RC - intro - F.GiornoAbordagens para Implementar RNs aos Sistemas de SW Programação Convencional e na forma de triggers e storedprocedures em BDs Arquiteturas Orientadas a Meta-Dados Padrões de Projetos Dinâmicos Desenvolvimento Baseado em Componentes Sistemas Reflexivos e Meta-programação Programação Orientada a Aspectos (AOP) Linguagens de Programação como Java e .NET Linguagens IA (suportam Regras de Produção):Art-Enterprise, Clips, Jess . . .Observar que o conceito de RN pode ser aplicadoindependente do método utilizado para o desenvolvimento de software.
    • AI: RC - intro - F.GiornoProblemas com a Implementação de RNsA transposição ds RNs em código fonte ou estruturas doBanco de Dados está associada a problemas do tipo: perda na semântica das regras; instruções espalhadas por grande parte da aplicação, esem ligação aparente entre si; alteração difícil; inexistência de documentação que indicaria os locaisonde as regras se encontram no código fonte.
    • AI: RC - intro - F.GiornoProblemas com a Implementação de RNs"A representação de RNs em código e seu conseqüentevínculo ao tempo de desenvolvimento e compilação dasaplicações é a causa da grande dificuldade de alteraçãodas RNs.Isto conduz a dificuldades como custo elevado, tempodesperdiçado e erros difíceis de localizar."Johnston,T., Business Rules, Meta Data and Late Binding, DM Direct News letter, DM ReviewMagazine, February 16, 2001. Disponível em <http://www.dmreview.com/article_sub.cfm?articleld=3066>. Acesso em 10/01/06.
    • AI: RC - intro - F.GiornoProblemas com a Implementação de RNs"As RNs são normalmente implementadas no corpo dosdiversos métodos de um objeto de negócio. Essa regrasnormalmente referem-se a outras regras e,conseqüentemente, aos objetos que as contêm. Muitasvezes, uma única regra pode ser implementada através dediferentes métodos, classes, módulos e camadas de umaaplicação, gerando uma rede de dependências difícil delocalizar e alterar."Arsanjani,A., Rule Pattern Language: A Pattern Language for Adaptive Manners and ScalableBusiness Rule Design and Construction, In Proc. of the 39th Int´l Conf. and Exibition onTechnology of Object-Oriented Languages and Systems (TOOLS´01), 2001.
    • AI: RC - intro - F.GiornoArquitetura de Três CamadasObjetos da Interface de UsuárioTelas, Botões, ...Objetos do Modelo da AplicaçãoCliente, Produto, ...Objetos de Mapeamento de BDsCliente-map-1, Produto-map-1, ...GUIData BaseNomeEmpregadoEmpTabNome Titulo SalarioJones Mgr 55KSmith VP 75KTítuloSalárionometitulosalarioModelo daAplicação
    • AI: RC - intro - F.GiornoRegras de NegóciosGUIData BaseModelo daAplicação• Espalhadas• Na sintaxe do programa• Entrelaçadas (entwined)na lógica de controle
    • AI: RC - intro - F.GiornoRegras de NegóciosModelo daAplicaçãoGUIData Base • Centralizadas• Linguagem dos Negócios• Declarativas• OportunísticasMotor deInferência BC
    • AI: RC - intro - F.GiornoRepresentação de ConhecimentoExtensõesMetaconhecimento, Metaregras e RulesetsRepresentação e Tratamento de Conhecimento Incerto
    • AI: RC - intro - F.GiornoMetaconhecimentoConhecimento sobre o conhecimento acerca de umdeterminado problema ou domínio de problemas.isto é conhecimento acerca do conteúdo, estrutura e usodo conhecimento do domínio[Davis e Buchanan, 1977; Davis, 1980]
    • AI: RC - intro - F.GiornoInclui métodos de raciocínio, dedução e julgamentoempregados em um domínio de aplicação durante oprocesso de solução de problemas. informação relativa à seleção, organização eprogramação das atividades a serem executadaspara a solução de uma tarefa específica.Guida e Tasso [1984]Metaconhecimento
    • AI: RC - intro - F.Giorno Inclui tudo que é disponível para adicionar ao conhecimentorepresentado, proporcionando flexibilidade para a solução deproblemas do domínio e indicando:– os limites do conhecimento do domínio representado;– os pontos fortes e fracos da representação de um determinadoconhecimento;– os custos relativos do raciocínio induzido;– a eficiência esperada de determinadas explorações. Suporta, ao nível simbólico, de forma dinâmica, a representação deraciocínios relativos a:– seleção de conhecimento relevante para a tarefa ativa de solução deproblemas;– planejamento de estratégias adequadas de solução de problemas;– monitoração, avaliação e reparo ou melhoria do desempenho de umsistema.Boy [1991]Metaconhecimento
    • AI: RC - intro - F.GiornoUm modo de incorporar metaconhecimento emSistemas Baseados em Regras (SBRs) consiste emexpressá-lo de forma algorítmica na Máquina deInferência.Esse enfoque resulta em uma estrutura bastanterígida, especialmente na parte relativa às técnicasgerais de solução de problemas utilizadas.[Guida e Tasso, 1984].Metaconhecimento - incorporação
    • AI: RC - intro - F.GiornoOutro modo de incorporar metaconhecimento em SBRsconsiste em expressá-lo por meio de metaregras, que sãoregras acerca de outras regras. Metaregras permitem que o sistema monitore, analise e tomedecisões em relação a sua própria operação, comportando-secomo um observador externo. Com isso, o sistema poderaciocinar sobre o seu próprio escopo e as suas limitações,facilitando o tratamento de problemas complexos e desituações não previstas. Metaregras, ao operarem sobre outras regras, permitemimplementar controle. Elas influenciam diretamente ofuncionamento do MI, melhorando a sua eficiência, aodefinirem a aplicabilidade de certa regras, durante o ciclo dereconhecimento-escolha-ação, para determinadas situações.Metaconhecimento - incorporação
    • AI: RC - intro - F.GiornoMetaregras - exemplosmr-explore-refine; habilita regras para efetuar um passo adicional de solução por meio da; técnica de solução de problemas conhecida como explore-e-refineSE a hipótese corrente tem um descendente não pesquisado aindaENTÃO pesquise esse descendentemr-avaliacao-sob-risco; habilita regras para enfocar investimentos de baixo risco; para pessoas com idades avançadasSE a idade do investidor é maior que 65 anos Ehá regras que mencionam risco baixo em suas premissas Ehá regras que mencionam risco médio em suas premissas Ehá regras que mencionam risco alto em suas premissasENTÃO use o primeiro conjunto de regras antes de tentar os demais
    • AI: RC - intro - F.GiornoSistema de Produção EstruturadoRuleset Conjunto de regras com propriedades comuns, incluindo ahabilidade de serem ativados ou desativados como um grupo ea designação de uma prioridade ao grupo, estabelecendo aordem de disparo do grupo em relação a outros grupos. A Máquina de Inferência encadeia subconjuntos de regras daBase de Conhecimento, sendo que nem todos os subconjuntospodem necessitar de avaliação.Benefícios Permite implementar controle Suporta dividir um problema em subproblemas
    • AI: RC - intro - F.GiornoRepresentação e Processamento de Conhecimento IncertoSBRs permitem a incorporação de procedimentos que levam emconta incertezas, ruídos e subjetividades inerentes aoconhecimento.O termo conhecimento incerto, no contexto de SBRs, refere-se adiferentes situações nas quais o conhecimento relevante édeficiente em alguns aspectos como quando: é incompleto é afetado de incerteza é subjetivo advém de fontes múltiplas e conflitantes apresenta relação não-absoluta entre causa e efeito está expresso em uma linguagem de representaçãoinerentemente imprecisa
    • AI: RC - intro - F.GiornoRepresentação e Processamento de Conhecimento IncertoAbordagens Teoria da Probabilidade Teoria da Evidência Lógica Nebulosa Fatores de Certeza
    • AI: RC - intro - F.GiornoRepresentação e Processamento de Conhecimento IncertoTeoria da ProbabilidadeAbordagem robusta, mas não permite representar dadosaproximados caracterizados por termos linguísticos("médio", "alto"...) e impõe restrições de independência dedados e de perfeito conhecimento do espaço amostral(eventos mutuamente exclusivos e conjunto exaustivo deeventos).
    • AI: RC - intro - F.GiornoRepresentação e Processamento de Conhecimento IncertoTeoria da Evidência [Dempster, 1967; Shafer, 1976]Corresponde a uma generalização da Teoria daProbabilidade, requerendo, por isso, eventos exaustivos emutuamente exclusivos, sendo computacionalmenteintratável em muitos casos (sem simplificações apreciáveis).Difere da Teoria da Probabilidade por não assumir quetodos os resultados possíveis de um experimento possam serobservados de uma forma precisa. Foi elaborada com basematemática sólida para proporcionar raciocínio evidencial,na qual valores entre 0 e 1, correspondendo a graus decrença em fatos ou eventos, podem ser designados emanipulados.
    • AI: RC - intro - F.GiornoRepresentação e Processamento de Conhecimento IncertoLógica Nebulosa [Zadeh, 1983]Apresenta similaridade com a Lógica de Primeira Ordem, nãoexige os pressupostos das duas abordagens anteriores e permitetratar com várias fontes de incerteza de modo homogêneo erepresentar dados imprecisos e variáveis linguísticas quecorrespondam a termos de linguagens naturais. Dispõe tambémde métodos poderosos de dedução que manuseiam inferênciasaproximadas.
    • AI: RC - intro - F.GiornoRepresentação e Processamento de Conhecimento IncertoFatores de Certeza [Buchanan e Shortliffe, 1984]Abordagem para representar e tratar incertezas em uma basesubjetiva em detrimento de uma base teórica. O fator de certezaé um número entre -n e +n (em geral, n = 1), que expressa o graude certeza ou confiança em um evento (informação fornecidapelo usuário, condição de regra, ação de regra...) obtido combase em evidência ou em avaliações subjetivas. Valor +n indicacerteza absoluta de verdade, -n certeza absoluta de falso e 0incerteza absoluta se verdade ou falso. Por serem medidos deforma subjetiva, fatores de certeza são manuseados por métodosinformais e comportam-se de forma diferente de valoresprobabilísticos, que representam medidas objetivas.
    • AI: RC - intro - F.GiornoRepresentação e Processamento de Conhecimento IncertoFatores de Certeza [Buchanan e Shortliffe, 1984]Abordagem computacionalmente simples para suportar ainclusão de estimativas de confiança associadas com eventos.Por outro lado, os resultados proporcionados por essaabordagem são relativamente pobres. Experimentos comobjetivos de analisar a sensitividade de comportamento dosistema MYCIN, conduzidos por meio de alterações e posteriordesligamento dos valores dos fatores de certeza especificadospara esse sistema, revelaram que o conhecimento descrito nasregras contribuem muito mais para o resultado final do que osvalores dos fatores de certeza associados com esse conhecimento.