raciocínio baseado em casos
Post on 01-Jul-2015
588 Views
Preview:
DESCRIPTION
TRANSCRIPT
CIÊNCIA DA COMPUTAÇÃO - FCG
Sistemas de Informação Inteligentes
Aula 07: Raciocínio baseado em casos
Prof.º Msc. Sidney Roberto de Sousa
Ciência da Computação - FCG 2
O que é?
Utilização de experiências passadas para entender e resolver problemas novos
Um ”raciocinador” se recorda de uma situação passada similar a atual e usa esta experiência para resolver o problema atual
Ciência da Computação - FCG 4
Exemplo
”Uma anfitriã está planejando um jantar para um conjunto de pessoas que inclui, entre outras, várias pessoas que não comem carne vermelha ou aves - onde um destes também é alérgico a derivados de leite, vários homens que adoram carne vermelha e batatas e, por fim, sua amiga Ana.
É época de tomates, logo ela quer utilizá-los como ingrediente principal no jantar. Como ela é a única responsável pela organização do jantar, ela se recorda dos seguintes fatos:
Houve uma vez, no verão, em que eu servi uma torta de tomates - feita com muçarela, tomates, mostarda, manjericão e pimenta – como prato principal. Nesta ocasião, os meus convidados eram vegetarianos. Esta torta foi muito prática de fazer! E deliciosa! Porém, eu não posso servir esta torta para a Eliana, pois ela é intolerante à lactose.
A Eliana me ensinou a adaptar algumas receitas que tinham queijo como ingrediente, substituindo-o por tofú. Apesar disso, eu não sei se a torta de tomates ainda seria deliciosa com esta substituição de ingredientes...”
Ciência da Computação - FCG 5
Exemplo
”A anfitriã decide não servir a torta de tomates e continua a planejar o seu jantar. Como é verão, ela opta por servir peixe grelhado, julgando que este prato seria uma boa pedida para a ocasião. Porém, agora ela se lembra de mais um fato:
Na última vez em que eu tentei servir peixe para a Ana, ela não quis comê-lo. Eu tive que preparar uns cachorros-quentes de última hora...
A princípio, isto a sugere a não servir o peixe grelhado, mas mesmo assim ela ainda insiste a servir este prato. Assim, ela pensa se existe ou não uma forma de servir peixe a Ana, de uma forma que ela aprecie comê-lo:
Eu me lembro de ter visto ela comer peixe em um restaurante. Que tipo de peixe eu devo servir a ela? O peixe que eu a servi da última vez foi preparado com a cabeça e tudo... O peixe que ela comeu no restaurante parecia mais com um bife do que um peixe. Eu preciso servir a ela um peixe com sabor e aparência mais próximos aos de carne vermelha ou de aves do que a de peixe. Talvez peixe-espada dê certo. Será que a Ana vai comer peixe-espada? Peixe-espada é mais parecido com frango e eu sei que ela gosta de frango.”
Ciência da Computação - FCG 6
Exemplo
Neste exemplo, anfitriã estava prestes a escolher a torta de tomates como prato principal, pois este prato era um forte candidato à boa apreciação culinária de seus convidados
Porém, sua amiga Ana – com o seu gosto mais exigente – acaba atrapalhando indiretamente os planos da anfitriã
Esta, por sua vez, utiliza exemplos e contra-exemplos de uma premissa (”Ana não come peixe”) para tentar derivar uma interpretação da premissa que resiste ao escrutínio
Ciência da Computação - FCG 7
Raciocínio Baseado em Casos (CBR)
A anfitriã hipotética emprega CBR a fim de planejar um jantar
No CBR, o ”raciocinador” se recorda de situações anteriores similares à atual e as utiliza para ajudar a resolver novos problemas
No exemplo anterior, os casos relembrados são utilizados para sugerir meios de se resolver um novo problema
Ciência da Computação - FCG 8
CBR é comum em nossas vidas
Ciência da Computação - FCG 9
CBR é comum em nossas vidas
Ciência da Computação - FCG 10
CBR é comum em nossas vidas
Ciência da Computação - FCG 11
CBR é comum em nossas vidas
Ciência da Computação - FCG 12
Uso da experiência
Geralmente, a segunda vez em que se tenta resolver um determinado tipo de problema é mais fácil do que a primeira → nos lembramos da primeira vez e da solução aplicada
Somos mais competentes na segunda vez pois recordamos de nossos erros os evitamos
Também somos mais competentes na segunda vez pois nos recordamos de soluções práticas e eficazes utilizadas no passado
Ciência da Computação - FCG 13
Qualidade do CBR
A qualidade de um raciocinador baseado em casos depende de quatro coisas
Suas experiências passadas Sua habilidade em entender situações novas em
termos destas experiências Sua adaptabilidade na adaptação Sua adaptabilidade na avaliação
Ciência da Computação - FCG 14
Processo de CBR para computação
CBR foi formalizado para raciocínio computadorizado em um processo de 4 etapas:
Recuperação Reuso Revisão Retenção
Ciência da Computação - FCG 16
Reuso
Mapeia-se a solução de casos anteriores para o problema alvo
Tal operação pode exigir a adaptação da solução do caso antigo para o caso novo
Ex.: quando a anfitriã pensava em servir novamente torta de tomates aos seus convidados, ela teria que substituir o queijo muçarela por tofú → dado que Ana é intolerante à lactose
Ciência da Computação - FCG 17
Revisão
Uma vez que uma solução antiga foi mapeada à situação alvo, testa-se a nova solução no mundo real ou em uma simulação
Caso necessário, revisa-se a nova solução Ex.: Digamos que ao substituir a muçarela por
tofú, este último não harmoniza bem com o sabor dos tomates, fazendo com que a torta tenha um sabor desagradável. Assim, deve-se revisar a receita, tomando alguma decisão a respeito da inclusão do tofú na torta
Ciência da Computação - FCG 18
Retenção
Uma vez que a solução foi adaptada com sucesso ao problema alvo, a experiência resultante deve ser armazenada como um novo caso na memória → vai para a base de casos
Ex.: Digamos que a anfitriã serve o seu peixe grelhado aos seus convidados no jantar e estes adoram o prato servido, o achando saboroso. Assim, a anfitriã agora sabe que este prato é uma boa pedida para se servir em um jantar com amigos no verão
Ciência da Computação - FCG 19
CBR com Prolog
Considere um sistema de diagnósticos para um consultório médico
O médico atende a vários pacientes no decorrer do tempo, onde cada paciente apresenta sintomas variados
Para cada paciente, o trabalho do médico é mapear seus sintomas para um mal/doença
Assim, tendo conhecimento do mal/doença do paciente, ele pode receitar um tratamento a este paciente
Ciência da Computação - FCG 20
Base de fatos (casos)
diagnostico('olhos avermelhados', 'conjuntivite').
diagnostico('olhos avermelhados', 'gripe').
diagnostico('coriza', 'gripe').
diagnostico('dor de cabeça', 'gripe').
diagnostico('nariz escorrendo', 'gripe').
diagnostico('febre', 'infecção').
diagnostico('dor de cabeça', 'infecção').
diagnostico('nariz escorrendo', 'infecção').
Ciência da Computação - FCG 21
Recuperando diagnósticos
1 ?- diagnostico('olhos avermelhados', X).
X = 'conjuntivite' ;
X = 'gripe' ;
No
Ciência da Computação - FCG 22
Cálculo simples de diagnóstico
calcula_diagnostico([], D).
calcula_diagnostico([S|L1], D) :-
diagnostico(S, D),
calcula_diagnostico(L1, D).
Ciência da Computação - FCG 23
CBR com Prolog
Assim, o médico pode utilizar suas experiências de diagnósticos para criar novos diagnósticos
Para que o CBR funcione, cada novo diagnóstico sucessivo deve ser adicionado à base de fatos → feedback relevance
A partir da base de fatos, diferentes regras podem ser criadas a fim de responder perguntas mais complexas
Ciência da Computação - FCG 24
Críticas ao CBR
Alguns cientistas argumentam que o CBR é uma abordagem que aceita evidências ”anedotais” como princípio principal de operação
Sem experiências relevantes, a generalização de soluções pode levar a respostas incorretas
CBR vs relevância estatística
Ciência da Computação - FCG 25
Vantagens do CBR
Permite ao raciocinador propor soluções a problemas rapidamente
Permite ao raciocinador propor soluções a domínios que ele não compreende totalmente
Fornece ao raciocinador meios para avaliar soluções quando não se tem métodos algorítmicos para resolver o problema alvo
Casos são particularmente úteis para utilização na interpretação de conceitos abertos e mal definidos
Casos ajudam um raciocinador a concentrar o seu raciocínio em partes importantes de um problema ao apontar as características relevantes de um problema
Ciência da Computação - FCG 26
Bibliografia
KOLODNER, J. L. An Introduction to Case-Based Reasoning. Artificial Intelligence Review, Vol. 6, pages 3-34, 1992.
Case-Based Reasoning. Disponível em http://tinyurl.com/2bxrmd. Acessado em 31/10/2012.
top related