• Nenhum resultado encontrado

2.2 Técnicas da IA Consideradas

2.2.4 Raciocínio Baseado em Casos

2.2.4.3 Etapas de Desenvolvimento de um Sistema de RBCa

O desenvolvimento de um RBCa é uma tarefa variável e não se encaixa facilmente numa metodologia genérica. Mesmo assim, tenta-se aqui apresentar algumas etapas que devem ser realizadas no desenvolvimento de um RBCa, e que quando resolvidas, modeladas e implementadas compreendem um sistema de RBCa. As etapas, em número de seis [37], são:

1. representação dos casos; 2. indexação;

3. recuperação dos casos; 4. adaptação,

5. aprendizagem; 6. análise da situação.

Pode-se imaginar esse conjunto de etapas como áreas de problemas a serem modeladas no desenvolvimento de um sistema de RBCa. Entretanto algumas dessas etapas são plenamente dispensáveis, dado que se pode desenvolver um sistema de RBCa que não realize adaptação ou aprendizagem, ou mesmo a análise da situação [39], Para estar-se tratando de um sistema de RBCa, basta que se esteja reutilizando informações de experiências passadas para resolver, prever, analisar ou diagnosticar uma experiência similar atual.

O problema da representação do caso envolve primordialmente a modelagem do próprio caso. O conjunto dos casos compreende a base de casos, que com suas inter-relações com o restante da estrutura do sistema de RBCa compreende a memória. Deve-se encontrar um equilíbrio entre métodos de armazenamento, que preservem a riqueza dos casos, e os índices e métodos que simplifiquem e agilizem o acesso e a recuperação. Portanto, o modelo de memória, que é a estrutura de organização de casos, deve ser cuidadosamente escolhido, pois dessa escolha muito dependem as questões de tempo computacional e eficiência. O modelo mais conhecido, segundo Aamodt e Plaza [36], é o modelo de memória dinâmica (dynamic memory model), desenvolvido por Schank, em 1982. Independentemente do modelo escolhido, há dois componentes básicos na representação dos casos, que são a descrição do problema (objetivos, restrições e características) e a descrição da solução (a própria solução, etapas do raciocínio, justificativas e expectativas), como num algoritmo, por exemplo. O resultado da aplicação da solução ao problema (feedback, explicação para o resultado, estratégia de reparo e ponteiro para a solução corretiva) é, às vezes, incluído como terceiro componente, dependendo do domínio da aplicação do sistema. Cada um desses componentes deverá ser composto de acordo com a necessidade.

A indexação é uma questão que pode ser bastante importante conforme a estrutura e conteúdo da memória. A memória deve ser indexada para proporcionar uma recuperação e reutilização eficientes. As características de um caso tomam-se índices que caracterizam um evento. A indexação é elaborada quando da definição dos casos, enquanto sua utilização prática se dá quando da recuperação. Algumas aplicações omitem a tarefa de indexação, pelo fato de não existir grande complexidade envolvida.

A etapa de recuperação consiste em fazer uma busca na memória de casos e selecionar quais poderão ser aproveitados, a partir de um problema a ser resolvido (problema de entrada). A busca por casos é feita por algoritmos que selecionam casos com determinada similaridade com relação ao problema de entrada. O resultado da busca é chegar a um conjunto de casos cujas características combinem com as do problema de entrada, de acordo com as definições de similaridades estabelecidas. Finalmente, um dentre esses casos deve ser escolhido como sugestão do sistema para solução do problema de entrada. O caso escolhido é normalmente tratado na literatura por “best-match” [12], Segundo Aamodt e Plaza [36], existem 3 maneiras de recuperar casos, a saber: buscando diretamente os índices das características, fazendo uma busca numa estrutura de índices e fazendo a busca em um modelo de conhecimento mais amplo.

Com maior nível de detalhe, pode-se organizar a etapa de recuperação através de alguns passos que podem ser considerados como subtarefas; a saber [40]: similaridade, métrica da similaridade, busca e seleção do “best-match’'. A primeira questão a ser estudada na etapa de recuperação é a similaridade entre o caso alvo (problema de entrada) e o caso na memória a ser comparado, ou seja, o que faz um caso ser similar ao outro. Essa questão só é possível de ser respondida dentro do domínio de conhecimento da aplicação. Quando a recuperação é do tipo que busca â similaridade diretamente comparando os índices, uma métrica de similaridade entre dois casos é usada para este cálculo. Normalmente, são atribuídas diferentes importâncias às características, e métodos de agregação como a média ponderada são utilizados. A busca é a etapa em que se dispara uma função que recupera os casos mais similares, de acordo com um limite de casos que podem ser recuperados ou com um limite de medida de similaridade para que sejam recuperados somente os casos que estejam dentro deste limite. A seleção do caso escolhido é a subtarefa final de recuperação, realizada segundo algum método de seleção (pergunta ao usuário, heurísticas ou regras) [37],

A etapa de adaptação, às vezes chamada de revisão e adaptação, refere-se ao momento de reutilização de um caso armazenado na memória, e significa modificar um caso para solucionar um problema de entrada, avaliando as diferenças entre os mesmos. Várias técnicas de IA podem ser consideradas para desempenhar a adaptação, entretanto regras representem , uma técnica simples e muitas vezes satisfatória. A etapa de adaptação é projetada simultaneamente a outras etapas. Quando da definição da modelagem dos casos, já sabe-se que tipo de adaptação pode ser necessária, pois a definição das características de ajuste prevê quais as possíveis discrepâncias ajustáveis. A etapa de adaptação é, assim como as outras

etapas vistas até aqui, fortemente dependente do contexto e do domínio da aplicação, por isso seu tamanho e complexidade é função direta desse fator. Pode-se ter um sistema de RBCa que não necessite da etapa de adaptação.

Na aprendizagem, assim que a adaptação é realizada, a solução do caso escolhido pode ser então retida para resolver novos problemas de entrada. Uma subtarefa de avaliação pode ser programada para execução automática ou com a participação do usuário. A avaliação tem por objetivo verificar a qualidade da solução adaptada ao problema de entrada para definir se esta tem condições de ser adicionada à memória. Finalmente, a inclusão do caso adaptado à base de casos encerra a etapa de aprendizagem.

A análise da situação, ou ajuste da situação, é empregado quando surge uma demanda de tratamento, por ser difícil para o usuário apresentar o problema de entrada dentro dos mesmos moldes de representação dos casos da base.

Documentos relacionados