SlideShare ist ein Scribd-Unternehmen logo
1 von 98
AI: RC - intro - F.Giorno
IA
Representação de
Conhecimento
Fatos, Objetos e Regras
"Knowledge and power meet in one"
Francis Bacon, grande inspirador da moderna ciência
Com a prudência baconiana, o Reino Unido e seu herdeiro cultural, os EUA, tornaram-se donos do mundo
Roberto Romano, professor de Filosofia da Unicamp [Tendências / Debates, Folha, 16/7/01]
AI: RC - intro - F.Giorno
Introdução ao Curso
Inteligê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ística
Sistemas Especialistas (cap 6)
 Fundamentos
 Utilização
 Introdução nas Empresas
 Desenvolvimento
 Complementos
Representação de Conhecimento (cap 5)
 Fatos, Objetos e Regras de Produção
Exercícios, Atividades e Labs
SBCs - Conceitos e Desenvolvimento
AI: RC - intro - F.Giorno
BC MT
regras
processamento
Motor de Inferência
(MI)
Sistema computacional no qual um programa interpretador
(Motor de Inferência - MI), com base nos dados correntes
armazenados na Memória de Trabalho (MT), escolhe e aplica
regras de inferência armazenadas em uma Base de
Conhecimento (BC) para realizar tarefas do domínio.
dados
Sistema Baseado em Conhecimento (SBC)
AI: RC - intro - F.Giorno
Programa Dados
BC MI MT
Sistema
Convencional
SBC
conhecimento
específico
sobre a
aplicação
AI: RC - intro - F.Giorno
Base 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.Giorno
Base de Dados Base de Conhecimento
 info a nível operacional (dados)
 uso via programas
transacionais e geradores de
relatórios
 descrição e operação com
base em entidades individuais
 base para a solução de
problemas algoritmicos
 info a nível abstrato (conhecimento)
 uso via programs tipo máquina
ou mecanismo de inferência
 descrição e operação com base
em fatos, objetos individuais,
coleção de objetos e classes
 base para a solução de
problemas não passíveis de
solução algoritmica
AI: RC - intro - F.Giorno
Inteligê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 de
experiê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.Giorno
Conhecimento Procedimental
x
Conhecimento Declarativo
AI: RC - intro - F.Giorno
Conhecimento
Procedimental / Imperativo
 conhecimento na forma de
algoritmos (cjto de passos
consistentes e precisos para resolver
um problema)
Tipos de Conhecimento
Conhecimento
Declarativo / Não-Procedimental
 conhecimento na forma de fatos,
assertivas, relações, regras,
heurísticas ...
 codificado na forma de estrutura de
dados pois conhecimento
declarativo desempenha o papel de
dados para os procedimentos de
interpretação
AI: RC - intro - F.Giorno
Conhecimento
Procedimental / Imperativo
 prescrição de como uma tarefa
deverá ser efetuada
 how to do
 implementada por linguagens de
programação convencionais
Conhecimento
Declarativo / Não-Procedimental
 descrição de conhecim/ relevante
para resolver alguma tarefa
 what I know
 implementada por linguagens de
programação que suportam
processamento simbólico (Lisp,
Prolog, Ferrs IA ...) e, de forma
integrada, regras, objetos, casos e
procedimentos
Tipos de Conhecimento
AI: RC - intro - F.Giorno
Conhec Declarativo / Não-Procedimental
 Carburador é um elemento do motor.
 Bicicleta é um meio de transporte
 Há uma associação positiva entre
fumo e câncer.
 Um número primo é um número
inteiro que tem no máximo 2
divisores.
 A tensão entre 2 pontos é o produto
da resistência existente entre os 2
pontos pela intensidade da corrente
que circula entre os mesmos 2
pontos.
 Se o motor não pega e o farol acende,
suspeite do carburador.
 Se o paciente é uma criança enfoque
inicialmente doenças infantis.
Conhecimento Procedimental e Declarativo - exemplos
Conhec Procedimental / Imperativo
 Calcule a relação entre o preço e o
lucro de uma ação. Se esta relação
for maior que 12, pare sua
pesquisa pois o investimento é de
alto risco. Caso contrário, se esta
relação for menor que 12 , analise
o balanço da empresa.
 Teste se um objeto é uma
instância de uma classe.
 Crie um novo obj de um dado tipo.
 Encontre objs relacionados.
 Efetue processamento implicado
pela descrição do obj.
 Envie msg a outro obj.
 Receba e responda msg enviada
por outro obj.
AI: RC - intro - F.Giorno
Benefícios
 suporta a representação de
conhecimento de como fazer
coisas
 viabiliza a implementação e o uso
de conhecimento declarativo
 viabiliza a implementação de
como fazer inferências
Desvantagens
 mistura conhecimento com
controle
 difícil de ler, verificar ou examinar
 difícil de alterar pois o
conhecimento está implícito nos
procedimentos
 pouco flexível, sendo usualmente
adotado para uma finalidade
específica
Conhecimento Procedimental
AI: RC - intro - F.Giorno
Desvantagens
 demanda controle procedimental
Conhecimento Declarativo
Benefícios
 separa conhecimento de controle
 fácil de ler, examinar e alterar
 flexível, podendo ter usos
alternativos
 cada assertiva só precisa ser
armazenada uma única vez,
independente do no de maneiras
diferentes nas quais possa ser
utilizada
 fácil de acrescentar novas
assertivas ao sistema
AI: RC - intro - F.Giorno
Contribuição de Clancey (Stanford)
derivada da análise, seguida da re-engenharia, do sistema especialista MYCIN
Conhecimento
Estático
Dinâmico
Controle
+ Conhecimento de Suporte
AI: RC - intro - F.Giorno
Operações sobre Conhecimento (cf. definido)
 Aquisição
 Representação
 Interpretação
 Formalização
 Codificação
 Acesso / Inferência
AI: RC - intro - F.Giorno
Representação de Conhecimento
Conjunto de convenções sintáticas e semânticas que permite
descrever conhecimento associado a um domínio de
problemas
Envolve sintaxe, semântica e método de dedução
Requisitos:
 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 conhecimento
inserido no sistema pode ser separado do modo como ele será usado)
 eficiência implementacional
AI: RC - intro - F.Giorno
Conh Humano vs Conh Artificial
Vantagens
Perecível Permanente
Difícil de Transferir Fácil de Transferir
Difícil de Documentar Fácil de Documentar
Imprevisível Consistente
Dispendioso Acessível
Vantagens
Criativo Não Inspirado
Adaptativo Deve ser fornecido
Experiência Sensorial Entrada Simbólica
Enfoque Amplo Enfoque Estreito
Senso Comum Técnico
AI: RC - intro - F.Giorno
Fatos
Objetos e Conceitos
Eventos, 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 problemas
Definiçõ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 sistema
O Que Representar?
AI: RC - intro - F.Giorno
Fatos
 listas, triplas OAV, predicados em Lógica (FOL)
Objetos e Conceitos
 objetos (de software), frames
Eventos, Episódios (casos)
 objetos
Procedimentos
 procedimentos, funções e métodos
Definições, Leis e Axiomas (princípios básicos)
 regras de produção ou inferência
Regras do Mundo Real, Regras Operacionais, Regras de Negócios,
Normas, Heurísticas . . .
 regras de produção ou inferência
Metaconhecimento (conhecimento sobre conhecimento)
 metaregras, arquiteturas em meta-nível
O Que e Como Representar?
AI: RC - intro - F.Giorno
Métodos de Representação e Processamento de Conhecimento
Dados e Fatos do Mundo Real (MR)
representação: listas, predicados em FOL, variáveis . . .
processamento: regras atuando sobre fatos
Objetos: permitem organizar e estruturar conhec/ de modo natural e eficiente
representação: Modelo do Domínio
processamento: passagem de mensagens, regras atuando sobre objetos
Regras 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) enquanto
conseqüentes representam ações a serem tomadas ou
conclusões atingidas
processamento: encadeamento direto / inverso / oportunístico
Metaconhecimento: conhecimento sobre conhecimento
representação: metaregras / arquiteturas em meta-nível
processamento:
AI: RC - intro - F.Giorno
Métodos de Representação e Processamento de Conhecimento
Lógica (First Order Logic - FOL)
representação de conhecimento axiomático por meio de proposições lógicas e
relações entre proposições, possibilitando derivar novos fatos
base para outros formalismos de RC
forma de representação independente
representação: fórmulas bem definidas em FOL (assertivas e relações)
processamento: resolução / unificação
AI: RC - intro - F.Giorno
Representação de Conhecimento
Fatos
do Mundo Real
AI: RC - intro - F.Giorno
Desenvolvimento de Sistemas Computacionais
Estático
Dinâmico
Controle
• Estrutura de Dados
• Modelo do Domínio
• fatos
AI: RC - intro - F.Giorno
Representaçã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 um
atributo específico do objeto e o valor do atributo
Objeto entidade real ou conceitual
Atributo propriedade ou característica do objeto
Valor medida específica associada com o atributo em
uma dada situação
Exemplos: Objeto Atributo Valor
emprestimo taxaJuro 12
imovel areaTerreno 450
carro cor branca
estoque nivel 30
AI: RC - intro - F.Giorno
Representação por Triplas OAV - uma obs
OAV caracteriza um tipo de
memória associativa
Então:
A deve ser um atributo (propriedade,
característica) do objeto O, assim
como V deve ser um valor do atributo
A do mesmo objeto O.
AI: RC - intro - F.Giorno
Representaçã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 estrutura
identificada como sub-estrutura 1.
(subEstrutura1 estadoStress fadiga) ; OAV
AI: RC - intro - F.Giorno
Criação / Remoção de Fatos usando shells IA
Fatos são armazenados na MT
Criaçã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.Giorno
Representação de Conhecimento
Regras
do Mundo Real
AI: RC - intro - F.Giorno
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 de
Planejamento 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 partida
verifique a bateria.
Toda pessoa que trabalha no setor privado tem direito a
aposentadoria integral após 30 anos de contribuição e 60 anos
de idade se for mulher ou após 35 anos de contribuição e 65
anos de idade se for homem.
Anormalidade renal conduz a anormalidade na anatomia
urológica. Infecção no trato urinário e anormalidade na
anatomia urológica permitem concluir com 80% de certeza
que a identidade do organismo é enterococcus.
Regras no Mundo Real - exemplos em diferentes domínios
AI: RC - intro - F.Giorno
Estático
Dinâmico
Controle
• regras de produção ou inferência
Sistemas Computacionais
• Estrutura de Dados
• Modelo de Domínio
• Fatos
AI: RC - intro - F.Giorno
Regras de Produção ou Inferência
permitem
representar conhecimento
do mundo real
passível de ser expresso na forma de
regras
Inferência proposição ou generalização derivada pelo raciocínio
a partir de outras proposições ou da evidência.
AI: RC - intro - F.Giorno
Definem a lógica de uma aplicação
de forma separada
do modo como são processadas (encadeamento)
Cada regra é: uma direção para fazer alguma coisa
se alguma outra coisa for verdade
SE < 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.Giorno
Conduzem à Programação Baseada em Regras
Estilo de programação que permite representar
conhecimento relativo a um domínio de problemas de
forma declarativa / procedimental por meio de regras
independentes, não-ordenadas e separadas do modo como
sã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 elas
ocorrem, de forma independente do fluxo de controle, podendo ser
executadas (disparadas), em uma ordem baseada na ordenação
dinâmica destas alterações
 definem a lógica de uma aplicação de forma separada do modo como
são processadas (encadeamento)
Regras de Produção ou Inferência
AI: RC - intro - F.Giorno
Condições de uma regra
 são cláusulas, definindo condições (padrões) de regras - também
chamadas de antecedentes da regra (LER) - passíveis de match com fatos e
objetos 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-down
Açõ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ção
corrente de solução do problema
– processando fatos e objetos
Regra de Produção - condições e ações
AI: RC - intro - F.Giorno
Regra de Produção - nomenclaturas alternativas
SE < 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 Regra
LDR: Lado Direito da Regra
Obs: < condição > é referida por < padrão > em alguns shells
AI: RC - intro - F.Giorno
SE
a infecção é meningite ; condicão1
o tipo de infecção é bacteriana ; condição2
nenhum organismo foi diretamente identificado ; condição3
há disponibilidade de valores de análise sangüínea ; condição4
a contagem de leucócitos é menor que 2.500 ; condição5
ENTÃO
os organismos que podem estar causando a infecção são:
pseudomonas (.5)
klebisiella (.5)
e. coli (0.75) ; conclusão
Exemplo de Regra em LN - MYCIN: regra 557
AI: RC - intro - F.Giorno
Exemplos
de
Modelagem
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 natural
o motor de partida não aciona
ENTÃO carregue ou substitua a bateria - ver seção 7-4 do Manual
SE (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 em
renda fixa, sem correr riscos, a recomendação deve ser
poupança.” (regra de negócio)
SE cliente deseja investir em renda fixa ; regra prod em LN
cliente não deseja correr risco
cliente não dispõe de grande quantia para investir
ENTÃO
cliente 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, os
consultores designados devem reportar-se diretamente ao cliente
e resolver possíveis problemas relativos à pós-venda.”
Representar a regra de negócio abaixo por regras de
produção estruturadas por triplas OAV e variáveis (onde
aplicáveis)
AI: RC - intro - F.Giorno
Processamento de Regras
Pattern Matching
(técnica básica IA)
AI: RC - intro - F.Giorno
Pattern Matching
Função básica requerida pela maioria dos
Sistemas de IA.
É parte essencial de operações mais complexas
de Sistemas de IA, tais como busca e controle.
Pode consumir uma boa fração do tempo de
processamento. Devido a isso, Sistemas de IA
eficientes necessariamente incluem técnicas
eficientes de matching.
AI: RC - intro - F.Giorno
Pattern Matching
Operação essencial em diversos Sistemas de IA
para:
controle de uma seqüência de operações
identificação ou classificação de objetos
determinação de um dado valor no meio de
diferentes alternativas
recuperação de itens de uma Base de Dados
. . .
AI: RC - intro - F.Giorno
Pattern Matching
Usado 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.Giorno
Pattern Matching
Técnica que permite comparar expressões simbólicas
para verificar se
uma dada expressão é similar a outra.
As expressões simbólicas (ou estruturas) comparadas podem
representar 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.Giorno
Pattern Matching no Contexto de Sistemas de Produção
Técnica que permite comparar
cada condição (padrão) de uma regra de produção
com fatos ou instâncias da MT:
se for possível estabelecer a igualdade sintática
entre a condição e um fato ou instância da MT
a condição da regra torna se verdadeira
para o fato ou instância comparado.
AI: RC - intro - F.Giorno
Pattern Matching
O 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 sexto
carácter.
O mesmo ocorre com os strings:
"acdebfba" e "acdebFba"
AI: RC - intro - F.Giorno
Pattern Matching
Em casos mais complexos o processo de
matching pode demandar transformações nos
padrõ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 ?x
seja 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 ser
instanciada com 2 diferentes valores.
AI: RC - intro - F.Giorno
“Novos projetos de investimento com taxa de retorno
estimada 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.Giorno
MT
. . .
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.Giorno
Lista prioritizada, revisada a cada ciclo do MI, de
cópias de regras (ativações) esperando para serem
executadas
Sempre que cada condição de uma regra de
produção faz “match” com um fato ou um objeto
da Memória de Trabalho (MT):
 a regra torna-se apta para execução (disparo) e é ativada
uma cópia da regra, chamada ativação, é criada e colocada na
agenda
 a execução (disparo) da regra, se ocorrer, implica que suas
ações são executadas ou suas conclusões são atingidas
Agenda
AI: RC - intro - F.Giorno
Agenda
 revisada a cada ciclo do MI
 pode ser examinada e monitorada em tempo de
desenvolvimento, fornecendo subsídios para o
aprimoramento do SBC em construção
Exemplo:
0 r1 f-3
0 r35 f-11 obj52
0 r17 f-3 f-73 obj8 obj37
AI: RC - intro - F.Giorno
(defrule nomeDaRegra
(declare (salience n)) ; n entre -  e + 
. . .
Excessive use of priorities
to control rule activations
can interfere with the
"opportunistic" nature
of an Expert System
and should be avoided.
Declarando Prioridade de uma Regra
AI: RC - intro - F.Giorno
SE inflação é alta ; LN
ENTÃO preço de imóvel é alto
r1-imovel: SE (economia inflacao alta) ; estrut OAV
ENTÃO (assert (imovel preco alto) )
Execução (disparo) de Regra
BC MT
r1-imovel
(economia inflacao alta)
(imovel preco alto)
Regras são executadas (disparadas)
com base na regra de inferência
lógica Modus Ponens
A  B
A
B
novo fato
AI: RC - intro - F.Giorno
Processamento de Regras
Máquina de Inferência
(MI)
Base de Conhecimento
(BC)
Memória de Trabalho
(MT)
AI: RC - intro - F.Giorno
MI
BC MT
regras estado corrente
do sistema
interpretador de regras
Processamento 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 e
inverso
Processamento de Regras
AI: RC - intro - F.Giorno
Encadeamento Direto ou Progressivo (Forward Chaining)
 Encadeamento de regras dos antecedentes para os
conseqüentes
 Demanda inicialização de dados (data-driven)
Inicialização
de Dados
BD
Resultados
Encadeamento
Direto
AI: RC - intro - F.Giorno
Reconhecimento
match
conds de regras vs dados
Seleção
Resolução de Conflitos
Ação
execução (disparo) da
1a regra da Agenda
Critérios
• mais prioritária
• mais específica
• mais recente
• . . .
dados: fatos, objetos . . . da MT
Raciocinando 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 controle
Reconhecimento
antecedentes (condições) de regras são matched contra dados
correntes (fatos e instâncias) da MT para identificar o conjunto
de regras aptas para disparo no ciclo
Seleção
regras identificadas como aptas para disparo no ciclo são
colocadas na agenda, ordenadas de acordo com critérios de
Resolução de Conflitos
Ação
primeira regra da agenda é selecionada e executada: seus
conseqüentes podem conter ações que alteram o estado
corrente da MT influenciando os antecedentes de outras regras
para o próximo ciclo
Raciocinando com Regras: Ciclo de Encadeamento Progressivo
AI: RC - intro - F.Giorno
Encadeamento Progressivo - exemplo 1
Base de Conhecimento
(BC)
Memória de Trabalho
(MT)
r1: A
r2: B
Máquina de Inferência
(MI)
 B
 C
AI: RC - intro - F.Giorno
Encadeamento Progressivo - exemplo 1
Base de Conhecimento
(BC)
Memória de Trabalho
(MT)
r1: A
r2: B
Máquina de Inferência
(MI)
 B
 C
A ; dado inicial
B ; dado intermediário
C
AI: RC - intro - F.Giorno
Encadeamento Direto - exemplo 2
A
E
G H
C
B
r1: F & B Z
r2: C & D F
r3: A D
MT:
BC:
AI: RC - intro - F.Giorno
Encadeamento Direto - exemplo 2
A
E
G H
C
F B
D
Z
A
E
G H
C
B
A
E
G H
C
F B
D
A
E
G H
C
B
D
r1: F & B Z
r2: C & D F
r3: A D
r1: F & B Z
r2: C & D F
r3: A D
r1: F & B Z
r2: C & D F
r3: A D
match match match
executa executa executa
A D
C
F
B
Z
Cadeia de Inferência: r3 r2 r1Encadeamento:
Resultado Final: Z
MT:
AI: RC - intro - F.Giorno
Resolver
Regras:
r1: M -> R, S
r2: F, E -> H
r3: H -> G
r4: R, E -> G
r5: C, D -> F
r6: A, B -> C
Dados: A, B, D, E
AI: RC - intro - F.Giorno
Tempo quente e atmosfera úmida implicam a provável
ocorrê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.Giorno
r1: SE a taxa de juros diminui
ENTÃO o preço das ações aumenta
r2: SE a taxa de juros aumenta
ENTÃO o preço das ações diminui 3
r3: SE a taxa de juros permanece inalterada
ENTÃO o preço das ações permanece inalterado
r4: SE o dólar aumenta
ENTÃO a taxa de juros diminui
r5: SE o dólar diminui 1
ENTÃO a taxa de juros aumenta 2
r6: SE o preço das ações diminui
ENTÃO compre ações
r7: SE o preço das ações aumenta
ENTÃO invista em renda fixa
Encadeamento Direto
efetuado: r5 r2 r6
Conjuntura Econômica:
taxa do dólar em declínio
BC: Sistema de Apoio a Decisão Financeira
AI: RC - intro - F.Giorno
Programação Baseada em Regras
 tem como ponto focal a solução do problema ao
invés do fluxo de controle
 simplifica manutenções
 indicada para aplicações envolvidas com
 exploração de grande número de opções (problemas altamente
combinatórios)
 processamento simbólico
 legibilidade do conhecimento representado
 apoio à decisão mesmo com informações incompletas ou
incertas
 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.Giorno
Um paciente usando lentes duras por 3
anos ou mais ou lentes gelatinosas por 18
meses ou mais deve trocar as suas lentes
por um novo par do mesmo tipo pois estas
excederam o seu tempo médio de vida útil.
Representar o conhecimento abaixo por regras de
produção, passíveis de encadeamento, estruturadas por
triplas OAV e variáveis (onde aplicáveis)
AI: RC - intro - F.Giorno
SE (lente tipo dura)
(lente tempoUso ?t / (>= ?t 36)) ;;; em meses
ENTÃO
(assert (paciente recomendacao trocarLente))
SE (lente tipo gelatinosa)
(lente tempoUso ?t / (>= ?t 18)) ;;; em meses
ENTÃ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.Giorno
Tratamento
de
Regras de Negócios
AI: RC - intro - F.Giorno
Regra de Negócio
Declaração para se definir ou restringir algum
aspecto do negócio. Tem como objetivo fazer
valer a estrutura do negócio ou controlar ou
influenciar o comportamento do negócio.
Business Rule Group
Regras de Negócios
 São cidadãs de primeira classe no Mundo dos
Requisitos;
 Estão separadas do processo de negócios.
AI: RC - intro - F.Giorno
Regra de Negócio
Como a empresa define suas políticas, seus
procedimentos 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 de
Planejamento Financeiro Executivo.
 A retirada de uma conta pode ser feita somente se o saldo da
conta for maior que zero.
 Um cliente deve ser considerado de alto valor se é VIP; se tem
saldo médio em sua conta corrente de ao menos X; se mantém a
sua conta por mais que Y anos.
 . . .
As regras de negócio geralmente são alteradas várias vezes durante o
desenvolvimento e após a implantação do sistema; portanto, flexibilidade e
manutenibilidade são atributos cruciais.
AI: RC - intro - F.Giorno
Segundo Ross [2003]:
A representação precisa das decisões do
negócio é a maior vantagem no uso de Regras
de Negócio.
O envolvimento direto das pessoas do negócio
na definição de sistemas de software é
fundamental.
Ross,R.G., Principles of the Business Rule Approach, Addison-Wesley, 2003.
AI: RC - intro - F.Giorno
Segundo Ross [2003], em um projeto de sistema de software
deve-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 do
negó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 o
conhecimento do negócio.
 RNs devem ser gerenciáveis.
Ross,R.G., Principles of the Business Rule Approach, Addison-Wesley, 2003.
AI: RC - intro - F.Giorno
Categorias de Regras de Negócios
Regras 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 Algoritmico
Martin,J. and J.J.Odell, Object-Oriented Methods: A Foundation, cap.20, Prentice-Hall, 1998.
AI: RC - intro - F.Giorno
Abordagens para Implementar RNs aos Sistemas de SW
 Programação Convencional e na forma de triggers e stored
procedures 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 aplicado
independente do método utilizado para o desenvolvimento de software.
AI: RC - intro - F.Giorno
Problemas com a Implementação de RNs
A transposição ds RNs em código fonte ou estruturas do
Banco de Dados está associada a problemas do tipo:
 perda na semântica das regras;
 instruções espalhadas por grande parte da aplicação, e
sem ligação aparente entre si;
 alteração difícil;
 inexistência de documentação que indicaria os locais
onde as regras se encontram no código fonte.
AI: RC - intro - F.Giorno
Problemas com a Implementação de RNs
"A representação de RNs em código e seu conseqüente
vínculo ao tempo de desenvolvimento e compilação das
aplicações é a causa da grande dificuldade de alteração
das RNs.
Isto conduz a dificuldades como custo elevado, tempo
desperdiçado e erros difíceis de localizar."
Johnston,T., Business Rules, Meta Data and Late Binding, DM Direct News letter, DM Review
Magazine, February 16, 2001. Disponível em <http://www.dmreview.
com/article_sub.cfm?articleld=3066>. Acesso em 10/01/06.
AI: RC - intro - F.Giorno
Problemas com a Implementação de RNs
"As RNs são normalmente implementadas no corpo dos
diversos métodos de um objeto de negócio. Essa regras
normalmente referem-se a outras regras e,
conseqüentemente, aos objetos que as contêm. Muitas
vezes, uma única regra pode ser implementada através de
diferentes métodos, classes, módulos e camadas de uma
aplicação, gerando uma rede de dependências difícil de
localizar e alterar."
Arsanjani,A., Rule Pattern Language: A Pattern Language for Adaptive Manners and Scalable
Business Rule Design and Construction, In Proc. of the 39th Int´l Conf. and Exibition on
Technology of Object-Oriented Languages and Systems (TOOLS´01), 2001.
AI: RC - intro - F.Giorno
Arquitetura de Três Camadas
Objetos da Interface de Usuário
Telas, Botões, ...
Objetos do Modelo da Aplicação
Cliente, Produto, ...
Objetos de Mapeamento de BDs
Cliente-map-1, Produto-map-1, ...
GUI
Data Base
Nome
Empregado
EmpTab
Nome Titulo Salario
Jones Mgr 55K
Smith VP 75K
Título
Salário
nome
titulo
salario
Modelo da
Aplicação
AI: RC - intro - F.Giorno
Regras de Negócios
GUI
Data Base
Modelo da
Aplicação
• Espalhadas
• Na sintaxe do programa
• Entrelaçadas (entwined)
na lógica de controle
AI: RC - intro - F.Giorno
Regras de Negócios
Modelo da
Aplicação
GUI
Data Base • Centralizadas
• Linguagem dos Negócios
• Declarativas
• Oportunísticas
Motor de
Inferência BC
AI: RC - intro - F.Giorno
Representação de Conhecimento
Extensões
Metaconhecimento, Metaregras e Rulesets
Representação e Tratamento de Conhecimento Incerto
AI: RC - intro - F.Giorno
Metaconhecimento
Conhecimento sobre o conhecimento acerca de um
determinado problema ou domínio de problemas.
isto é
 conhecimento acerca do conteúdo, estrutura e uso
do conhecimento do domínio
[Davis e Buchanan, 1977; Davis, 1980]
AI: RC - intro - F.Giorno
Inclui
 métodos de raciocínio, dedução e julgamento
empregados em um domínio de aplicação durante o
processo de solução de problemas.
 informação relativa à seleção, organização e
programação das atividades a serem executadas
para 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 conhecimento
representado, proporcionando flexibilidade para a solução de
problemas do domínio e indicando:
– os limites do conhecimento do domínio representado;
– os pontos fortes e fracos da representação de um determinado
conhecimento;
– 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 de
raciocínios relativos a:
– seleção de conhecimento relevante para a tarefa ativa de solução de
problemas;
– planejamento de estratégias adequadas de solução de problemas;
– monitoração, avaliação e reparo ou melhoria do desempenho de um
sistema.
Boy [1991]
Metaconhecimento
AI: RC - intro - F.Giorno
Um modo de incorporar metaconhecimento em
Sistemas Baseados em Regras (SBRs) consiste em
expressá-lo de forma algorítmica na Máquina de
Inferência.
Esse enfoque resulta em uma estrutura bastante
rígida, especialmente na parte relativa às técnicas
gerais de solução de problemas utilizadas.
[Guida e Tasso, 1984].
Metaconhecimento - incorporação
AI: RC - intro - F.Giorno
Outro modo de incorporar metaconhecimento em SBRs
consiste em expressá-lo por meio de metaregras, que são
regras acerca de outras regras.
 Metaregras permitem que o sistema monitore, analise e tome
decisões em relação a sua própria operação, comportando-se
como um observador externo. Com isso, o sistema pode
raciocinar sobre o seu próprio escopo e as suas limitações,
facilitando o tratamento de problemas complexos e de
situações não previstas.
 Metaregras, ao operarem sobre outras regras, permitem
implementar controle. Elas influenciam diretamente o
funcionamento do MI, melhorando a sua eficiência, ao
definirem a aplicabilidade de certa regras, durante o ciclo de
reconhecimento-escolha-ação, para determinadas situações.
Metaconhecimento - incorporação
AI: RC - intro - F.Giorno
Metaregras - exemplos
mr-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-refine
SE a hipótese corrente tem um descendente não pesquisado ainda
ENTÃO pesquise esse descendente
mr-avaliacao-sob-risco
; habilita regras para enfocar investimentos de baixo risco
; para pessoas com idades avançadas
SE a idade do investidor é maior que 65 anos E
há regras que mencionam risco baixo em suas premissas E
há regras que mencionam risco médio em suas premissas E
há regras que mencionam risco alto em suas premissas
ENTÃO use o primeiro conjunto de regras antes de tentar os demais
AI: RC - intro - F.Giorno
Sistema de Produção Estruturado
Ruleset
 Conjunto de regras com propriedades comuns, incluindo a
habilidade de serem ativados ou desativados como um grupo e
a designação de uma prioridade ao grupo, estabelecendo a
ordem de disparo do grupo em relação a outros grupos.
 A Máquina de Inferência encadeia subconjuntos de regras da
Base de Conhecimento, sendo que nem todos os subconjuntos
podem necessitar de avaliação.
Benefícios
 Permite implementar controle
 Suporta dividir um problema em subproblemas
AI: RC - intro - F.Giorno
Representação e Processamento de Conhecimento Incerto
SBRs permitem a incorporação de procedimentos que levam em
conta incertezas, ruídos e subjetividades inerentes ao
conhecimento.
O termo conhecimento incerto, no contexto de SBRs, refere-se a
diferentes 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ção
inerentemente imprecisa
AI: RC - intro - F.Giorno
Representação e Processamento de Conhecimento Incerto
Abordagens
 Teoria da Probabilidade
 Teoria da Evidência
 Lógica Nebulosa
 Fatores de Certeza
AI: RC - intro - F.Giorno
Representação e Processamento de Conhecimento Incerto
Teoria da Probabilidade
Abordagem robusta, mas não permite representar dados
aproximados caracterizados por termos linguísticos
("médio", "alto"...) e impõe restrições de independência de
dados e de perfeito conhecimento do espaço amostral
(eventos mutuamente exclusivos e conjunto exaustivo de
eventos).
AI: RC - intro - F.Giorno
Representação e Processamento de Conhecimento Incerto
Teoria da Evidência [Dempster, 1967; Shafer, 1976]
Corresponde a uma generalização da Teoria da
Probabilidade, requerendo, por isso, eventos exaustivos e
mutuamente exclusivos, sendo computacionalmente
intratável em muitos casos (sem simplificações apreciáveis).
Difere da Teoria da Probabilidade por não assumir que
todos os resultados possíveis de um experimento possam ser
observados de uma forma precisa. Foi elaborada com base
matemática sólida para proporcionar raciocínio evidencial,
na qual valores entre 0 e 1, correspondendo a graus de
crença em fatos ou eventos, podem ser designados e
manipulados.
AI: RC - intro - F.Giorno
Representação e Processamento de Conhecimento Incerto
Lógica Nebulosa [Zadeh, 1983]
Apresenta similaridade com a Lógica de Primeira Ordem, não
exige os pressupostos das duas abordagens anteriores e permite
tratar com várias fontes de incerteza de modo homogêneo e
representar dados imprecisos e variáveis linguísticas que
correspondam a termos de linguagens naturais. Dispõe também
de métodos poderosos de dedução que manuseiam inferências
aproximadas.
AI: RC - intro - F.Giorno
Representação e Processamento de Conhecimento Incerto
Fatores de Certeza [Buchanan e Shortliffe, 1984]
Abordagem para representar e tratar incertezas em uma base
subjetiva 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 grau
de certeza ou confiança em um evento (informação fornecida
pelo usuário, condição de regra, ação de regra...) obtido com
base em evidência ou em avaliações subjetivas. Valor +n indica
certeza absoluta de verdade, -n certeza absoluta de falso e 0
incerteza absoluta se verdade ou falso. Por serem medidos de
forma subjetiva, fatores de certeza são manuseados por métodos
informais e comportam-se de forma diferente de valores
probabilísticos, que representam medidas objetivas.
AI: RC - intro - F.Giorno
Representação e Processamento de Conhecimento Incerto
Fatores de Certeza [Buchanan e Shortliffe, 1984]
Abordagem computacionalmente simples para suportar a
inclusão de estimativas de confiança associadas com eventos.
Por outro lado, os resultados proporcionados por essa
abordagem são relativamente pobres. Experimentos com
objetivos de analisar a sensitividade de comportamento do
sistema MYCIN, conduzidos por meio de alterações e posterior
desligamento dos valores dos fatores de certeza especificados
para esse sistema, revelaram que o conhecimento descrito nas
regras contribuem muito mais para o resultado final do que os
valores dos fatores de certeza associados com esse conhecimento.

Weitere ähnliche Inhalte

Ähnlich wie Rc intro fatoreg mp13pr

Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitoselliando dias
 
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3Roberto C. S. Pacheco
 
The Data Science Workflow
The Data Science WorkflowThe Data Science Workflow
The Data Science WorkflowRenzo Ziegler
 
Banco de dados Aula 1
Banco de dados Aula 1Banco de dados Aula 1
Banco de dados Aula 1Bruno Strik
 
topico_4.3_redes_RBF.pdf
topico_4.3_redes_RBF.pdftopico_4.3_redes_RBF.pdf
topico_4.3_redes_RBF.pdfDenicaLima
 
Banco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfBanco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfPauloVictor415128
 
Sistemas Especialistas
Sistemas EspecialistasSistemas Especialistas
Sistemas Especialistaselliando dias
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasClayton de Almeida Souza
 
Análise da Arquitetura Baars-Franklin de Consciência Artificial Aplicada a...
Análise da Arquitetura  Baars-Franklin de  Consciência Artificial  Aplicada a...Análise da Arquitetura  Baars-Franklin de  Consciência Artificial  Aplicada a...
Análise da Arquitetura Baars-Franklin de Consciência Artificial Aplicada a...capitanio
 
Princípios da engenharia de software (marcello thiry)
Princípios da engenharia de software (marcello thiry)Princípios da engenharia de software (marcello thiry)
Princípios da engenharia de software (marcello thiry)Marcello Thiry
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência Artificialkennedyaraujo
 
Sistemas de Informação
Sistemas de InformaçãoSistemas de Informação
Sistemas de InformaçãoPiedley macedo
 
Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)
Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)
Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)Leandro Lima
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacaotaniamaciel
 
Princípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de RequisitosPrincípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de Requisitoselliando dias
 
Monografia eng soft1_halan
Monografia eng soft1_halanMonografia eng soft1_halan
Monografia eng soft1_halanHalan Ridolphi
 
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"Alejandro Frery
 

Ähnlich wie Rc intro fatoreg mp13pr (20)

Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitos
 
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3
Engenharia do Conhecimento e Inteligência Artificial - Aula 1/3
 
The Data Science Workflow
The Data Science WorkflowThe Data Science Workflow
The Data Science Workflow
 
Banco de dados Aula 1
Banco de dados Aula 1Banco de dados Aula 1
Banco de dados Aula 1
 
topico_4.3_redes_RBF.pdf
topico_4.3_redes_RBF.pdftopico_4.3_redes_RBF.pdf
topico_4.3_redes_RBF.pdf
 
Banco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdfBanco de Dados _ Modelagem Conceitual.pdf
Banco de Dados _ Modelagem Conceitual.pdf
 
Sistemas Especialistas
Sistemas EspecialistasSistemas Especialistas
Sistemas Especialistas
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
Análise da Arquitetura Baars-Franklin de Consciência Artificial Aplicada a...
Análise da Arquitetura  Baars-Franklin de  Consciência Artificial  Aplicada a...Análise da Arquitetura  Baars-Franklin de  Consciência Artificial  Aplicada a...
Análise da Arquitetura Baars-Franklin de Consciência Artificial Aplicada a...
 
Planejamento rede
Planejamento rede Planejamento rede
Planejamento rede
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência Artificial
 
Princípios da engenharia de software (marcello thiry)
Princípios da engenharia de software (marcello thiry)Princípios da engenharia de software (marcello thiry)
Princípios da engenharia de software (marcello thiry)
 
Inteligência Artificial
Inteligência ArtificialInteligência Artificial
Inteligência Artificial
 
Sistemas de Informação
Sistemas de InformaçãoSistemas de Informação
Sistemas de Informação
 
Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)
Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)
Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacao
 
GP4US - Pesquisa Operacional - Introdução à Tomada de Decisão
GP4US - Pesquisa Operacional - Introdução à Tomada de DecisãoGP4US - Pesquisa Operacional - Introdução à Tomada de Decisão
GP4US - Pesquisa Operacional - Introdução à Tomada de Decisão
 
Princípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de RequisitosPrincípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de Requisitos
 
Monografia eng soft1_halan
Monografia eng soft1_halanMonografia eng soft1_halan
Monografia eng soft1_halan
 
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
 

Rc intro fatoreg mp13pr

  • 1. AI: RC - intro - F.Giorno IA Representação de Conhecimento Fatos, Objetos e Regras "Knowledge and power meet in one" Francis Bacon, grande inspirador da moderna ciência Com a prudência baconiana, o Reino Unido e seu herdeiro cultural, os EUA, tornaram-se donos do mundo Roberto Romano, professor de Filosofia da Unicamp [Tendências / Debates, Folha, 16/7/01]
  • 2. AI: RC - intro - F.Giorno Introdução ao Curso Inteligê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ística Sistemas Especialistas (cap 6)  Fundamentos  Utilização  Introdução nas Empresas  Desenvolvimento  Complementos Representação de Conhecimento (cap 5)  Fatos, Objetos e Regras de Produção Exercícios, Atividades e Labs SBCs - Conceitos e Desenvolvimento
  • 3. AI: RC - intro - F.Giorno BC MT regras processamento Motor de Inferência (MI) Sistema computacional no qual um programa interpretador (Motor de Inferência - MI), com base nos dados correntes armazenados na Memória de Trabalho (MT), escolhe e aplica regras de inferência armazenadas em uma Base de Conhecimento (BC) para realizar tarefas do domínio. dados Sistema Baseado em Conhecimento (SBC)
  • 4. AI: RC - intro - F.Giorno Programa Dados BC MI MT Sistema Convencional SBC conhecimento específico sobre a aplicação
  • 5. AI: RC - intro - F.Giorno Base de Conhecimento (BC) Repositório onde o conhecimento é armazenado de forma:  legível  inspecionável  modificável (Inteligência requer Conhecimento) BC
  • 6. AI: RC - intro - F.Giorno Base de Dados Base de Conhecimento  info a nível operacional (dados)  uso via programas transacionais e geradores de relatórios  descrição e operação com base em entidades individuais  base para a solução de problemas algoritmicos  info a nível abstrato (conhecimento)  uso via programs tipo máquina ou mecanismo de inferência  descrição e operação com base em fatos, objetos individuais, coleção de objetos e classes  base para a solução de problemas não passíveis de solução algoritmica
  • 7. AI: RC - intro - F.Giorno Inteligê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 de experiê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
  • 8. AI: RC - intro - F.Giorno Conhecimento Procedimental x Conhecimento Declarativo
  • 9. AI: RC - intro - F.Giorno Conhecimento Procedimental / Imperativo  conhecimento na forma de algoritmos (cjto de passos consistentes e precisos para resolver um problema) Tipos de Conhecimento Conhecimento Declarativo / Não-Procedimental  conhecimento na forma de fatos, assertivas, relações, regras, heurísticas ...  codificado na forma de estrutura de dados pois conhecimento declarativo desempenha o papel de dados para os procedimentos de interpretação
  • 10. AI: RC - intro - F.Giorno Conhecimento Procedimental / Imperativo  prescrição de como uma tarefa deverá ser efetuada  how to do  implementada por linguagens de programação convencionais Conhecimento Declarativo / Não-Procedimental  descrição de conhecim/ relevante para resolver alguma tarefa  what I know  implementada por linguagens de programação que suportam processamento simbólico (Lisp, Prolog, Ferrs IA ...) e, de forma integrada, regras, objetos, casos e procedimentos Tipos de Conhecimento
  • 11. AI: RC - intro - F.Giorno Conhec Declarativo / Não-Procedimental  Carburador é um elemento do motor.  Bicicleta é um meio de transporte  Há uma associação positiva entre fumo e câncer.  Um número primo é um número inteiro que tem no máximo 2 divisores.  A tensão entre 2 pontos é o produto da resistência existente entre os 2 pontos pela intensidade da corrente que circula entre os mesmos 2 pontos.  Se o motor não pega e o farol acende, suspeite do carburador.  Se o paciente é uma criança enfoque inicialmente doenças infantis. Conhecimento Procedimental e Declarativo - exemplos Conhec Procedimental / Imperativo  Calcule a relação entre o preço e o lucro de uma ação. Se esta relação for maior que 12, pare sua pesquisa pois o investimento é de alto risco. Caso contrário, se esta relação for menor que 12 , analise o balanço da empresa.  Teste se um objeto é uma instância de uma classe.  Crie um novo obj de um dado tipo.  Encontre objs relacionados.  Efetue processamento implicado pela descrição do obj.  Envie msg a outro obj.  Receba e responda msg enviada por outro obj.
  • 12. AI: RC - intro - F.Giorno Benefícios  suporta a representação de conhecimento de como fazer coisas  viabiliza a implementação e o uso de conhecimento declarativo  viabiliza a implementação de como fazer inferências Desvantagens  mistura conhecimento com controle  difícil de ler, verificar ou examinar  difícil de alterar pois o conhecimento está implícito nos procedimentos  pouco flexível, sendo usualmente adotado para uma finalidade específica Conhecimento Procedimental
  • 13. AI: RC - intro - F.Giorno Desvantagens  demanda controle procedimental Conhecimento Declarativo Benefícios  separa conhecimento de controle  fácil de ler, examinar e alterar  flexível, podendo ter usos alternativos  cada assertiva só precisa ser armazenada uma única vez, independente do no de maneiras diferentes nas quais possa ser utilizada  fácil de acrescentar novas assertivas ao sistema
  • 14. AI: RC - intro - F.Giorno Contribuição de Clancey (Stanford) derivada da análise, seguida da re-engenharia, do sistema especialista MYCIN Conhecimento Estático Dinâmico Controle + Conhecimento de Suporte
  • 15. AI: RC - intro - F.Giorno Operações sobre Conhecimento (cf. definido)  Aquisição  Representação  Interpretação  Formalização  Codificação  Acesso / Inferência
  • 16. AI: RC - intro - F.Giorno Representação de Conhecimento Conjunto de convenções sintáticas e semânticas que permite descrever conhecimento associado a um domínio de problemas Envolve sintaxe, semântica e método de dedução Requisitos:  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 conhecimento inserido no sistema pode ser separado do modo como ele será usado)  eficiência implementacional
  • 17. AI: RC - intro - F.Giorno Conh Humano vs Conh Artificial Vantagens Perecível Permanente Difícil de Transferir Fácil de Transferir Difícil de Documentar Fácil de Documentar Imprevisível Consistente Dispendioso Acessível Vantagens Criativo Não Inspirado Adaptativo Deve ser fornecido Experiência Sensorial Entrada Simbólica Enfoque Amplo Enfoque Estreito Senso Comum Técnico
  • 18. AI: RC - intro - F.Giorno Fatos Objetos e Conceitos Eventos, 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 problemas Definiçõ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 sistema O Que Representar?
  • 19. AI: RC - intro - F.Giorno Fatos  listas, triplas OAV, predicados em Lógica (FOL) Objetos e Conceitos  objetos (de software), frames Eventos, Episódios (casos)  objetos Procedimentos  procedimentos, funções e métodos Definições, Leis e Axiomas (princípios básicos)  regras de produção ou inferência Regras do Mundo Real, Regras Operacionais, Regras de Negócios, Normas, Heurísticas . . .  regras de produção ou inferência Metaconhecimento (conhecimento sobre conhecimento)  metaregras, arquiteturas em meta-nível O Que e Como Representar?
  • 20. AI: RC - intro - F.Giorno Métodos de Representação e Processamento de Conhecimento Dados e Fatos do Mundo Real (MR) representação: listas, predicados em FOL, variáveis . . . processamento: regras atuando sobre fatos Objetos: permitem organizar e estruturar conhec/ de modo natural e eficiente representação: Modelo do Domínio processamento: passagem de mensagens, regras atuando sobre objetos Regras 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) enquanto conseqüentes representam ações a serem tomadas ou conclusões atingidas processamento: encadeamento direto / inverso / oportunístico Metaconhecimento: conhecimento sobre conhecimento representação: metaregras / arquiteturas em meta-nível processamento:
  • 21. AI: RC - intro - F.Giorno Métodos de Representação e Processamento de Conhecimento Lógica (First Order Logic - FOL) representação de conhecimento axiomático por meio de proposições lógicas e relações entre proposições, possibilitando derivar novos fatos base para outros formalismos de RC forma de representação independente representação: fórmulas bem definidas em FOL (assertivas e relações) processamento: resolução / unificação
  • 22. AI: RC - intro - F.Giorno Representação de Conhecimento Fatos do Mundo Real
  • 23. AI: RC - intro - F.Giorno Desenvolvimento de Sistemas Computacionais Estático Dinâmico Controle • Estrutura de Dados • Modelo do Domínio • fatos
  • 24. AI: RC - intro - F.Giorno Representaçã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 um atributo específico do objeto e o valor do atributo Objeto entidade real ou conceitual Atributo propriedade ou característica do objeto Valor medida específica associada com o atributo em uma dada situação Exemplos: Objeto Atributo Valor emprestimo taxaJuro 12 imovel areaTerreno 450 carro cor branca estoque nivel 30
  • 25. AI: RC - intro - F.Giorno Representação por Triplas OAV - uma obs OAV caracteriza um tipo de memória associativa Então: A deve ser um atributo (propriedade, característica) do objeto O, assim como V deve ser um valor do atributo A do mesmo objeto O.
  • 26. AI: RC - intro - F.Giorno Representaçã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 estrutura identificada como sub-estrutura 1. (subEstrutura1 estadoStress fadiga) ; OAV
  • 27. AI: RC - intro - F.Giorno Criação / Remoção de Fatos usando shells IA Fatos são armazenados na MT Criaçã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)
  • 28. AI: RC - intro - F.Giorno Representação de Conhecimento Regras do Mundo Real
  • 29. AI: RC - intro - F.Giorno 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 de Planejamento 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 partida verifique a bateria. Toda pessoa que trabalha no setor privado tem direito a aposentadoria integral após 30 anos de contribuição e 60 anos de idade se for mulher ou após 35 anos de contribuição e 65 anos de idade se for homem. Anormalidade renal conduz a anormalidade na anatomia urológica. Infecção no trato urinário e anormalidade na anatomia urológica permitem concluir com 80% de certeza que a identidade do organismo é enterococcus. Regras no Mundo Real - exemplos em diferentes domínios
  • 30. AI: RC - intro - F.Giorno Estático Dinâmico Controle • regras de produção ou inferência Sistemas Computacionais • Estrutura de Dados • Modelo de Domínio • Fatos
  • 31. AI: RC - intro - F.Giorno Regras de Produção ou Inferência permitem representar conhecimento do mundo real passível de ser expresso na forma de regras Inferência proposição ou generalização derivada pelo raciocínio a partir de outras proposições ou da evidência.
  • 32. AI: RC - intro - F.Giorno Definem a lógica de uma aplicação de forma separada do modo como são processadas (encadeamento) Cada regra é: uma direção para fazer alguma coisa se alguma outra coisa for verdade SE < 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
  • 33. AI: RC - intro - F.Giorno Conduzem à Programação Baseada em Regras Estilo de programação que permite representar conhecimento relativo a um domínio de problemas de forma declarativa / procedimental por meio de regras independentes, não-ordenadas e separadas do modo como sã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 elas ocorrem, de forma independente do fluxo de controle, podendo ser executadas (disparadas), em uma ordem baseada na ordenação dinâmica destas alterações  definem a lógica de uma aplicação de forma separada do modo como são processadas (encadeamento) Regras de Produção ou Inferência
  • 34. AI: RC - intro - F.Giorno Condições de uma regra  são cláusulas, definindo condições (padrões) de regras - também chamadas de antecedentes da regra (LER) - passíveis de match com fatos e objetos 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-down Açõ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ção corrente de solução do problema – processando fatos e objetos Regra de Produção - condições e ações
  • 35. AI: RC - intro - F.Giorno Regra de Produção - nomenclaturas alternativas SE < 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 Regra LDR: Lado Direito da Regra Obs: < condição > é referida por < padrão > em alguns shells
  • 36. AI: RC - intro - F.Giorno SE a infecção é meningite ; condicão1 o tipo de infecção é bacteriana ; condição2 nenhum organismo foi diretamente identificado ; condição3 há disponibilidade de valores de análise sangüínea ; condição4 a contagem de leucócitos é menor que 2.500 ; condição5 ENTÃO os organismos que podem estar causando a infecção são: pseudomonas (.5) klebisiella (.5) e. coli (0.75) ; conclusão Exemplo de Regra em LN - MYCIN: regra 557
  • 37. AI: RC - intro - F.Giorno Exemplos de Modelagem
  • 38. 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 natural o motor de partida não aciona ENTÃO carregue ou substitua a bateria - ver seção 7-4 do Manual SE (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
  • 39. AI: RC - intro - F.Giorno “Para clientes que desejam investir uma quantia pequena em renda fixa, sem correr riscos, a recomendação deve ser poupança.” (regra de negócio) SE cliente deseja investir em renda fixa ; regra prod em LN cliente não deseja correr risco cliente não dispõe de grande quantia para investir ENTÃO cliente 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
  • 40. AI: RC - intro - F.Giorno “Se o período de consultoria previsto for superior a um mês, os consultores designados devem reportar-se diretamente ao cliente e resolver possíveis problemas relativos à pós-venda.” Representar a regra de negócio abaixo por regras de produção estruturadas por triplas OAV e variáveis (onde aplicáveis)
  • 41. AI: RC - intro - F.Giorno Processamento de Regras Pattern Matching (técnica básica IA)
  • 42. AI: RC - intro - F.Giorno Pattern Matching Função básica requerida pela maioria dos Sistemas de IA. É parte essencial de operações mais complexas de Sistemas de IA, tais como busca e controle. Pode consumir uma boa fração do tempo de processamento. Devido a isso, Sistemas de IA eficientes necessariamente incluem técnicas eficientes de matching.
  • 43. AI: RC - intro - F.Giorno Pattern Matching Operação essencial em diversos Sistemas de IA para: controle de uma seqüência de operações identificação ou classificação de objetos determinação de um dado valor no meio de diferentes alternativas recuperação de itens de uma Base de Dados . . .
  • 44. AI: RC - intro - F.Giorno Pattern Matching Usado 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 . . .
  • 45. AI: RC - intro - F.Giorno Pattern Matching Técnica que permite comparar expressões simbólicas para verificar se uma dada expressão é similar a outra. As expressões simbólicas (ou estruturas) comparadas podem representar 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.
  • 46. AI: RC - intro - F.Giorno Pattern Matching no Contexto de Sistemas de Produção Técnica que permite comparar cada condição (padrão) de uma regra de produção com fatos ou instâncias da MT: se for possível estabelecer a igualdade sintática entre a condição e um fato ou instância da MT a condição da regra torna se verdadeira para o fato ou instância comparado.
  • 47. AI: RC - intro - F.Giorno Pattern Matching O 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 sexto carácter. O mesmo ocorre com os strings: "acdebfba" e "acdebFba"
  • 48. AI: RC - intro - F.Giorno Pattern Matching Em casos mais complexos o processo de matching pode demandar transformações nos padrõ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 ?x seja 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 ser instanciada com 2 diferentes valores.
  • 49. AI: RC - intro - F.Giorno “Novos projetos de investimento com taxa de retorno estimada 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
  • 50. AI: RC - intro - F.Giorno MT . . . 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
  • 51. AI: RC - intro - F.Giorno Lista prioritizada, revisada a cada ciclo do MI, de cópias de regras (ativações) esperando para serem executadas Sempre que cada condição de uma regra de produção faz “match” com um fato ou um objeto da Memória de Trabalho (MT):  a regra torna-se apta para execução (disparo) e é ativada uma cópia da regra, chamada ativação, é criada e colocada na agenda  a execução (disparo) da regra, se ocorrer, implica que suas ações são executadas ou suas conclusões são atingidas Agenda
  • 52. AI: RC - intro - F.Giorno Agenda  revisada a cada ciclo do MI  pode ser examinada e monitorada em tempo de desenvolvimento, fornecendo subsídios para o aprimoramento do SBC em construção Exemplo: 0 r1 f-3 0 r35 f-11 obj52 0 r17 f-3 f-73 obj8 obj37
  • 53. AI: RC - intro - F.Giorno (defrule nomeDaRegra (declare (salience n)) ; n entre -  e +  . . . Excessive use of priorities to control rule activations can interfere with the "opportunistic" nature of an Expert System and should be avoided. Declarando Prioridade de uma Regra
  • 54. AI: RC - intro - F.Giorno SE inflação é alta ; LN ENTÃO preço de imóvel é alto r1-imovel: SE (economia inflacao alta) ; estrut OAV ENTÃO (assert (imovel preco alto) ) Execução (disparo) de Regra BC MT r1-imovel (economia inflacao alta) (imovel preco alto) Regras são executadas (disparadas) com base na regra de inferência lógica Modus Ponens A  B A B novo fato
  • 55. AI: RC - intro - F.Giorno Processamento de Regras Máquina de Inferência (MI) Base de Conhecimento (BC) Memória de Trabalho (MT)
  • 56. AI: RC - intro - F.Giorno MI BC MT regras estado corrente do sistema interpretador de regras Processamento de Regras
  • 57. 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 e inverso Processamento de Regras
  • 58. AI: RC - intro - F.Giorno Encadeamento Direto ou Progressivo (Forward Chaining)  Encadeamento de regras dos antecedentes para os conseqüentes  Demanda inicialização de dados (data-driven) Inicialização de Dados BD Resultados Encadeamento Direto
  • 59. AI: RC - intro - F.Giorno Reconhecimento match conds de regras vs dados Seleção Resolução de Conflitos Ação execução (disparo) da 1a regra da Agenda Critérios • mais prioritária • mais específica • mais recente • . . . dados: fatos, objetos . . . da MT Raciocinando com Regras: Ciclo de Encadeamento Progressivo
  • 60. 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 controle Reconhecimento antecedentes (condições) de regras são matched contra dados correntes (fatos e instâncias) da MT para identificar o conjunto de regras aptas para disparo no ciclo Seleção regras identificadas como aptas para disparo no ciclo são colocadas na agenda, ordenadas de acordo com critérios de Resolução de Conflitos Ação primeira regra da agenda é selecionada e executada: seus conseqüentes podem conter ações que alteram o estado corrente da MT influenciando os antecedentes de outras regras para o próximo ciclo Raciocinando com Regras: Ciclo de Encadeamento Progressivo
  • 61. AI: RC - intro - F.Giorno Encadeamento Progressivo - exemplo 1 Base de Conhecimento (BC) Memória de Trabalho (MT) r1: A r2: B Máquina de Inferência (MI)  B  C
  • 62. AI: RC - intro - F.Giorno Encadeamento Progressivo - exemplo 1 Base de Conhecimento (BC) Memória de Trabalho (MT) r1: A r2: B Máquina de Inferência (MI)  B  C A ; dado inicial B ; dado intermediário C
  • 63. AI: RC - intro - F.Giorno Encadeamento Direto - exemplo 2 A E G H C B r1: F & B Z r2: C & D F r3: A D MT: BC:
  • 64. AI: RC - intro - F.Giorno Encadeamento Direto - exemplo 2 A E G H C F B D Z A E G H C B A E G H C F B D A E G H C B D r1: F & B Z r2: C & D F r3: A D r1: F & B Z r2: C & D F r3: A D r1: F & B Z r2: C & D F r3: A D match match match executa executa executa A D C F B Z Cadeia de Inferência: r3 r2 r1Encadeamento: Resultado Final: Z MT:
  • 65. AI: RC - intro - F.Giorno Resolver Regras: r1: M -> R, S r2: F, E -> H r3: H -> G r4: R, E -> G r5: C, D -> F r6: A, B -> C Dados: A, B, D, E
  • 66. AI: RC - intro - F.Giorno Tempo quente e atmosfera úmida implicam a provável ocorrê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
  • 67. AI: RC - intro - F.Giorno r1: SE a taxa de juros diminui ENTÃO o preço das ações aumenta r2: SE a taxa de juros aumenta ENTÃO o preço das ações diminui 3 r3: SE a taxa de juros permanece inalterada ENTÃO o preço das ações permanece inalterado r4: SE o dólar aumenta ENTÃO a taxa de juros diminui r5: SE o dólar diminui 1 ENTÃO a taxa de juros aumenta 2 r6: SE o preço das ações diminui ENTÃO compre ações r7: SE o preço das ações aumenta ENTÃO invista em renda fixa Encadeamento Direto efetuado: r5 r2 r6 Conjuntura Econômica: taxa do dólar em declínio BC: Sistema de Apoio a Decisão Financeira
  • 68. AI: RC - intro - F.Giorno Programação Baseada em Regras  tem como ponto focal a solução do problema ao invés do fluxo de controle  simplifica manutenções  indicada para aplicações envolvidas com  exploração de grande número de opções (problemas altamente combinatórios)  processamento simbólico  legibilidade do conhecimento representado  apoio à decisão mesmo com informações incompletas ou incertas  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  . . .
  • 69. AI: RC - intro - F.Giorno Um paciente usando lentes duras por 3 anos ou mais ou lentes gelatinosas por 18 meses ou mais deve trocar as suas lentes por um novo par do mesmo tipo pois estas excederam o seu tempo médio de vida útil. Representar o conhecimento abaixo por regras de produção, passíveis de encadeamento, estruturadas por triplas OAV e variáveis (onde aplicáveis)
  • 70. AI: RC - intro - F.Giorno SE (lente tipo dura) (lente tempoUso ?t / (>= ?t 36)) ;;; em meses ENTÃO (assert (paciente recomendacao trocarLente)) SE (lente tipo gelatinosa) (lente tempoUso ?t / (>= ?t 18)) ;;; em meses ENTÃ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.")
  • 71. AI: RC - intro - F.Giorno Tratamento de Regras de Negócios
  • 72. AI: RC - intro - F.Giorno Regra de Negócio Declaração para se definir ou restringir algum aspecto do negócio. Tem como objetivo fazer valer a estrutura do negócio ou controlar ou influenciar o comportamento do negócio. Business Rule Group Regras de Negócios  São cidadãs de primeira classe no Mundo dos Requisitos;  Estão separadas do processo de negócios.
  • 73. AI: RC - intro - F.Giorno Regra de Negócio Como a empresa define suas políticas, seus procedimentos 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 de Planejamento Financeiro Executivo.  A retirada de uma conta pode ser feita somente se o saldo da conta for maior que zero.  Um cliente deve ser considerado de alto valor se é VIP; se tem saldo médio em sua conta corrente de ao menos X; se mantém a sua conta por mais que Y anos.  . . . As regras de negócio geralmente são alteradas várias vezes durante o desenvolvimento e após a implantação do sistema; portanto, flexibilidade e manutenibilidade são atributos cruciais.
  • 74. AI: RC - intro - F.Giorno Segundo Ross [2003]: A representação precisa das decisões do negócio é a maior vantagem no uso de Regras de Negócio. O envolvimento direto das pessoas do negócio na definição de sistemas de software é fundamental. Ross,R.G., Principles of the Business Rule Approach, Addison-Wesley, 2003.
  • 75. AI: RC - intro - F.Giorno Segundo Ross [2003], em um projeto de sistema de software deve-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 do negó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 o conhecimento do negócio.  RNs devem ser gerenciáveis. Ross,R.G., Principles of the Business Rule Approach, Addison-Wesley, 2003.
  • 76. AI: RC - intro - F.Giorno Categorias de Regras de Negócios Regras 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 Algoritmico Martin,J. and J.J.Odell, Object-Oriented Methods: A Foundation, cap.20, Prentice-Hall, 1998.
  • 77. AI: RC - intro - F.Giorno Abordagens para Implementar RNs aos Sistemas de SW  Programação Convencional e na forma de triggers e stored procedures 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 aplicado independente do método utilizado para o desenvolvimento de software.
  • 78. AI: RC - intro - F.Giorno Problemas com a Implementação de RNs A transposição ds RNs em código fonte ou estruturas do Banco de Dados está associada a problemas do tipo:  perda na semântica das regras;  instruções espalhadas por grande parte da aplicação, e sem ligação aparente entre si;  alteração difícil;  inexistência de documentação que indicaria os locais onde as regras se encontram no código fonte.
  • 79. AI: RC - intro - F.Giorno Problemas com a Implementação de RNs "A representação de RNs em código e seu conseqüente vínculo ao tempo de desenvolvimento e compilação das aplicações é a causa da grande dificuldade de alteração das RNs. Isto conduz a dificuldades como custo elevado, tempo desperdiçado e erros difíceis de localizar." Johnston,T., Business Rules, Meta Data and Late Binding, DM Direct News letter, DM Review Magazine, February 16, 2001. Disponível em <http://www.dmreview. com/article_sub.cfm?articleld=3066>. Acesso em 10/01/06.
  • 80. AI: RC - intro - F.Giorno Problemas com a Implementação de RNs "As RNs são normalmente implementadas no corpo dos diversos métodos de um objeto de negócio. Essa regras normalmente referem-se a outras regras e, conseqüentemente, aos objetos que as contêm. Muitas vezes, uma única regra pode ser implementada através de diferentes métodos, classes, módulos e camadas de uma aplicação, gerando uma rede de dependências difícil de localizar e alterar." Arsanjani,A., Rule Pattern Language: A Pattern Language for Adaptive Manners and Scalable Business Rule Design and Construction, In Proc. of the 39th Int´l Conf. and Exibition on Technology of Object-Oriented Languages and Systems (TOOLS´01), 2001.
  • 81. AI: RC - intro - F.Giorno Arquitetura de Três Camadas Objetos da Interface de Usuário Telas, Botões, ... Objetos do Modelo da Aplicação Cliente, Produto, ... Objetos de Mapeamento de BDs Cliente-map-1, Produto-map-1, ... GUI Data Base Nome Empregado EmpTab Nome Titulo Salario Jones Mgr 55K Smith VP 75K Título Salário nome titulo salario Modelo da Aplicação
  • 82. AI: RC - intro - F.Giorno Regras de Negócios GUI Data Base Modelo da Aplicação • Espalhadas • Na sintaxe do programa • Entrelaçadas (entwined) na lógica de controle
  • 83. AI: RC - intro - F.Giorno Regras de Negócios Modelo da Aplicação GUI Data Base • Centralizadas • Linguagem dos Negócios • Declarativas • Oportunísticas Motor de Inferência BC
  • 84. AI: RC - intro - F.Giorno Representação de Conhecimento Extensões Metaconhecimento, Metaregras e Rulesets Representação e Tratamento de Conhecimento Incerto
  • 85. AI: RC - intro - F.Giorno Metaconhecimento Conhecimento sobre o conhecimento acerca de um determinado problema ou domínio de problemas. isto é  conhecimento acerca do conteúdo, estrutura e uso do conhecimento do domínio [Davis e Buchanan, 1977; Davis, 1980]
  • 86. AI: RC - intro - F.Giorno Inclui  métodos de raciocínio, dedução e julgamento empregados em um domínio de aplicação durante o processo de solução de problemas.  informação relativa à seleção, organização e programação das atividades a serem executadas para a solução de uma tarefa específica. Guida e Tasso [1984] Metaconhecimento
  • 87. AI: RC - intro - F.Giorno  Inclui tudo que é disponível para adicionar ao conhecimento representado, proporcionando flexibilidade para a solução de problemas do domínio e indicando: – os limites do conhecimento do domínio representado; – os pontos fortes e fracos da representação de um determinado conhecimento; – 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 de raciocínios relativos a: – seleção de conhecimento relevante para a tarefa ativa de solução de problemas; – planejamento de estratégias adequadas de solução de problemas; – monitoração, avaliação e reparo ou melhoria do desempenho de um sistema. Boy [1991] Metaconhecimento
  • 88. AI: RC - intro - F.Giorno Um modo de incorporar metaconhecimento em Sistemas Baseados em Regras (SBRs) consiste em expressá-lo de forma algorítmica na Máquina de Inferência. Esse enfoque resulta em uma estrutura bastante rígida, especialmente na parte relativa às técnicas gerais de solução de problemas utilizadas. [Guida e Tasso, 1984]. Metaconhecimento - incorporação
  • 89. AI: RC - intro - F.Giorno Outro modo de incorporar metaconhecimento em SBRs consiste em expressá-lo por meio de metaregras, que são regras acerca de outras regras.  Metaregras permitem que o sistema monitore, analise e tome decisões em relação a sua própria operação, comportando-se como um observador externo. Com isso, o sistema pode raciocinar sobre o seu próprio escopo e as suas limitações, facilitando o tratamento de problemas complexos e de situações não previstas.  Metaregras, ao operarem sobre outras regras, permitem implementar controle. Elas influenciam diretamente o funcionamento do MI, melhorando a sua eficiência, ao definirem a aplicabilidade de certa regras, durante o ciclo de reconhecimento-escolha-ação, para determinadas situações. Metaconhecimento - incorporação
  • 90. AI: RC - intro - F.Giorno Metaregras - exemplos mr-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-refine SE a hipótese corrente tem um descendente não pesquisado ainda ENTÃO pesquise esse descendente mr-avaliacao-sob-risco ; habilita regras para enfocar investimentos de baixo risco ; para pessoas com idades avançadas SE a idade do investidor é maior que 65 anos E há regras que mencionam risco baixo em suas premissas E há regras que mencionam risco médio em suas premissas E há regras que mencionam risco alto em suas premissas ENTÃO use o primeiro conjunto de regras antes de tentar os demais
  • 91. AI: RC - intro - F.Giorno Sistema de Produção Estruturado Ruleset  Conjunto de regras com propriedades comuns, incluindo a habilidade de serem ativados ou desativados como um grupo e a designação de uma prioridade ao grupo, estabelecendo a ordem de disparo do grupo em relação a outros grupos.  A Máquina de Inferência encadeia subconjuntos de regras da Base de Conhecimento, sendo que nem todos os subconjuntos podem necessitar de avaliação. Benefícios  Permite implementar controle  Suporta dividir um problema em subproblemas
  • 92. AI: RC - intro - F.Giorno Representação e Processamento de Conhecimento Incerto SBRs permitem a incorporação de procedimentos que levam em conta incertezas, ruídos e subjetividades inerentes ao conhecimento. O termo conhecimento incerto, no contexto de SBRs, refere-se a diferentes 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ção inerentemente imprecisa
  • 93. AI: RC - intro - F.Giorno Representação e Processamento de Conhecimento Incerto Abordagens  Teoria da Probabilidade  Teoria da Evidência  Lógica Nebulosa  Fatores de Certeza
  • 94. AI: RC - intro - F.Giorno Representação e Processamento de Conhecimento Incerto Teoria da Probabilidade Abordagem robusta, mas não permite representar dados aproximados caracterizados por termos linguísticos ("médio", "alto"...) e impõe restrições de independência de dados e de perfeito conhecimento do espaço amostral (eventos mutuamente exclusivos e conjunto exaustivo de eventos).
  • 95. AI: RC - intro - F.Giorno Representação e Processamento de Conhecimento Incerto Teoria da Evidência [Dempster, 1967; Shafer, 1976] Corresponde a uma generalização da Teoria da Probabilidade, requerendo, por isso, eventos exaustivos e mutuamente exclusivos, sendo computacionalmente intratável em muitos casos (sem simplificações apreciáveis). Difere da Teoria da Probabilidade por não assumir que todos os resultados possíveis de um experimento possam ser observados de uma forma precisa. Foi elaborada com base matemática sólida para proporcionar raciocínio evidencial, na qual valores entre 0 e 1, correspondendo a graus de crença em fatos ou eventos, podem ser designados e manipulados.
  • 96. AI: RC - intro - F.Giorno Representação e Processamento de Conhecimento Incerto Lógica Nebulosa [Zadeh, 1983] Apresenta similaridade com a Lógica de Primeira Ordem, não exige os pressupostos das duas abordagens anteriores e permite tratar com várias fontes de incerteza de modo homogêneo e representar dados imprecisos e variáveis linguísticas que correspondam a termos de linguagens naturais. Dispõe também de métodos poderosos de dedução que manuseiam inferências aproximadas.
  • 97. AI: RC - intro - F.Giorno Representação e Processamento de Conhecimento Incerto Fatores de Certeza [Buchanan e Shortliffe, 1984] Abordagem para representar e tratar incertezas em uma base subjetiva 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 grau de certeza ou confiança em um evento (informação fornecida pelo usuário, condição de regra, ação de regra...) obtido com base em evidência ou em avaliações subjetivas. Valor +n indica certeza absoluta de verdade, -n certeza absoluta de falso e 0 incerteza absoluta se verdade ou falso. Por serem medidos de forma subjetiva, fatores de certeza são manuseados por métodos informais e comportam-se de forma diferente de valores probabilísticos, que representam medidas objetivas.
  • 98. AI: RC - intro - F.Giorno Representação e Processamento de Conhecimento Incerto Fatores de Certeza [Buchanan e Shortliffe, 1984] Abordagem computacionalmente simples para suportar a inclusão de estimativas de confiança associadas com eventos. Por outro lado, os resultados proporcionados por essa abordagem são relativamente pobres. Experimentos com objetivos de analisar a sensitividade de comportamento do sistema MYCIN, conduzidos por meio de alterações e posterior desligamento dos valores dos fatores de certeza especificados para esse sistema, revelaram que o conhecimento descrito nas regras contribuem muito mais para o resultado final do que os valores dos fatores de certeza associados com esse conhecimento.