Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf ·...

102
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE UM SISTEMA BASEADO NO CONHECIMENTO PARA AUXÍLIO NA ESCOLHA DE AUTOMÓVEIS Área de Inteligência Artificial por Valdir Antônio Luiz Junior Raimundo Celeste Ghizoni Teive, Doutor Orientador São José (SC), junho de 2007

Transcript of Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf ·...

Page 1: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

DESENVOLVIMENTO DE UM SISTEMA BASEADO NO CONHECIMEN TO PARA AUXÍLIO NA ESCOLHA DE AUTOMÓVEIS

Área de Inteligência Artificial

por

Valdir Antônio Luiz Junior

Raimundo Celeste Ghizoni Teive, Doutor Orientador

São José (SC), junho de 2007

Page 2: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

DESENVOLVIMENTO DE UM SISTEMA BASEADO NO CONHECIMEN TO PARA AUXÍLIO NA ESCOLHA DE AUTOMÓVEIS

Área de Inteligência Artificial

por

Valdir Antônio Luiz Junior Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Raimundo C. G. Teive, Doutor

São José (SC), junho de 2007

Page 3: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

ii

DEDICATÓRIA

Dedico este trabalho aos meus pais, que sempre me apoiaram e estiveram ao meu lado.

Page 4: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

iii

AGRADECIMENTOS

Á minha família, Valdir meu pai, Maria Salete minha mãe, Márcio meu irmão e Elaine

minha irmã, pela paciência, compreensão e apoio durante toda esta jornada.

Ao professor Raimundo Teive, que desde o início acreditou no trabalho, me orientou da

melhor maneira possível e enriqueceu esta obra com seu conhecimento.

À MG corretora de seguros, pela sua importante contribuição, através da disponibilização do

cálculo de seguro de cento e vinte e cinco modelos de automóveis.

A todos os meus amigos, que me apoiaram nos momentos mais difíceis, sempre me

encorajando a seguir em frente.

Agradeço a Deus, por permitir minha constante evolução através de novos desafios.

Por fim, agradeço a todos que de alguma forma, direta ou indireta, contribuíram para a

realização deste trabalho.

Page 5: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

iv

SUMÁRIO

LISTA DE ABREVIATURAS................................................................vii

LISTA DE FIGURAS ............................................................................viii

LISTA DE TABELAS..............................................................................ix

LISTA DE EQUAÇÕES...........................................................................x

RESUMO ..................................................................................................xi ABSTRACT .............................................................................................xii

1 INTRODUÇÃO...................................................................................13 1.1 PROBLEMATIZAÇÃO ................................................................................... 13 1.1.1 Formulação do Problema............................................................................... 14 1.1.2 Solução Proposta............................................................................................. 14 1.2 OBJETIVOS ...................................................................................................... 15 1.2.1 Objetivo Geral ................................................................................................. 15 1.2.2 Objetivos Específicos ...................................................................................... 15 1.2.3 Escopo e delimitação do trabalho.................................................................. 15 1.3 METODOLOGIA.............................................................................................. 16 1.4 ESTRUTURA DO TRABALHO ..................................................................... 17

2 FUNDAMENTAÇÃO TEÓRICA .....................................................18 2.1 TEORIA DA DECISÃO MULTICRITÉRIO .................... ............................ 18 2.1.1 Métodos Multicritério..................................................................................... 18 2.1.2 Apoio a Decisão Utilizando Metodologia Multicritério............................... 20 2.2 INTELIGÊNCIA ARTIFICIAL ............................ .......................................... 22 2.3 CONCLUSÃO.................................................................................................... 24

3 SISTEMAS BASEADOS NO CONHECIMENTO..........................25 3.1 INTRODUÇÃO ................................................................................................. 25 3.2 SISTEMAS ESPECIALISTAS ........................................................................ 26 3.2.1 Um Breve Histórico......................................................................................... 26 3.2.2 Conceitos e Características ............................................................................ 26 3.2.3 Sistemas especialistas e programas convencionais ...................................... 30 3.2.4 Sistemas especialistas e especialista humano ............................................... 32 3.2.5 Utilização de sistemas especialistas ............................................................... 33 3.2.6 Etapas de desenvolvimento ............................................................................ 34 3.3 RACIOCÍNIO BASEADO EM CASOS.......................................................... 36 3.3.1 Um breve histórico.......................................................................................... 36 3.3.2 Conceitos e características ............................................................................. 37 3.3.3 RBC e sistemas especialistas baseado em regras ......................................... 39 3.3.4 RBC e raciocínio humano .............................................................................. 40 3.3.5 Vantagens em utilizar RBC............................................................................ 40

Page 6: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

v

3.4 CONCLUSÃO.................................................................................................... 41

4 SISTEMA PROPOSTO......................................................................42 4.1 DESCRIÇÃO GERAL...................................................................................... 42 4.2 SISTEMA ESPECIALISTA............................................................................. 44 4.3 RACIOCÍNIO BASEADO EM CASOS.......................................................... 46 4.4 AQUISIÇÃO DO CONHECIMENTO............................................................ 48 4.5 REPRESENTAÇÃO DO CONHECIMENTO............................................... 50 4.5.1 Representação do conhecimento do RBC..................................................... 50 4.5.2 Representação do conhecimento do SE ........................................................ 51 4.6 LEVANTAMENTO DOS REQUISITOS ....................................................... 52 4.6.1 Requisitos Funcionais ..................................................................................... 53 4.6.2 Requisitos Não Funcionais .............................................................................53 4.6.3 Regras de Negócio ........................................................................................... 53 4.7 MODELAGEM DO SISTEMA........................................................................ 53 4.7.1 Diagramas de Casos de Uso ........................................................................... 54 4.7.2 Diagramas de Pacotes ..................................................................................... 58 4.7.3 Diagrama de Atividade................................................................................... 59 4.7.4 Diagramas de Seqüência................................................................................. 60 4.7.5 Prototipação de Interfaces ............................................................................. 63 4.8 SOFTWARES UTILIZADOS.......................................................................... 70

5 VALIDAÇÃO DO SISTEMA............................................................72 5.1 TESTE 1 ............................................................................................................. 72 5.2 TESTE 2 ............................................................................................................. 74 5.3 TESTE 3 ............................................................................................................. 76 5.4 TESTE 4 ............................................................................................................. 78 5.5 CONCLUSÃO.................................................................................................... 80

6 CONCLUSÕES...................................................................................81

REFERÊNCIAS BIBLIOGRÁFICAS ..................................................83 GLOSSÁRIO ...........................................................................................86

A REGRAS DO SISTEMA ESPECIALISTA......................................88 A.1 REGRAS PARA O TAMANHO DO PORTA-MALAS................................ 88 A.2 REGRAS PARA POTÊNCIA .......................................................................... 90 A.3 REGRAS PARA COEFICIENTE DO SEGURO .......................................... 90 A.4 REGRAS PARA O CONSUMO ...................................................................... 91

B CASO DU USO UC01 – LOGAR NO SISTEMA ............................93 C CASO DE USO UC02 – REALIZAR PESQUISA...........................95 D CASO DE USO UC03 – VISUALIZAR DETALHE .......................96 E CASO DE USO UC04 – INSERIR CASO NA BASE ......................97

Page 7: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

vi

F CASO DE USO UC05 – ATUALIZAR CASO NA BASE...............99 G CASO DE USO UC06 – EXCLUIR CASO DA BASE ..................101

Page 8: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

vii

LISTA DE ABREVIATURAS

ABS Antilock Braking System IA Inteligência Artificial RBC Raciocínio Baseado em Casos SE Sistema Especialista TCC Trabalho de Conclusão de Curso UNIVALI Universidade do Vale do Itajaí

Page 9: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

viii

LISTA DE FIGURAS

Figura 1. Processo de Apoio a Decisão Utilizando-se Metodologia Multicritério. ...........................20 Figura 2. Árvore de Pontos de Vista Para Escolha de Automóvel.....................................................22 Figura 3. Sistemas especialistas são sistemas baseados no conhecimento. .......................................27 Figura 4. Arquitetura de um sistema especialista típico.....................................................................29 Figura 5. Fases de desenvolvimento para construção de um sistema especialista.............................35 Figura 6. Modelo básico de raciocínio baseado em casos..................................................................38 Figura 7. Estrutura básica do sistema híbrido proposto. ....................................................................43 Figura 8. Árvore de decisão para o tamanho do porta-malas.............................................................45 Figura 9. Trecho de código da base de regras para o tamanho do porta-malas. ................................46 Figura 10. Exemplo de caso do sistema. ............................................................................................48 Figura 11. Diagrama de Casos de Uso do Controle de Acesso..........................................................54 Figura 12. Diagrama de Casos de Uso da Pesquisa. ..........................................................................55 Figura 13. Diagrama do Caso de Uso Realizar Pesquisa. ..................................................................56 Figura 14. Diagrama do Caso de Uso Visualizar Detalhe..................................................................56 Figura 15. Diagrama de Casos de Uso da Administração..................................................................57 Figura 16. Diagrama do Caso de Uso Inserir Caso na Base. .............................................................57 Figura 17. Diagrama do Caso de Uso Atualizar Caso na Base. .........................................................58 Figura 18. Diagrama do Caso de Uso Excluir Caso da Base. ............................................................58 Figura 19. Diagrama de Pacotes.........................................................................................................59 Figura 20. Diagrama do Caso de Uso Realizar Pesquisa. ..................................................................60 Figura 21. Diagrama de Seqüência da Pesquisa.................................................................................61 Figura 22. Diagrama do Caso de Uso Realizar Pesquisa. ..................................................................62 Figura 23. Diagrama do Caso de Uso Realizar Pesquisa. ..................................................................63 Figura 24. Tela de Login. ...................................................................................................................64 Figura 25. Tela de Pesquisa................................................................................................................65 Figura 26. Tela Resultado da Pesquisa...............................................................................................67 Figura 27. Tela de Detalhe. ................................................................................................................68 Figura 28. Administração...................................................................................................................69

Page 10: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

ix

LISTA DE TABELAS

Tabela 1. Comparação entre SE e programas convencionais.............................................................31 Tabela 2. Vantagens de SE em relação e um especialista humano ....................................................32 Tabela 3. Desvantagens de SE em relação e um especialista humano...............................................33 Tabela 4. Áreas de aplicação de sistemas especialistas .....................................................................34 Tabela 5. Categorias genéricas de aplicações de sistemas especialistas ............................................34 Tabela 6. Conjunto de atributos com valores subjetivos....................................................................44 Tabela 7. Conjunto de atributos que formam um caso.......................................................................47 Tabela 8. Conjunto de atributos para cada modelo ............................................................................50 Tabela 9. Campos da Tela de Pesquisa ..............................................................................................66 Tabela 10. Campos da Tela de Administração...................................................................................70 Tabela 11. Caso de entrada do teste 1 ................................................................................................72 Tabela 12. Resultados do teste 1 ........................................................................................................73 Tabela 13. Caso de entrada do teste 2 ................................................................................................74 Tabela 14. Resultados do teste 2 ........................................................................................................75 Tabela 15. Caso de entrada do teste 3 ................................................................................................76 Tabela 16. Resultados do teste 3 ........................................................................................................77 Tabela 17. Caso de entrada do teste 4 ................................................................................................78 Tabela 18. Resultados do teste 4 ........................................................................................................79

Page 11: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

x

LISTA DE EQUAÇÕES

Equação 1 ...........................................................................................................................................47 Equação 2 ...........................................................................................................................................47 Equação 3 ...........................................................................................................................................48 Equação 4 ...........................................................................................................................................49

Page 12: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

xi

RESUMO

LUIZ JUNIOR, Valdir Antônio. Desenvolvimento de um Sistema Baseado no Conhecimento para Auxílio na Escolha de Automóveis. São José, 2007. 85f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)–Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2007. O problema de tomada de decisão é algo que afeta todas as pessoas no dia-a-dia. Quanto mais aspectos e restrições existem no problema, mais complexa se torna a escolha. Problemas desse tipo são chamados de problema de decisão multicritério. A escolha de automóvel caracteriza-se como sendo um problema dessa natureza, pois são vários os elementos que levam uma pessoa a escolher entre um modelo e outro, consumo de combustível, potência do motor, conforto, acabamento, relação custo/benefício, espaço interno entre outros. Por isso, o presente TCC apresenta o desenvolvimento de uma ferramenta de apoio à tomada de decisão baseado no conhecimento. O trabalho apresenta um estudo sobre a teoria da decisão multicritério, inteligência artificial e sistemas baseados no conhecimento. Para que possa atender de forma satisfatória ao que se propõe, a ferramenta desenvolvida se utiliza de técnicas de Sistemas Especialistas e Raciocínio Baseado em Casos. O sistema disponibiliza uma interface de pesquisa, onde o usuário seleciona uma série de características do automóvel de acordo com o seu interesse. Em seguida, essas características informadas pelo usuário são transformadas por um SE em um caso de entrada. Este caso é submetido ao RBC, o qual retorna os modelos mais similares ao caso de entrada. Palavras-chave: Inteligência Artificial. Raciocínio Baseado em Casos. Sistemas Especialistas.

Page 13: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

xii

ABSTRACT

The decision making problem affects all the people in their ordinary lives. The biggest is the number of aspects and constraints involved in the problem, the more difficult is the choice. This kind of problem is called by multicriterion decision problem, which can be solved by multicriterion methods or artificial intelligence techniques. The automobile choice is characterized as being a problem of this nature. Therefore the deciion elements are several that take a person to choose between a model and another one, fuel consumption, power of the engine, comfort, finishing, relation cost/benefit, internal space among others. Then, this work presents the development of a tool of support the decision making process based on the knowledge. The work presents a study on the theory of the decision multicriterion, artificial intelligence and knowledge based systems. So He final product implemented was a hybrid system composed by Expert Systems and Case Based Reasoning techniques. The system offer a research interface, where the user selects a series of characteristics of the automobile in accordance with his interest. After that, these characteristics informed by the user are transformed by one Expert System into a case of entrance. This case is submitted to the Case Based Reasoning, which returns the models most similar to the request case. Keywords: Artificial intelligence. Case Based Reasoning. Expert Systems.

Page 14: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

1 INTRODUÇÃO

O primeiro passo para a solução de um problema é definir bem o mesmo, quanto menos

esclarecimento se tem sobre o problema, mais difícil será sua solução. Segundo Barreto (1999),

para se resolver um problema, é necessário ter algum conhecimento do domínio do problema e

utilizar alguma técnica de busca da solução. “Os peritos humanos são capazes de ter desempenhos

num nível muito alto, porque eles conhecem muito sobre suas áreas de expertise” (LUGER, 2004).

Portanto, é fundamental ter conhecimento sobre o domínio do problema a ser resolvido.

Os sistemas computacionais podem ser aplicados para diferentes fins, por exemplo, na

solução de problemas, onde se pode citar a Inteligência Artificial como uma das áreas da

computação que mais se dedica a esta finalidade. “A Inteligência Artificial se ocupa da resolução de

problemas e para tal é necessário conhecimento sobre o problema e técnicas de manipular este

conhecimento para obter a solução” (BARRETO, 1999).

Dentre as técnicas de Inteligência Artificial existentes, terão maior destaque neste trabalho

técnicas de sistemas especialistas e raciocínio baseado em casos (RBC). “Um sistema de

Inteligência Artificial criado para resolver problemas de um determinado domínio é chamado de

sistema especialista” (LEVINE, DIANE E DRANG, 1988). Giarratano e Rilley (1994) colocam a

área dos sistemas especialistas como sendo uma solução aproximada muito bem sucedida ao

problema clássico da Inteligência Artificial de programar a inteligência. “Raciocínio Baseado em

Casos é um enfoque para a solução de problemas e para o aprendizado baseado em experiência

passada” (WANGENHEIM, 2003).

Existem sistemas que são concebidos não com a ambição de resolver um problema, mas sim

com a função de dar apoio a decisão. Para Ensslin, Montibeller e Noronha (2001), tais sistemas

devem fornecer condições favoráveis para que os decisores comportem-se de tal forma que seja

possível aumentar a coerência da evolução do processo decisório e observar os sistemas de valores

dos decisores. Dentro deste contexto, este trabalho procura desenvolver com auxílio de técnicas de

Inteligência Artificial, um sistema Web de apoio à tomada de decisão para auxílio na escolha de

automóveis.

1.1 PROBLEMATIZAÇÃO

Page 15: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

14

1.1.1 Formulação do Problema

A cada ano que passa a indústria automobilística oferece novos modelos de automóveis ao

mercado, fato que gera um incremento nas opções disponibilizadas ao consumidor. Esse

crescimento contínuo muitas vezes confunde o consumidor, levando o mesmo a dedicar horas

coletando e comparando informações de diferentes modelos com amigos, em revendas e até mesmo

pela internet, tudo isso para minimizar a possibilidade de errar na compra. São vários os elementos

que levam uma pessoa a escolher entre um modelo e outro, consumo de combustível, potência do

motor, conforto, acabamento, relação custo/benefício, espaço interno, etc. Também há aqueles que

escolhem apenas pelo seu design ou status que o modelo oferece, ou ainda pelo valor do seguro,

caracterizando um problema de decisão multicritério.

O problema de tomada de decisão é algo que afeta todas as pessoas no dia-a-dia. Quanto

mais aspectos e restrições existem no problema, mais complexa se torna a escolha. O cérebro

humano consegue analisar no máximo três a cinco aspectos diferentes para comparação entre

alternativas. Em problemas mais complexos, envolvendo uma quantidade maior de aspectos,

restrições ou alternativas, é imprescindível a utilização de computadores.

No caso particular da escolha de um automóvel por parte de um usuário, este problema

deverá levar em consideração pelo menos seis atributos principais, que são referentes a custos,

potência, conforto, consumo, porta malas e segurança. Uma análise mais profunda mostra ainda que

alguns desses atributos podem ser subdivididos, um exemplo é o atributo relacionado a custos, que

pode ser dividido em custos de aquisição, seguro e manutenção, justificando a necessidade de

utilização de um sistema computacional.

1.1.2 Solução Proposta

O presente trabalho visa desenvolver uma ferramenta para auxiliar na decisão de compra de

um automóvel. Este sistema concentrará todas as informações necessárias sobre cada modelo de

automóvel, para que o consumidor possa minimizar o tempo investido na pesquisa dos modelos que

atendam as suas necessidades. Para que o sistema possa cumprir seu papel com eficiência, o mesmo

deve conter o máximo de informações possível sobre cada modelo de automóvel, minimizando a

chance do usuário não encontrar a informação desejada sobre um determinado modelo. Será ainda

desenvolvido para a Web, de modo que possa ser facilmente disponibilizado. A escolha do tema

deu-se em virtude do interesse do pesquisador em automóveis e em sistemas de inteligência

Page 16: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

15

artificial. O sistema será desenvolvido para ambiente Web de modo que possa ser disponibilizado

em sites especializados no ramo.

Para maximizar o suporte ao usuário, o sistema não se limitará a disponibilizar informações

sobre os vários modelos de automóveis disponíveis no mercado, mas irá ranquear os modelos que

melhor atendam as necessidades do usuário. Para que o sistema possa conhecer estas necessidades,

o usuário deverá atribuir pesos às diferentes características do veículo. Após coletar essas

informações do usuário, o sistema se utilizará de técnicas de inteligência artificial para identificar

na sua base de dados os modelos que melhor atendam aos critérios informados pelo usuário.

1.2 OBJETIVOS

1.2.1 Objetivo Geral

Este trabalho tem como objetivo geral desenvolver o protótipo de um sistema Web de apoio

à tomada de decisão baseado no conhecimento para auxílio na escolha de automóveis.

1.2.2 Objetivos Específicos

• Modelar o problema identificando a forma de representação do conhecimento;

• Analisar as técnicas de Sistemas Especialistas (SE) e Raciocínio Baseado em Casos

(RBC) e identificar a que melhor se aplica ao problema;

• Desenvolver o sistema proposto;

• Validar o sistema utilizando-se dados reais;

1.2.3 Escopo e delimitação do trabalho

Este trabalho não tem como objetivo desenvolver um sistema que decida pelo usuário, mas

sim, auxiliar a tomada de decisão ranqueando as melhores opções de acordo com os critérios

selecionados pelo usuário. O sistema se limitará a trabalhar com uma base de dados dos modelos

das quatro principais montadoras de automóveis nacionais, que são Chevrolet, Ford, FIAT e

Volkswagen.

Page 17: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

16

1.3 Metodologia

Para a execução do trabalho, foram adotados os procedimentos técnicos de pesquisa

bibliográfica e descritiva. A pesquisa bibliográfica procura explicar um problema a partir de

referências teóricas publicadas em documentos (CERVO e BERVIAN, 1996). Essas técnicas de

pesquisa bibliográfica foram utilizadas para se obter informações sobre Inteligência Artificial e

particularmente Sistemas Baseados no Conhecimento (SBC), sobretudo técnicas de Raciocínio

Baseado em Casos e Sistemas Especialistas. Esta pesquisa foi realizada com o intuito de obter o

conhecimento sobre algumas das técnicas de IA e estabelecer qual delas melhor se aplica para

solucionar o problema proposto. A pesquisa descritiva observa, registra, analisa e correlaciona fatos

ou fenômenos (variáveis) sem manipulá-los (CERVO e BERVIAN, 1996). Esta técnica foi adotada

durante a fase validação do sistema desenvolvido.

O primeiro passo foi a definição do problema a ser abordado pelo trabalhado, apresentada no

capítulo 1, de modo que se pudesse definir quais os objetivos a serem alcançados pelo trabalho.

Uma vez estabelecido o problema e os objetivos, foram pesquisadas tecnologias que poderiam ser

utilizadas na resolução do problema.

No capítulo 2, houve uma grande imersão no estudo da teoria da decisão multicritério, que

se mostrou diretamente ligada ao problema proposto pelo trabalho, que refere-se ao auxílio na

escolha de automóveis. Em seguida realizou-se uma pesquisa sobre inteligência artificial, pesquisa

essa que levou a conclusão de que era viável o uso de técnicas de inteligência artificial para solução

de problemas de decisão multicritério.

Para resolver o problema proposto, era necessário formar uma base de conhecimento sobre

automóveis, desta forma, foi preciso fazer um estudo sobre sistemas baseados no conhecimento. O

resultado desse estudo encontra-se no capítulo 3, dando enfoque principal para as técnicas de

sistemas especialistas e raciocínio baseado em casos, por as técnicas a serem utilizadas no trabalho.

Concluído o embasamento teórico, iniciou-se a concepção do sistema, apresentada no

capítulo 4. A primeira etapa desta fase foi a aquisição e representação do conhecimento, a qual foi

uma das etapas mais árduas de todo o processo, sendo difícil executar a coleta e organização das

informações de forma satisfatória. Esta etapa envolveu pesquisa em sites de montadores,

publicações especializadas e especialista em automóveis, além de um especialista em seguros. O

resultado desta etapa foi uma base de regras para o SE e uma base de casos para o RBC.

Page 18: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

17

Ainda no mesmo capítulo, foi feita a análise de requisitos, especificação dos casos de uso,

diagrama de pacotes e de atividades. Além dos protótipos de interface. Para o desenvolvimento do

sistema, optou-se por uma arquitetura multiplataforma e voltada para o ambiente Web, de modo que

o sistema possa ser facilmente disponibilizado, utilizando-se a linguagem de programação Java e o

servidor de aplicações Tomcat.

1.4 Estrutura do trabalho

O trabalho encontra-se dividido em cinco capítulos. O Primeiro capítulo é a introdução,

onde apresenta-se uma descrição geral do trabalho, seus objetivos e a metodologia utilizada. O

segundo capítulo trata da fundamentação teórica, onde é apresentada a teoria da decisão

multicritério e a inteligência artificial. No terceiro capítulo, apresenta-se um estudo sobre sistemas

baseados no conhecimento, com enfoque principal para os sistemas especialistas e para o raciocínio

baseado em casos. O capítulo quatro descreve o sistema proposto, onde é apresentado o processo de

aquisição e modelagem do conhecimento, a modelagem do sistema, e a prototipação de interface. O

quinto e ultimo capítulo apresenta as conclusões, trazendo um apanhado geral do trabalho,

principais dificuldades encontradas e ferramentas utilizadas.

Page 19: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo apresenta uma visão teórica sobre Inteligência Artificial e Teoria da Decisão

Multicritério.

2.1 TEORIA DA DECISÃO MULTICRITÉRIO

O problema da escolha de compra de um carro, ou de qualquer outro bem, é naturalmente

um problema de decisão multicritério, onde o decisor escolherá a alternativa mais apropriada ao seu

perfil de consumo, considerando vários atributos (características) para cada alternativa. Neste caso,

a teoria multicritério, a qual permite o modelamento do problema e do perfil do decisor, está

diretamente ligada aos sistemas baseados no conhecimento, os quais por sua vez, também

possibilitam a modelagem do problema e do perfil do decisor (preferências).

Uma decisão é dita bem estruturada se o tomador de decisão puder identificar todos os

elementos do processo de decisão e os qualificar para determinar uma resposta (THIERAUF, 1982).

Em problemas de decisão complexos, podem ser necessários vários critérios para a tomada de

decisão final. As metodologias monocritério, que em geral são utilizadas na Pesquisa Operacional

tradicional, consideram um único aspecto envolvido no processo decisório. Esse tipo de abordagem

limita o decisor a avaliar apenas um aspecto do problema, dificultando a análise de problemas com

mais de uma variável.

2.1.1 Métodos Multicritério

De acordo com Ensslin, Montibeller e Noronha (2001), os métodos multicritérios

consideram mais de um aspecto e, portanto, avaliam as ações segundo um conjunto de critérios.

Cada critério é uma função matemática que mede a performance das ações potenciais com relação a

um determinado aspecto. Os métodos multicritérios permitem ao decisor considerar

simultaneamente diferentes aspectos do problema a ser resolvido.

O propósito da teoria da decisão multicritério (STEWART E HONERT, 1998), é auxiliar os

decisores a conhecer seus problemas, gerar alternativas e tomar as decisões, resolvendo desse modo

seus problemas. A teoria da decisão multicritério (FANDEL E SPRONK, 1985), geralmente se

refere aos métodos que habilitam um usuário a agregar diversos critérios de avaliação a fim de

Page 20: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

19

selecionar uma ou diversas ações. Mas estas expressões referem-se também as atividades de suporte

a decisões para um tomador de decisão.

De maneira geral, a seqüência de procedimentos da tomada de decisão (HWANG E LIN,

1987) inclui as seguintes fases:

• A fase de preparação, onde é definido qual o propósito específico da decisão a ser

tomada.

• A fase de seleção consiste em usar vários métodos para eliminar as alternativas

inadequadas.

• A fase de avaliação inclui rever a aplicação das alternativas qualificadas.

• A fase de decisão define a melhor alternativa de acordo com os insumos da avaliação.

Um dos métodos de decisão multicritério mais conhecidos é o método de análise hierárquica

(AHP). De acordo com Stewart e Honert (1998), a AHP é uma metodologia multicritéio discreta

onde são utilizadas comparações aos pares para derivar pesos relativos dos critérios e alternativas

em consideração. Esse método foi um assunto de muita controvérsia no meio científico,

particularmente sobre a questão dele aparentemente ser a causa do ranking reverso em algumas

circunstâncias.

Para a utilização de diversos critérios na solução de um problema, é necessário estabelecer

as relações de dominância entre eles, onde o decisor define suas preferências atribuindo um grau de

relevância para cada um dos critérios envolvidos no problema. Ensslin, Montibeller e Noronha

(2001), apresentam as seguintes abordagens para classificar os métodos multicritérios:

• Abordagem de critério único de síntese: nesta abordagem cada critério é transformado

em uma função de valor, o que define quanto uma determinada ação fornece de

utilidade, com relação ao aspecto que está sendo medido naquele critério. Os pontos

negativos dessa abordagem são o nível elevado de informações extras e perguntar

questões muito complexas ao decisor.

• Abordagem da subordinação de síntese: baseia-se na idéia de uma relação de

subordinação entre as ações. Se os decisores definirem que uma ação a é pelo menos tão

boa quanto uma ação b, então se considera que a subordina b. A ordem de preferência

Page 21: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

20

das alternativas será então determinada através da análise das relações de subordinações

entre elas.

• Abordagem do julgamento local interativo: diferentemente das abordagens anteriores,

esta não realiza uma agregação das performances da ação em cada um dos critérios,

visando determinar sua performance global. Esta abordagem baseia-se em uma

seqüência de julgamentos, realizados pelos decisores, sobre a performance requerida

localmente em um determinado critério.

2.1.2 Apoio a Decisão Utilizando Metodologia Multicritério

Com base no que foi visto a respeito dos métodos multicritério, é possível afirmar que o

problema da escolha de automóveis caracteriza-se como sendo desta natureza, não sendo possível

resolvê-lo com técnicas monocritério. Esta afirmação é válida ao se considerar que em geral uma

pessoa analisa diferentes aspectos na escolha de um automóvel.

Como o objetivo do trabalho é um sistema de apoio à decisão, será visto de forma

abrangente como é a estrutura de um sistema de apoio a decisão utilizando-se uma metodologia

multicritério. Em suma o um processo dessa natureza possui quatro etapas principais, conforme

apresentadas na Figura 1.

Figura 1. Processo de Apoio a Decisão Utilizando-se Metodologia Multicritério.

Fonte: Adaptado de Ensslin, Montibeller e Noronha (2001).

Page 22: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

21

A primeira etapa do processo é a identificação do contexto decisório. Nessa etapa são

identificados todos os atores envolvidos no processo decisório e escolhidos os decisores que

participarão na construção do modelo. Também são definidas as ações disponíveis, que são na

verdade as alternativas. No contexto da escolha de automóveis essas ações seriam os modelos de

automóveis disponíveis no mercado. Ainda na identificação do contexto decisório, encontra-se a

definição da problemática de referência. Ensslin, Montibeller e Noronha (2001) apresentam as

seguintes problemáticas de referência:

• Problemática de descrição, utilizada quando o decisor pretende descrever as ações e suas

características de maneira formalizada.

• Problemática da alocação em categorias, consiste em classificar as ações em categorias.

• Problemática da escolha, consiste em escolher uma ação ou um conjunto restrito de

ações.

• Problemática da ordenação, nesta é feita uma ordenação das ações em termos de

preferência.

• Problemática da rejeição absoluta, onde o decisor define regras que se não forem

cumpridas pelas ações, as eliminam do conjunto de ações possíveis.

A segunda etapa é a estruturação do problema. Dentro desta etapa, é realizada a construção

de mapas cognitivos, sendo que um mapa cognitivo nada mais é do que uma forma de representar o

problema do decisor. Em seguida é feita a análise do mapa cognitivo, que consiste na transição do

mapa cognitivo para o modelo multicritério. Essa Análise pode ser classificada em análise

tradicional e análise avançada, sendo que a primeira baseia-se apenas na forma do mapa, enquanto a

análise avançada baseia-se não só na forma, mas também no conteúdo do mapa cognitivo. Ainda na

estruturação do problema, encontra-se a determinação dos pontos de vista fundamentais (PVF), que

consiste em definir quais os pontos de vista que serão considerados no modelo multicritério, criando

com isso uma árvore de pontos de vista fundamentais.

A estruturação do modelo multicritério, que forma a terceira etapa do processo, visa

construir um critério para cada ponto de vista fundamental. Nesta etapa do processo, um ponto de

vista fundamental pode ser decomposto em um conjunto de pontos de vista elementares. Para cada

ponto vista fundamental, verifica-se a necessidade de decompor o mesmo em pontos de vista

elementares. Em seguida são construídos os critérios do modelo, onde para cada critério é definido

Page 23: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

22

um descritor para mensurar o ponto de vista, e uma função de valor associada ao descritor. Para o

problema da escolha de automóveis, a Figura 2 apresenta a árvore de pontos de vista proposta por

Ensslin, Montibeller e Noronha (2001).

Figura 2. Árvore de Pontos de Vista Para Escolha de Automóvel.

Fonte: Adaptado de Ensslin, Montibeller e Noronha (2001).

A etapa final do processo é a avaliação das ações potenciais e a análise dos resultados do

modelo. Para tal, o primeiro passo é a avaliar a performance das ações em cada ponto de vista, em

seguida é feita a agregação das taxas de substituição, que servem para converter as performance

locais dos critérios em performance global. Também é necessário analisar a sensibilidade das

respostas do modelo frente a variações dos seus parâmetros, o que nos dá insumos para geração de

estratégias para melhoria das ações potenciais.

2.2 INTELIGÊNCIA ARTIFICIAL

De acordo com Russell e Norvig (2004), o termo Inteligência Artificial (IA), surgiu num

seminário em Dartmouth no ano de 1956, quando John McCarthy sugeriu o termo para definir o

campo de estudo de redes neurais, teoria dos autômatos e no estudo da inteligência.

Uma vez conhecida a origem do termo, falta apresentar uma definição para o mesmo. Na

literatura há vários conceitos para definir inteligência artificial, dos quais, torna-se interessante citar

alguns a titulo de exemplo:

Page 24: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

23

“Inteligência Artificial (IA) pode ser definida como o ramo da ciência da computação que

se ocupa da automação do comportamento inteligente” (LUGER, 2004).

“A inteligência artificial é a área da ciência da computação focada no desenvolvimento de

sistemas computacionais para simular os processos de resolução de problema e para duplicar as

funções do cérebro humano” (TUTHILL, 1989).

“A Inteligência Artificial (IA) é simplesmente uma maneira de fazer o computador pensar

inteligentemente” (LEVINE, DIANE E DRANG, 1988).

Considerando que a IA é uma ciência cujas raízes estão no processo de pensamento do ser

humano, é interessante entender a inteligência humana antes de tentar compreender a inteligência

artificial.

A Inteligência humana segundo Levine, Diane e Drang (1988), compõe-se dos seguintes

elementos:

• Objetivos: todo pensamento humano nos ajuda a atingir um objetivo.

• Fatos e Regras: Para resolver um problema, a mente humana se utiliza de todos os fatos

e regras conhecidos por ela inerentes ao problema.

• Poda: Uma vez definido o problema e estabelecido o conhecimento referente a ele, a

poda se encarrega de eliminar todos os pensamentos que não são relevantes para se

atingir o objetivo.

• Mecanismo de inferência: Baseado nas regras disponíveis e visando atingir o objetivo,

busca encontrar a melhor maneira de se atingir o objetivo. Muitas vezes para se alcançar

um objetivo, é necessário dividir o mesmo em uma seqüência de objetivos menores, que

juntos levam ao alcance do objetivo principal.

Estes elementos que compõem a inteligência humana, também são utilizados na IA. Dentre

os variados domínios de aplicação da inteligência Artificial, tais como processamento de linguagem

natural, base de dados inteligente, robótica, etc., será tratado o domínio de problemas de decisão, o

qual vem ao encontro do objetivo deste trabalho. Dewhurst e Gwinnett (1990), defende o uso de IA

no apoio a tomada de decisão, onde comenta que é possível ver os sistemas especialistas, e

Page 25: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

24

possivelmente outras técnicas do IA, como ferramentas adicionais disponíveis ao analista da

decisão.

As técnicas de IA voltadas para problemas de decisão mais conhecidas são o raciocínio

baseados em casos (RBC) e os chamados sistemas especialistas (SE), sendo que ambas as técnicas

são utilizadas para desenvolver sistemas baseados no conhecimento. O RBC organiza o

conhecimento em uma base de casos, sendo capaz de recuperar os casos que mais se assemelham ao

problema a ser resolvido. Os SE por sua vez, tratam o conhecimento de maneira diferente,

organizando o mesmo em regras que são utilizadas para encontrar a solução ideal para um

determinado problema. Como as principais técnicas de IA utilizadas em problemas de decisão são

voltadas para o desenvolvimento de sistemas baseados no conhecimento, será apresentado no

próximo capitulo um estudo mais aprofundado sobre sistemas dessa natureza.

2.3 CONCLUSÃO

Baseado no que foi apresentado, fica claro que o problema da escolha do automóvel,

caracteriza-se como um problema de decisão multicritério. Pela natureza do problema e pelas

técnicas a serem utilizadas, o sistema a ser desenvolvido pode ser classificado como sistema

baseado no conhecimento. Mesmo utilizando duas técnicas distintas de IA, cabe ressaltar

novamente que o objetivo do trabalho não é tomar a decisão, mas sim auxiliar o decisor no processo

decisório.

Page 26: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

3 SISTEMAS BASEADOS NO CONHECIMENTO

3.1 INTRODUÇÃO

O primeiro passo para entender o que são sistemas baseados no conhecimento, é conhecer o

significado da palavra conhecimento. Mattos (1991) considera o conhecimento como sendo tudo

que um indivíduo “sabe” sobre um universo específico em dado momento. Nonaka e Takeuchi

(1997) classificam o conhecimento humano em dois tipos. Um é o conhecimento explícito, que

pode ser articulado na linguagem formal, inclusive em afirmações gramaticais, expressões

matemáticas, especificações, manuais e assim por diante. Esse tipo de conhecimento pode ser então

transmitido, formal e facilmente.

O conhecimento explícito serve como base para desenvolver o conhecimento tácito, que é

difícil de ser articulado na linguagem formal e ao mesmo tempo é um tipo de conhecimento mais

importante. É o conhecimento pessoal incorporado à experiência individual e envolve fatores

intangíveis como, por exemplo, crenças pessoais, perspectivas e sistemas de valor. Considerando os

dois tipos de conhecimento, pode-se afirmar que os sistemas baseados no conhecimento trabalham

com conhecimento explícito (fatos) e tácito (regras ou casos). Essa afirmação é valida ao

considerar-mos que na aquisição do conhecimento, é possível explicitar o conhecimento tácito do

especialista do domínio.

De acordo com Mattos (1991), a inteligência artificial conseguiu um sucesso considerável

no desenvolvimento de sistemas baseados conhecimento. A representação computacional do

conhecimento humano é o alicerce para o desenvolvimento dos chamados sistemas baseados no

conhecimento. Sistemas dessa natureza geralmente possuem um escopo reduzido, sendo

desenvolvidos para trabalhar em um domínio específico.

“Um sistema computacional que use o conhecimento sobre algum domínio para chegar a uma solução para um problema desse domínio. Esta solução é essencialmente a mesma que aquela concluída por uma pessoa especialista sobre o domínio do problema quando confrontada com o mesmo problema” (GONZÁLEZ e DANKEL, 1993).

Para Carrico (1989), os sistemas baseados no conhecimento são sistemas computacionais

que estruturaram o conhecimento sobre um campo de expertise. Eles podem resolver alguns

problemas dentro de seu domínio de atuação usando o conhecimento derivado dos peritos na área.

Page 27: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

26

Fortalecendo a importância de sistemas baseados no conhecimento, Alty e Coombs (1984),

afirmam que a incorporação do conhecimento explícito do domínio em programas de resolução de

problemas provou ser de grande importância prática e teórica.

3.2 SISTEMAS ESPECIALISTAS

3.2.1 Um Breve Histórico

Os sistemas especialistas (SE) surgiram na década de 60, época em que Ledenberg,

Buchanan e Feigenbaum iniciaram o DENDRAL, um sistema especialista capaz de determinar

estruturas moleculares a partir de dados da massa espectral (LIEBOWITZ, 1988). No mesmo

período surgiram também o SAINT de James Slagle, que resolvia problemas de cálculo integral

típicos do primeiro ano dos cursos acadêmicos e o STUDENT de Daniel Bobrow que solucionava

problemas clássicos de álgebra (RUSSELL e NORVIG, 2004).

Um dos sistemas especialistas amplamente referenciados na literatura é o MYCIN, criado

por Edward Shortliffe na Universidade de Stanford. Esse sistema que foi desenvolvido na metade

da década de 70 e segundo Harmon e King (1985), foi o primeiro grande sistema especialista

executado no nível de um especialista humano e que fornecia aos usuários uma explicação de seu

raciocínio. O MYCIN é um sistema especialista de diagnóstico de doenças infecciosas do sangue e

meningite através de um conjunto de aproximadamente 500 regras (DURKIN, 1994).

Logo após o MYCIN, começou a surgir um grande interesse das empresas em desenvolver

sistemas especialistas. Esse interesse foi demonstrado por empresas como a Xerox, IBM, Hewlett-

Packard, General Motors, entre outras (LIEBOWITZ, 1988).

3.2.2 Conceitos e Características

Existem várias definições de Sistemas Especialistas na literatura, onde cada autor procura

enfatizar o aspecto que considera mais importante. Alguns exemplos de definições são apresentados

a seguir:

“Os sistemas especialistas são uma área da inteligência artificial que faz uso extensivo do

conhecimento especializado para resolver problemas no nível de um especialista humano”

(GIARRATANO E RILEY, 1994).

Page 28: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

27

“Um programa de computador projetado para modelar a habilidade de um especialista

humano de resolver problemas” (DURKIN, 1994).

“Os sistemas especialistas são construções de software que os peritos em campos específicos

enriquecem com seu conhecimento” (CHORAFAS, 1988).

“Um sistema especialista é um programa de computador que emula o comportamento de

especialistas humanos dentro de um domínio específico de conhecimento” (LIEBOWITZ, 1988).

Estas citações apresentam algumas das definições para sistemas especialistas encontradas na

literatura. Embora haja diferentes conceitos, é possível observar que de maneira geral as definições

têm certa convergência. Elas apontam sistemas especialistas como sendo programas de computador

concebidos para se comportarem como especialistas humanos na solução de problemas em um

domínio específico de conhecimento.

Citou-se anteriormente que sistemas especialistas, inteligência artificial e sistemas baseados

no conhecimento são termos correlacionados, falta agora definir qual a relação entre eles. A Figura

3 apresenta essa relação (WATERMAN, 1886).

Figura 3. Sistemas especialistas são sistemas baseados no conhecimento.

Fonte: Waterman (1986).

Analisando a figura 3 é possível observar que todo sistema especialista é um sistema

baseado no conhecimento, porém a relação contrária não é necessariamente verdadeira. Os sistemas

baseados no conhecimento por sua vez compõem uma subárea no campo da inteligência artificial.

Page 29: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

28

Basicamente um sistema baseado no conhecimento é composto de três componentes

principais (TEIVE, 1997):

• Base de conhecimento – Elemento que armazena o conhecimento abstrato.

Normalmente, esta base é conhecida como base de regras onde o conhecimento abstrato

é armazenado em um conjunto de regras de produção do tipo:

Se (situação) → Então (conclusão ou ação).

• Memória de trabalho – É o elemento que armazena o conhecimento concreto, ou seja, o

conhecimento que pode ser considerado fato antes de processo de inferenciação. Esta

memória é de caráter transitório, pois novos fatos estão sendo acrescentados

continuamente ou fatos existentes são excluídos.

• Motor de inferência – É considerado o processador ou interpretador de conhecimento.

Sua principal função é combinar o conhecimento abstrato contido na base de regras, com

o conhecimento concreto armazenado na base de fatos, inferindo conclusões e gerando

novos fatos.

No entanto, uma análise um pouco mais profunda, permite identificar outros componentes

importantes em um sistema especialista. Além dos elementos citados, podem estar presentes o

editor da base de conhecimento e o subsistema de explanação, como mostra a Figura 4 (LUGER,

2004). O editor da base de conhecimento é o meio por onde são feitos os ajustes atualizações na

base de conhecimento do sistema. O subsistema de explanação permite ao sistema especialista

apresentar o raciocínio que levou ao resultado.

Page 30: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

29

Figura 4. Arquitetura de um sistema especialista típico.

Fonte: Adaptado de Luger (2004).

O motor de inferência é responsável pelo processo de inferir novos fatos a partir de

informações já existente. Esse processo é conhecido como inferenciação ou encadeamento (TEIVE,

1997). Existem dois tipos, o encadeamento para frente e o encadeamento para trás.

O encadeamento para frente, é usado para resolver um problema, quando os dados ou as

idéias básicas forem o ponto inicial, ou seja, parte dos fatos para encontrar a solução. Este tipo de

encadeamento segue do antecedente de uma regra para o conseqüente, sendo assim o fluxo básico

para busca da solução.

O encadeamento para trás, possui uma hipótese como ponto inicial, e a partir desta trabalha

para trás, indo do conseqüente de uma regra para o antecedente, a fim de encontrar fatos que

suportem as hipóteses levantadas, no intuito de atestar a veracidade destas hipóteses.

Antes de decidir investir em um sistema especialista, é necessário conhecer suas vantagens

para saber até que ponto é válido o uso de um SE. Dentre os fatores que pesam a favor do uso de

sistemas especialistas, Giarratano e Rilley (1994) destacam as seguintes vantagens:

Page 31: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

30

• Maior disponibilidade – A expertise (experiência) esta disponível em qualquer hardware

apropriado.

• Custo reduzido – O custo para fornecer a expertise por usuário é extremamente baixo.

• Redução de riscos – Os sistemas especialistas podem ser usados em perigosos para um

ser humano.

• Permanência – O conhecimento do sistema especialista durará indefinidamente.

• Múltipla expertise – O conhecimento de vários especialistas pode ser disponibilizado

para trabalhar simultaneamente.

• Maior confiabilidade – Os sistemas especialistas aumentam a confiança de que a decisão

correta foi tomada fornecendo uma segunda opinião a um especialista humano, ou

resolvem uma discordância entre vários especialistas humanos.

• Explicação – Os sistemas especialistas podem explicar detalhadamente o raciocínio que

levou a conclusão.

• Resposta rápida – Dependendo do software e do hardware, um sistema especialista pode

ser mais rápido e mais disponível que um especialista humano.

• Invariável, imparcial, sempre termina a resposta – Muito importante em situações de

tempo real e de emergência.

• Tutor inteligente – O sistema especialista pode agir como um tutor inteligente, deixando

o aluno executar programas de exemplo e explicando o raciocínio do sistema.

• Base de dados inteligente – Sistemas especialistas podem ser utilizados para acessar base

de dados de maneira inteligente.

Um sistema especialista usa conhecimento específico de um domínio de problema para

conseguir um desempenho com “qualidade de perícia” naquela área de aplicação (LUGER, 2004).

Outra característica dos sistemas especialistas é o uso de métodos heurísticos para solução de

problemas.

3.2.3 Sistemas especialistas e programas convencionais

A grosso modo, os programas convencionais manipulam dados, enquanto que os sistemas

especialistas manipulam conhecimento. Enquanto a programação convencional usa rotinas para

Page 32: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

31

manipular dados, os sistemas especialistas utilizam a heurística para trabalhar com o conhecimento.

A expressão clássica (GIARRATANO e RILEY, 1994) para definir um programa se apresenta da

seguinte forma:

DADOS + ALGORITMOS = PROGRAMA

Essa expressão estabelece que um programa é formado de algoritmos, composto de todas as

rotinas necessárias para manipular uma massa e dados.

O surgimento dos sistemas especialistas veio acompanhado de um conceito importante: O

conhecimento. Esse novo elemento foi um dos responsáveis por fazer com que fosse criada uma

expressão diferente para definir os sistemas especialistas. Com isso, os sistemas especialistas

passaram a ser definidos pela expressão (GIARRATANO e RILEY, 1994):

CONHECIMENTO + INFERENCIA = SISTEMA ESPECIALISTA

Através da mesma analogia utilizada na expressão anterior, é possível colocar um SE como

um sistema que se utiliza de um mecanismo de inferência para manipular um determinado volume

de conhecimento.

Dentre as diferenças entre um programa convencional e um sistema especialista, a Tabela 1

apresenta quatro principais apontadas por Waterman (1886).

Tabela 1. Comparação entre SE e programas convencionais

Programa Convencional Sistema Especialista Representação e uso de dados Representação e uso de conhecimento Algoritmos Heurística Processo representativo Processo de inferência

Manipulação efetiva de grandes bases de dados Manipulação efetiva de grandes bases de conhecimento

Fonte: Waterman (1986).

A tabela mostra que os sistemas especialistas trabalham com conhecimento, enquanto que os

programas convencionais trabalham com dados, outra diferença apresentada ainda é a introdução de

heurística no primeiro, em contrapartida ao uso de algoritmos pelo segundo.

Page 33: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

32

3.2.4 Sistemas especialistas e especialista humano

Quando se pensa em sistemas especialistas normalmente surge a pergunta: Os sistemas

especialistas podem substituir um especialista humano? De maneira geral os sistemas especialistas

são vistos como um assistente inteligente, visão esta que não deve se alterar pelo menos a curto

prazo. Keller (1991) explica que certamente, nenhum sistema especialista substituirá alguém até que

sua base de conhecimento amadureça, o que pode levar algum tempo.

Uma característica importante dos sistemas especialistas é a sua capacidade de explicar ao

usuário o raciocínio que levou a determinada resposta para o problema. Essa capacidade de

explicação é necessária de modo que o usuário possa questionar e desafiar os resultados do sistema

especialista, assim como compreender como os resultados foram conseguidos (LIEBOWITZ,

1988). Além da capacidade de explanação, a incerteza e os fatores humanos devem também ser

incorporados nos sistemas especialistas. Mesmo o especialista não é certo 100% do tempo, assim,

um sistema especialista deve manipular a incerteza.

A comparação de um sistema especialista com um especialista humano permite identificar

certas vantagens que podem justificar a utilização de um SE. A Tabela 2 apresenta alguns

benefícios de um SE em relação a um especialista humano levantadas por Waterman (1986).

Tabela 2. Vantagens de SE em relação e um especialista humano

Especialista Humano Sistemas Especialistas Perecível Permanente Difícil de transferir Fácil de transferir Difícil de documentar Fácil de documentar Imprevisível Consistente Caro Baixo custo

Fonte: Waterman (1986).

Certamente um sistema especialista não apresenta apenas vantagens em relação a um

especialista humano. Este também possui suas desvantagens, decorrentes da incapacidade dos

computadores de emular todas as potencialidades da inteligência humana. A Tabela 3, obtida de

Waterman (1886), apresenta as principais desvantagens encontradas na comparação entre um SE e

especialista humano.

Page 34: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

33

Tabela 3. Desvantagens de SE em relação e um especialista humano

Especialista Humano Sistemas Especialistas Criativo Sem inspiração Adaptativo Necessita de comando Experiência sensorial Entrada simbólica Visão ampla Foco estreito Bom senso Conhecimento técnico

Fonte: Waterman (1986).

3.2.5 Utilização de sistemas especialistas

Não há uma regra básica para definir quando usar ou não sistemas especialistas. O que

existe é um conjunto de fatores que devem ser observados, para saber se é viável e valido o uso de

SE. Porém, seu uso não é indicado em casos onde o conhecimento especializado é muito difícil de

ser ensinado. Waterman (1986) aponta as seguintes características que indicam que o uso de

sistemas especialistas é apropriado:

• A tarefa requer manipulação simbólica.

• A tarefa requer solução heurística.

• A tarefa não é fácil.

• A tarefa tem valor prático.

• A tarefa é de tamanho realizável.

“As situações onde exista uma alta rotatividade de especialistas são candidatas ideais para a

tecnologia dos sistemas especialistas” Keller (1991).

A aplicação de sistemas especialistas pode ser dividida por áreas, que vão desde agricultura

até tecnologia espacial. A Tabela 4 apresenta uma relação com as possíveis áreas de aplicação de

acordo com Waterman (1886).

Page 35: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

34

Tabela 4. Áreas de aplicação de sistemas especialistas

Áreas de aplicação para sistemas especialistas Agricultura Manufatura Química Matemática Sistemas computacionais Medicina Eletrônicos Meteorologia Engenharia Ciência militar Geologia Física Gestão da informação Controle de processos Direito Tecnologia espacial

Fonte: Waterman (1986).

Além das áreas de aplicação, os sistemas especialistas podem ser classificados também em

categorias de aplicação de acordo com a sua finalidade. A Tabela 5, obtida de Waterman (1886),

apresenta uma relação de categorias genéricas de aplicações de sistemas especialistas.

Tabela 5. Categorias genéricas de aplicações de sistemas especialistas

Categoria Problema específico Interpretação Inferir as descrições da situação dos dados de um sensor Predição Inferir as prováveis conseqüências de determinadas situações. Diagnóstico Inferir o mau funcionamento dos sistemas observados Design Configurar objetos sob limitações Planejamento Projetar ações Monitoramento Comparar resultados observados com resultados previstos Correção de erros Prescrever soluções para maus funcionamentos Reparo Executar planos para administrar soluções prescritas Instrução Diagnosticar, corrigir erros e reparar o comportamento do aluno. Controle Controlar o comportamento total do sistema

Fonte: Waterman (1986).

Analisando-se a tabela 4 e a tabela 5, é possível afirmar que há uma gama considerável de

possibilidades para se utilizar sistemas especialistas, podendo variar de áreas como agricultura até

áreas mais complexas como tecnologia espacial.

3.2.6 Etapas de desenvolvimento

O que é apresentado aqui não se trata das etapas tradicionais de desenvolvimento de

software encontradas na literatura de engenharia de software. Será apresentado de forma macro as

fases do processo de desenvolvimento de um SE. Nestas etapas, destacam-se as atividades

Page 36: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

35

relacionadas a aquisição e representação do conhecimento. A Figura 5, adaptada de Waterman

(1886), apresenta as etapas de desenvolvimento.

Figura 5. Fases de desenvolvimento para construção de um sistema especialista.

Fonte: Waterman (1986).

• Identificação – Nesta fase, o engenheiro do conhecimento define em conjunto com o

especialista as características importantes do problema. Na identificação são definidos o

tipo e o escopo do problema. Também são selecionados os especialistas que irão

participar do desenvolvimento e os recursos requeridos.

• Concepção – Fase em que o engenheiro do conhecimento em conjunto com o

especialista, decide que conceitos, relações e mecanismos de controle são necessários

para gerar a solução do problema. Esta etapa também pode ser chamada de aquisição do

conhecimento.

• Formalização – Diz respeito a como o conhecimento será formalizado. A forma que será

feita a representação do conhecimento necessário para a solução do problema. Nesta

etapa o engenheiro do conhecimento utiliza ferramentas específicas para iniciar a

formalização do conhecimento. Conhecida como fase de representação do

conhecimento.

• Implementação – É nesta etapa que o engenheiro do conhecimento aplica o

conhecimento formalizado na construção do sistema propriamente dito. Esta construção

é feita a partir de três requisitos: conteúdo, forma e integração. O conteúdo vem do

conhecimento do domínio explicitado na fase de formalização. A forma se traduz na

Page 37: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

36

linguagem escolhida para desenvolver o sistema. Por fim, a integração é quando se faz a

combinação e reorganização de várias partes conhecimento. Isso é feito para eliminar

erros de combinação entre dados estruturados e regras.

• Testes – Nesta etapa é feita a avaliação da performance do sistema. Dentre as atividades

desta fase, vale destacar o refinamento e validação da base de conhecimento.

Estas são as etapas macro do desenvolvimento de um sistema especialista, sendo que cada

uma dessas fases pode se dividir em várias outras etapas menores para se atingir o objetivo final.

3.3 RACIOCÍNIO BASEADO EM CASOS

3.3.1 Um breve histórico

As raízes do raciocínio baseado em casos (RBC) na Inteligência Artificial foram inspiradas

nos trabalhos de Schank e Abelson sobre a memória dinâmica e no modelo cognitivo de uma função

central de lembrança de situações passadas (casos e memória episódica) e de padrões de situações

(WANGENHEIM, 2003).

O primeiro sistema de raciocínio baseado em casos foi o CYRUS, desenvolvido em 1983

por Janet Kolodner na Yale University. CYRUS é um sistema de perguntas e respostas que integra

o conhecimento obtido da descrição de várias viagens e reuniões do ex-secretário de estado dos

Estados Unidos, Cyrus Vance. De acordo com Wangenheim (2003), o modelo de memória de casos

desenvolvido para este sistema serviu, mais tarde, como base para vários outros sistemas de RBC,

dentre eles:

• MEDIATOR – Desenvolvido por Robert L. Simpson em 1985, foi criado para resolver

situações de conflito, tentando encontrar uma solução de consenso. Caso a proposta não

satisfazer as partes envolvidas, o sistema armazena a falha para não repeti-la e propõe

uma nova solução.

• CHEF – Sistema destinado a criar receitas culinárias. Foi criado por Kristian J.

Hammond em 1986. É capaz de criar novas receitas culinárias a partir de receitas já

existentes. Tem como característica importante a explicação de falhas.

• PERSUADER – Foi desenvolvido em 1987 por Sycara, possui certa semelhança com o

MEDIATOR por também atuar na solução de conflitos. No entanto, os conflitos tratados

Page 38: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

37

pelo sistema de Sycara estão restritos a disputas trabalhistas entre empregado e

empregador. Para uma determinada disputa salarial, recupera e adapta contratos salariais

utilizados por empresas similares.

• CASEY – Desenvolvido por Phyllis Koton em 1989, é um sistema que diagnostica

problemas cardíacos. Tem como entrada os sintomas do paciente e produz a explicação

causal da cardiopatia adaptando descrições de outros pacientes com sintomas similares.

• JULIA – T. R. Hinrichs desenvolveu este sistema em 1992 para trabalhar com o

planejamento de refeições. O sistema utiliza casos para orientar a elaboração de uma

nova refeição, respeitando as restrições propostas no problema.

Estes são apenas alguns exemplos de sistemas que utilizam RBC, os quais permitem uma

percepção da vasta área de aplicação para desta técnica, podendo variar de culinária a medicina,

entre outros.

3.3.2 Conceitos e características

Os sistemas de raciocínio baseado em casos (RBC) possuem, na hierarquia das áreas de IA,

a mesma classificação dada aos sistemas especialistas de acordo com a Figura 3. Sendo assim, da

mesma forma que os SE, todo sistema de RBC é um sistema baseado no conhecimento e pertence a

este campo da inteligência artificial. A seguir apresentam-se alguns dos vários conceitos

encontrados na literatura para definir RBC:

“Um raciocinador baseado em casos resolve problemas novos adaptando as soluções que

foram usadas para resolver problemas passados” (SCHANK e RIESBECK, 1989).

“Raciocínio Baseado em Casos é um enfoque para a solução de problemas e para o

aprendizado baseado em experiência passada” (WANGENHEIM, 2003).

“O raciocínio baseado em casos usa o conhecimento armazenado como traços de

experiências de resolução de problemas precedentes” (KOLODNER e RIESBECK, 1986).

Basicamente, um sistema de RBC tem o seguinte funcionamento: A partir de um

determinado problema, procura em sua base de casos quais os casos semelhantes ao problema,

utilizando para isso a similaridade. Em seguida o sistema adapta os casos recuperados para propor a

Page 39: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

38

solução do problema. A Figura 6, obtida de Wangenheim (2003), ilustra o modelo básico de um

sistema de RBC.

Figura 6. Modelo básico de raciocínio baseado em casos.

Fonte: Adaptado de Wangenheim (2003).

Para entender o funcionamento de um RBC é necessário entender o que é um caso neste

contexto. Um caso segundo Wangenheim (2003) é uma peça de conhecimento contextualizado

representando uma experiência ou episódio concretos, sendo composto geralmente dos seguintes

itens:

• Problema – Descreve o problema que foi resolvido, podendo conter inclusive

características do ambiente que tiveram alguma participação na escolha da solução.

• Solução – Contem a descrição de como o problema foi resolvido, podendo ser uma

informação útil ao usuário, um plano ou uma ação.

Dentre as principais etapas de um sistema de raciocínio baseado em casos, Oliveira (1997)

destaca as seguintes: Representação dos casos, recuperação dos casos, adaptação e aprendizagem.

• Representação dos casos – Define como os casos serão representados no sistema, qual a

estrutura a ser utilizada. De acordo com Pal e Shiu (2004), uma base de casos pode

representar muitos tipos diferentes de conhecimento que podem ser armazenados de

várias formas. A representação pode variar desde pares atributo-valor para os casos mais

comuns até redes ou grafos para casos mais complexos.

Page 40: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

39

• Recuperação dos casos – Segundo Wangenheim (2003) o objetivo da recuperação de

casos é encontrar um caso ou um pequeno conjunto de casos na base de casos que

contenha uma solução útil para o problema ou situação atual. A recuperação é feita

através da similaridade entre o problema de entrada e os problemas armazenados na base

de casos.

• Adaptação – SILVA (1997) explica que adaptação é a fase onde um caso é modificado

para solucionar o problema de entrada. Para isso são avaliadas as diferenças entre o

problema escolhido e o problema de entrada.

• Aprendizagem – A aprendizagem pode ser de duas formas. Uma é quando uma nova

informação é adicionada a um caso após a sua utilização. A outra é quando ocorre a

inclusão de novos casos na base de casos.

3.3.3 RBC e sistemas especialistas baseado em regras

A abordagem do raciocínio baseado em casos pode ser contrastada com a usada em sistemas

baseados em regras. Nos sistemas baseados em regras, o conhecimento é organizado em regras

produzidas na forma: SE A, ENTÃO B, onde A é uma condição e B é uma ação. Se a condição A

for verdadeira, a ação B será realizada. A condição A pode ser uma condição composta que

consiste, por exemplo, em uma junção das premissas A1, A2... An.

Além disso, um sistema baseado em regras tem um motor de inferência que compara os

dados que estão na memória de trabalho com as condições das regras para determinar que regras

eliminar. Os sistemas baseados em regras utilizam regras para capturar o conhecimento

estereotipado. Uma outra característica desses sistemas é que requerem alguém para adquirir o

conhecimento simbólico, que é representado nestas regras usando a engenharia de conhecimento

manual ou ferramentas automatizadas da aquisição de conhecimento.

Os sistemas de raciocínio baseado em casos, em muitas situações são uma alternativa aos

sistemas baseados em regras. Em muitos domínios, consultar os casos como um meio do raciocínio

pode ser uma vantagem devido à natureza deste tipo de resolução de problema.

Um dos aspectos que mais consomem tempo no desenvolvimento de sistemas baseados em

regras é a tarefa da aquisição de conhecimento. Adquirir a informação específica do domínio e

convertê-la em alguma representação formal pode ser uma tarefa enorme e em algumas situações,

Page 41: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

40

onde os domínios são pouco compreendidos, a formalização do conhecimento não pode ser feita por

completo.

Os sistemas baseados em casos geralmente requerem menos aquisição de conhecimento, que

envolve coletar um conjunto de experiências passadas sem a necessidade adicional de extrair um

modelo formal do domínio destes casos (PAL e SHIU, 2004). Em muitos domínios há casos

insuficientes para extrair um modelo do domínio, e este é um outro benefício do RBC: Um sistema

pode ser criado com uma quantidade pequena de experiência e ser desenvolvido de forma

incremental, adicionando mais casos à base do caso quando estes se tornam disponíveis.

3.3.4 RBC e raciocínio humano

Os processos que compõem o raciocínio baseado em casos podem ser vistos como uma

reflexão de um tipo particular de raciocínio humano. Em muitas situações, os problemas que os

seres humanos encontram são resolvidos com um equivalente humano do RBC.

Quando uma pessoa encontra um problema novo, geralmente consulta a uma experiência

passada de um problema similar. Esta experiência precedente pode ser tanto da pessoa que se

deparou com o novo problema, quanto uma experiência vivida por outra pessoa.

Em geral, o raciocínio baseado em casos é referenciado como sendo aplicado à resolução de

problemas. O RBC também pode ser usado de outras maneiras, dentre elas, discutir um ponto da

vista. Este tipo de raciocínio é muito comum no domínio jurídico, apresentando outra maneira de

como o raciocínio baseado em casos pode ser executado.

Por exemplo, um advogado discute um ponto na corte fazendo referências a casos passados.

Os sistemas de RBC podem consultar uma base de casos contendo o caso de cortes e encontrar os

casos que têm as características similares a situação atual. A similaridade pode satisfazer todo o

caso ou somente determinados pontos. Podem ser descobertos casos que suportem algumas partes

do caso atual ao se oporem a outras. Segundo Pal e Shiu (2004) os sistemas de RBC que executam

este tipo de tarefa podem ser chamados de raciocinadores interpretativos.

3.3.5 Vantagens em utilizar RBC

Entre os benefícios no uso de raciocínio baseado em casos, Pal e Shiu (2004) apontam as

seguintes vantagens:

Page 42: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

41

• Reduz a tarefa de aquisição do conhecimento.

• Evita repetir os erros cometidos no passado.

• Fornece flexibilidade na modelagem do conhecimento.

• Permite o raciocínio em domínios que não foram inteiramente compreendidos, definidos,

ou modelados.

• Aprendizado constante.

• Raciocínio em um domínio com um volume pequeno de conhecimento.

• Raciocínio com dados e conceitos incompletos ou imprecisos.

• Evita repetir todas as etapas que necessitam ser feitas para chegar a uma solução.

• Pode explicar o raciocínio que levou a solução proposta.

• Aplicável a diferentes finalidades.

• Aplicável a uma larga escala de domínios.

• Reflete o raciocínio de um ser humano.

Conforme apresentado nesta seção, a técnica de RBC é apropriada para problemas onde o

decisor não tem idéia exata do que escolher. Seria basicamente a situação onde alguém vai comprar

um automóvel e não sabe exatamente qual o preço exato do mesmo, qual média de consumo o

mesmo deverá fazer, qual potência de motor, etc.

3.4 CONCLUSÃO

O estudo apresentou duas importantes técnicas de inteligência artificial. De acordo com o

que foi apresentado, pode-se afirmar que a técnica mais indicada para a solução do problema de

escolha de automóvel é o RBC. Devido a grande quantidade de variáveis a serem consideradas para

solucionar o problema, a implementação de um sistema especialista exigiria uma quantidade muito

grande de regras, as quais teriam alta complexidade. Outro fato importante a favor do RBC, refere-

se a atualização da base de conhecimento, pois é mais simples realizar essa tarefa em uma base de

casos do que em uma base de regras. No entanto essas técnicas não são excludentes, elas podem ser

utilizadas em conjunto, cada qual com um objetivo específico, a fim de alcançar um objetivo maior.

Page 43: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

4 SISTEMA PROPOSTO

Este capítulo apresenta o projeto do sistema a ser desenvolvido. Aqui encontra-se uma

descrição geral do sistema, o processo de modelagem do conhecimento, os requisitos levantados, os

diagramas de caso de uso, diagramas de pacote, diagramas de atividade, diagramas de seqüência e a

prototipação de interface.

4.1 DESCRIÇÃO GERAL

De maneira geral um sistema especialista é baseado em regras. No entanto, o estudo mostrou

que organizar o conhecimento sobre os diferentes modelos de automóveis somente em forma de

regras não é a solução mais adequada. A pesquisa revelou que o mais apropriado para construir um

sistema que auxilie na escolha de automóveis, é armazenar o conhecimento em forma de casos,

onde cada modelo de automóvel corresponde a um caso. O encadeamento de regras é utilizado

complementarmente, neste sistema, para realizar a conversão dos termos usados pelos usuários em

linguagem técnica.

Outro aspecto que deve ser observado no sistema, é que o usuário nem sempre conhece a

linguagem técnica utilizada no domínio de automóveis. Por exemplo, o usuário sabe que precisa de

um carro utilitário e econômico, mas não tem obrigação de saber qual o consumo de um automóvel

considerado econômico dentro da categoria de automóveis desejada.

Outro exemplo seria o caso do usuário querer um porta-malas grande, mas não ter idéia de

quantos litros cabem no mesmo. Pode ser observado nos dois exemplos, que são situações

diferentes da utilização de um dicionário de Thesaurus de um sistema RBC, sendo um pouco mais

complexo, pois envolve necessidade de se fazer inferências.

Para solucionar esse problema, será desenvolvido um sistema especialista que fará a

conversão da linguagem de usuário para a linguagem técnica, gerando assim o caso de entrada para

o RBC. Para o exemplo citado, o SE irá converter a entrada do usuário em um valor que represente

o consumo de um automóvel considerado econômico naquela categoria.

Neste caso, o que se está propondo neste trabalho é um sistema baseado no conhecimento

híbrido, consistindo de um sistema especialista, o qual será a base do sistema de suporte a decisão

proposto, alimentado pelo sistema RBC, mais um conjunto de regras necessárias ao conversor

Page 44: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

43

linguagem coloquial – linguagem técnica. O sistema híbrido proposto está representado de forma

esquemática na Figura 7.

Figura 7. Estrutura básica do sistema híbrido proposto.

A partir da entrada fornecida pelo usuário, o controlador identifica se há algum valor

subjetivo e em caso afirmativo, envia esses valores para o sistema especialista para que sejam

convertidos em valores lógicos. Em seguida, o controlador recebe esses valores convertidos pelo

sistema especialista e gera um caso de entrada, que é enviado para o RBC. Na seqüência, o RBC

recupera os casos mais similares em relação ao caso de entrada. Após a recuperação, é feito um

ranking com os casos retornados, ordenados por similaridade. A lista com o ranking dos casos

retornados é encaminhada para o controlador, que em seguida envia os dados para a tela de retorno

do sistema, a qual é apresentada ao usuário.

Vale ressaltar que o sistema proposto não tem como objetivo a busca por modelos

específicos automóveis, como ocorro hoje em sites especializados em comércio de veículos. O

objetivo do sistema é indicar o modelo que mais se encaixa nas características apontadas pelo

usuário, a fim de auxiliar o mesmo a encontrar o modelo mais adequado às suas necessidades.

Como mencionado anteriormente, o sistema utilizará tanto técnicas SE quanto técnicas de

RBC, para tal, serão utilizadas ferramentas específicas para cada fim. A ferramenta escolhida para o

desenvolvimento do SE foi o JESS (Java Expert System Shell). Para o RBC, foi utilizado o

framework JCOLIBRI, a seguir apresenta-se cada uma das técnicas utilizadas.

Page 45: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

44

4.2 SISTEMA ESPECIALISTA

Para o desenvolvimento do sistema especialista, foi utilizado o JESS (Java Expert System

Shell) que consiste em uma shell para o desenvolvimento de sistemas especialistas que foi

desenvolvida na linguagem Java. Usando Jess, é possível desenvolver aplicações em Java com a

capacidade de “raciocinar” usando o conhecimento fornecido através de regras (SANDIA

NATIONAL LABORATORIES, 2007). Isso permite com que o sistema faça inferências baseado

em um conjunto de regras pré-determinadas. Apesar de não ser software livre, Jess pode ser

utilizado sem custos para trabalhos acadêmicos. Detalhes dos diagramas de seqüência

desenvolvidos podem ser encontrados nas Figuras 18 e 19.

Para que o usuário possa utilizar o sistema sem a necessidade de ter conhecimento técnico

sobre automóveis, alguns atributos são apresentados na interface na forma de valores subjetivos,

como mostra a Tabela 6.

Tabela 6. Conjunto de atributos com valores subjetivos

Atributo Valores possíveis Porta-malas Pequeno, médio e grande Potência Baixa, média e alta Consumo médio Baixo, médio e alto Seguro Baixo, médio e alto

Apesar de esses atributos serem apresentados ao usuário como valores subjetivos, na base de

casos do sistema eles estão armazenados na forma de valores lógicos. Desta forma, para que seja

possível transformar os dados informados pelo usuário em um caso de entrada, esses valores

subjetivos devem ser convertidos em valores lógicos. Essa conversão é feita pelo sistema

especialista, através de um conjunto de regras lógicas específico para cada atributo. Estas regras

estão disponíveis no Anexo A.

O tipo de encadeamento utilizado é o encadeamento para frente, seguindo do antecedente de

uma regra para seu conseqüente. Por padrão, a estratégia de encadeamento utilizada pelo JESS é a

chamada profundidade, onde as regras mais recentemente utilizadas serão as primeiras a serem

executadas. No sistema desenvolvido foi mantida de estratégia padrão de encadeamento.

Para a conversão de valor do tamanho do porta-malas, o sistema transforma o valor

subjetivo informado pelo usuário para um valor em litros. Para isso ele considera além do tamanho

subjetivo do porta-malas informado pelo usuário, o tipo de carroceria escolhido. Isso se faz

Page 46: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

45

necessário ao considerar-mos que o valor em litros considerado grande para o porta-malas de um

automóvel com carroceria hatch é diferente do valor em litros considerado grande para o porta-

malas de um automóvel com carroceria sedan. A Figura 8 apresenta a árvore de decisão para a

conversão de valor do tamanho do porta-malas.

Figura 8. Árvore de decisão para o tamanho do porta-malas.

Um trecho de código da base de regras para o tamanho do porta-malas é apresentado na

Figura 9, sendo que todo o código desta e das demais bases de regras do sistema encontram-se

disponíveis no Apêndice A.

Page 47: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

46

Figura 9. Trecho de código da base de regras para o tamanho do porta-malas.

4.3 RACIOCÍNIO BASEADO EM CASOS

Para a implementação do RBC do sistema foi utilizado o JColibri. Consiste em um

framework de código aberto, feito em Java, voltado para o desenvolvimento de sistemas de

raciocínio baseado em casos (GAIA, 2007). Este framework pode ser utilizado como API, Web

Service ou EJB, sendo que no presente trabalho ele será utilizado como API. Detalhes dos

diagramas de seqüência desenvolvidos podem ser encontrados nas Figuras 18 e 20.

Para solucionar um problema, o RBC se utiliza de uma base de casos, onde cada caso é

composto de problema e solução. No caso do problema de escolha de automóvel, para cada caso o

problema é composto de um conjunto de 15 atributos, os quais estão descritos na Tabela 7, a

solução corresponde ao modelo de automóvel que atende ao problema, ou seja, o modelo que possui

conjunto de valores para os 15 atributos que formam o problema.

Page 48: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

47

Tabela 7. Conjunto de atributos que formam um caso.

Atributo Peso Tipo de dado Tipo de similaridade Marca Integer String Igualdade Categoria Integer String Igualdade Portas Integer Integer Igualdade Carroceria Integer String Igualdade Potência Integer Integer Aproximação com intervalo de 260 Porta-malas Integer Integer Aproximação com intervalo de 600 Valor Integer Double Igualdade Coeficiente do seguro Integer Double Igualdade Consumo médio Integer Double Igualdade Ar condicionado Integer Boolean Igualdade Direção hidráulica Integer Boolean Igualdade Air Bag Integer Boolean Igualdade Vidro/ Trava elétrica Integer Boolean Igualdade Câmbio Automático Integer Boolean Igualdade ABS Integer Boolean Igualdade

Para cada atributo, além do usuário informar o valor do atributo, também é informado um

peso para o atributo, que representa a relevância daquele atributo no contexto do usuário. Na

recuperação dos casos, o RBC utiliza a similaridade local e a similaridade global.

A similaridade local é aquela específica para cada atributo que compõe o problema, podendo

variar de um atributo para outro. Foram utilizadas aqui dois tipos de similaridade local, igualdade e

aproximação. A igualdade, apresentada na Equação 1, retorna 1 caso o valor do atributo do caso de

entrada seja igual ao valor do atributo correspondendo no caso da base, caso contrário retorna 0. A

aproximação retorna 1 menos o mod do valor do atributo do caso de entrada menos o valor do

atributo do caso da base, dividido pelo intervalo, conforme apresentado na Equação 2.

se x = y, sim(x,y) = 1

senão, sim(x,y) = 0

Equação 1

sim(x,y)=1-(|x-y|/intervalo) Equação 2

Page 49: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

48

A similaridade global utilizada é a média ponderada, que é obtida através do somatório da

multiplicação do valor de cada similaridade local pelo seu respectivo peso, dividido pela quantidade

de atributos. A Equação 3 apresenta o cálculo da similaridade global.

Equação 3

A Figura 10 apresenta um exemplo de caso do sistema, onde temos a descrição do problema

com seu conjunto de atributos e a solução do mesmo.

Figura 10. Exemplo de caso do sistema.

4.4 AQUISIÇÃO DO CONHECIMENTO

O processo de aquisição do conhecimento iniciou-se através da coleta de informações de

cada modelo de automóvel nos sites das montadoras especificadas anteriormente no capitulo 1.

Devido ao fato de as montadores não fornecerem informações referentes a consumo de combustível,

Page 50: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

49

procurou-se obter esse dado em publicações especializadas, de modo que foi utilizada a revista

quatro rodas para prover tal informação. Esse processo de aquisição resultou em uma base de casos

composta por 125 casos.

Um outro item a ser considerado refere-se ao valor do seguro de cada modelo. Para obter

esses valores, utilizou-se um especialista em seguro de automóveis. O cálculo do valor do seguro

para cada modelo de automóvel, foi realizado na seguradora Confiança Companhia de Seguros,

tomando-se como base os seguintes parâmetros:

• Seguro novo.

• Município de Florianópolis.

• Condutor principal nascido em 1977.

• Franquia reduzida.

• Valor de R$50.000,00 para danos materiais.

• Valor de R$50.000,00 para danos corporais a terceiros.

• Valor de R$5.000,00 por morte de passageiro.

• Valor de R$5.000,00 por invalidez permanente de passageiro.

• Cobertura de 100% do valor do veículo.

• Assistência 24 horas.

• Cobertura dos vidros.

• Carro reserva por 30 dias em caso de perca total.

A partir do valor do seguro de cada modelo informado pela corretora de seguros, foi

calculado o coeficiente do seguro, que é o valor a ser considerado pelo RBC para este atributo. Este

cálculo é feito através da divisão do valor do seguro pelo valor do automóvel, conforme apresentado

na Equação 4.

Coeficiente do seguro = Valor do seguro / Valor do automóvel Equação 4

Page 51: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

50

O resultado do processo de aquisição do conhecimento realizado foi um conjunto de

atributos para cada modelo, representado na Tabela 8.

Tabela 8. Conjunto de atributos para cada modelo

Atributo Descrição Marca Nome da montadora Carroceria Tipo de carroceria (Hatch, Sedan, Station Wagon, etc.) Categoria Classificação do modelo (Popular, Médio, Luxo) Modelo Nome do modelo do automóvel Portas Quantidade de portas Valor Preço do modelo sugerido pela montadora Seguro Valor do seguro Coeficiente do seguro Percentual do valor do seguro em relação ao valor do modelo. Consumo médio Consumo médio em kilometros por litro Ar Condicionado Define se o modelo vem com ar condicionado de série Direção Hidráulica Define se o modelo vem com direção hidráulica de série Vidro/Trava Elétrica Define se o modelo vem com vidro e trava elétrica de série Câmbio Automático Define se o modelo vem com câmbio automático de série Cilindrada Cilindrada do motor em centímetros cúbicos Potência Potência do motor em cavalos Velocidade Máxima Velocidade máxima em kilometros por hora Aceleração Aceleração de 0 a 100 kilometros por hora em segundos Air Bag Define se o modelo vem com air bag de série ABS Define se o modelo vem com abs de série Capacidade do porta-malas Capacidade do porta-malas em litros

Vale ressaltar que os dados referentes a consumo, aceleração e velocidade máxima se

referem a automóveis utilizando gasolina.

4.5 REPRESENTAÇÃO DO CONHECIMENTO

A representação do conhecimento encontra-se dividida em duas formas distintas, uma para o

RBC, onde o conhecimento esta disposto na forma de casos, e outra para o SE, onde o

conhecimento esta representado na forma de regras.

4.5.1 Representação do conhecimento do RBC

A representação do conhecimento para o RBC, está disposta em um conjunto de casos, onde

cada caso representa um modelo de automóvel. Como mencionado no capítulo 3, cada caso é

composto basicamente de problema e solução. Para o problema de escolha de automóvel, o que

Page 52: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

51

compõe o problema são características específicas do modelo que atendam as necessidades do

usuário. A solução seria o modelo que atenda as características especificadas.

Desta forma, a base de casos foi elaborada de tal maneira que cada modelo esta representado

em um caso. Para cada caso da base o problema é composto por todos os atributos definidos

anteriormente na Tabela 6, com exceção do atributo que define o modelo. A solução por sua vez é

representada pelo modelo.

4.5.2 Representação do conhecimento do SE

Para que o usuário possa utilizar o sistema sem a necessidade de ter conhecimento técnico

sobre automóveis, foram criados valores subjetivos que são convertidos em valores objetivos

através de um SE, de modo que o SE transforma os valores de entrada do usuário em um caso que

será confrontado com a base de casos do RBC. Esse processo de criação dos valores subjetivos foi

realizado com o auxílio de um especialista e esta representado no SE na forma de regras.

Foram criados quatro conjuntos de regras, sendo que cada conjunto define um atributo

distinto. Os atributos definidos pelas regras são tamanho do porta-malas, potência do motor, valor

do seguro e consumo médio. A seguir apresenta-se a descrição de cada conjunto de regras.

4.5.2.1 Regras para Tamanho do Porta-malas

O valor para o atributo tamanho do porta-malas na base de casos está armazenado em litros.

Por ser considerada uma informação técnica, criou-se um conjunto de valores subjetivos para

representá-la, de modo que na interface do sistema o usuário as opções de valor pequeno, médio e

grande. Cada um desses valores subjetivos é convertido para uma faixa de valor em litros.

O entanto, há um outro atributo que exerce influencia na hora da conversão dos valores, o

tipo da carroceria. O valor em litros que representa um porta malas considerado grande para um

carro com carroceria hatch por exemplo, é diferente do valor utilizado para representar um porta

malas grande de um sedan. Desta forma, as regras para definição do tamanho do porta-malas, as

quais estão descritas no Apêndice A.1, consideram para a conversão, não só o tamanho do porta-

malas selecionado pelo usuário, mas também o tipo de carroceria.

Page 53: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

52

4.5.2.2 Regras para Potência

A potência do motor na base de casos do RBC esta representada em cavalos. Assim como no

caso do tamanho do porta-malas, na interface do sistema o usuário pode selecionar a potência

através de um conjunto de valores subjetivos (baixa, média e alta). Cada um desses valores

subjetivos é convertido pelo SE para uma faixa de valor em cavalos. O Apêndice A.2 apresenta as

regras utilizadas para a realização da conversão.

4.5.2.3 Regras para Valor do Seguro

Na base de casos existe um coeficiente do seguro, que corresponde ao percentual do valor

do seguro em relação ao valor do automóvel. Para que o usuário não tenha que ter conhecimento

sobre esse coeficiente, foram utilizados na interface os valores baixo, médio e alto para definir o

valor do seguro. O SE recebe esse valor selecionado e converte em uma faixa de valor do

coeficiente do valor do seguro, do acordo com as regras apresentadas no Apêndice A.3.

4.5.2.4 Regras para Consumo

Na interface do sistema o consumo pode ser definido como baixo, médio ou alto, enquanto

que na base de casos o consumo é representado por um valor em kilometros por litro. Cada um dos

valores apresentados na interface do sistema representa uma faixa de valor na base de

conhecimento. Essa conversão de valores é feita pelo SE, de modo que quanto mais kilometros o

automóvel faz com um litro de combustível, menor é o seu consumo.

Assim como nas regras para definição do porta-malas, há mais um atributo a ser considerado

na hora de fazer a conversão valor do consumo. Deve ser considerada a potência, uma vez que um

valor de consumo considerado baixo para um automóvel de potencia alta, não necessariamente é o

mesmo valor de consumo considerado baixo para um automóvel de baixa potência. No Apêndice

A.4 encontra-se a descrição das regras para definição do consumo.

4.6 LEVANTAMENTO DOS REQUISITOS

Para que possa atingir de forma satisfatória os objetivos apresentados anteriormente, o

sistema proposto deverá atender um conjunto de requisitos. Estes requisitos compreendem os

seguintes itens:

Page 54: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

53

4.6.1 Requisitos Funcionais

A seguir são apresentados os requisitos funcionais do sistema proposto:

• RF01: Auxiliar a escolha de automóveis, através da recuperação dos modelos que mais

se assemelham as características informadas pelo usuário.

• RF02: Possibilitar a inclusão de novos casos na base de casos do sistema.

• RF03: Possibilitar a atualização dos casos existentes na base.

• RF04: Possibilitar a exclusão de casos da base.

• RF05: Restringir o acesso às funcionalidades de inclusão, atualização e exclusão de

casos da base a usuários específicos.

4.6.2 Requisitos Não Funcionais

A seguir são apresentados os requisitos não funcionais do sistema proposto:

• RNF01: O sistema deverá ser desenvolvido na linguagem de programação Java.

• RNF02: O sistema deverá ser desenvolvido para o ambiente Web.

• RNF03: O tempo de resposta do sistema deverá ser inferior a 10 segundos.

• RNF04: O sistema deverá ser disponibilizado pelo servidor de aplicações Tomcat.

4.6.3 Regras de Negócio

A seguir são apresentadas as regras de negócio do sistema.

• RN01: Para realizar uma pesquisa, é necessário a seleção de pelo menos 3 atributos.

• RN02: Para efetivar a inclusão ou alteração de um caso na base, é obrigatório o

preenchimento dos atributos modelo, marca, carroceria, categoria, valor, portas.

4.7 MODELAGEM DO SISTEMA

A modelagem do sistema foi feita utilizando-se conceitos de modelagem UML. Os modelos

foram gerados através do Enterprise Architect.

Page 55: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

54

4.7.1 Diagramas de Casos de Uso

O sistema encontra-se dividido em 3 módulos distintos, que correspondem aos itens a

seguir:

• Controle de acesso

• Pesquisa

• Administração

A seguir são apresentados os diagramas de caso de uso de cada um dos módulos, bem como

o diagrama de cada caso de uso específico.

4.7.1.1 Casos de Uso do Controle de Acesso

O sistema será acessível através de login e senha, para tal, faz-se necessário um controle de

acesso, o qual encontra-se representado na Figura 11 e encontra-se descrito no Apêndice B.

Figura 11. Diagrama de Casos de Uso do Controle de Acesso.

O sistema possui 2 níveis de acesso. O primeiro é o usuário comum, que tem acesso apenas

ao módulo de pesquisa. O segundo é o perfil de administrador, que além do módulo de pesquisa

Page 56: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

55

também tem acesso à administração do sistema, onde é possível incluir, alterar e excluir novos

casos na base do sistema.

4.7.1.2 Casos de Uso da Pesquisa

O módulo de pesquisa permite que o usuário realize pesquisa no sistema e possa também

visualizar detalhes do resultado. A Figura 12 representa os casos de uso do módulo de pesquisa.

Figura 12. Diagrama de Casos de Uso da Pesquisa.

O módulo de pesquisa é acessível tanto usuário comum e também pelo administrador, como

mostra a Figura 12.

4.7.1.3 Caso de Uso Realizar Pesquisa

O caso de uso Realizar Pesquisa permite ao usuário pesquisar modelos de automóveis que

atendam as características informadas pelo mesmo. Este caso de uso encontra-se descrito no

Apêndice C. A Figura 13 representa o diagrama do caso de uso realizar pesquisa.

Page 57: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

56

Figura 13. Diagrama do Caso de Uso Realizar Pesquisa.

4.7.1.4 Caso de Uso Visualizar Detalhe

O caso de uso Visualizar Detalhe permite ao usuário visualizar o detalhamento dos modelos

de automóveis retornados pela pesquisa. Este caso de uso encontra-se descrito no Apêndice D. A

Figura 14 representa o diagrama deste caso de uso.

Figura 14. Diagrama do Caso de Uso Visualizar Detalhe.

4.7.1.5 Casos de Uso da Administração

O módulo de administração permite que o usuário com perfil de administrador inclua, altere

ou exclua casos da base do sistema. A Figura 15 representa os casos de uso do módulo de

administração.

Page 58: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

57

Figura 15. Diagrama de Casos de Uso da Administração.

O módulo de administração é acessível apenas pelo administrador do sistema , como mostra

a Figura 15.

4.7.1.6 Caso de Uso Incluir Caso na Base

O caso de uso Incluir Caso na Base permite ao usuário com perfil de administrador inserir

um novo caso na base de dados do sistema. Este caso de uso encontra-se descrito no Apêndice E. A

Figura 16 representa o diagrama deste caso de uso.

Figura 16. Diagrama do Caso de Uso Inserir Caso na Base.

Page 59: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

58

4.7.1.7 Caso de Uso Atualizar Caso na Base

O caso de uso Atualizar Caso na Base permite ao usuário com perfil de administrador alterar

as informações de um caso existente na base de dados do sistema. Este caso de uso encontra-se

descrito no Apêndice F. A Figura 17 representa o diagrama deste caso de uso.

Figura 17. Diagrama do Caso de Uso Atualizar Caso na Base.

4.7.1.8 Caso de Uso Excluir Caso da Base

O caso de uso Excluir Caso da Base permite ao usuário com perfil de administrador realizar

e exclusão de casos da base de dados do sistema. Este caso de uso encontra-se descrito no Apêndice

G. A Figura 18 representa o diagrama deste caso de uso.

Figura 18. Diagrama do Caso de Uso Excluir Caso da Base.

4.7.2 Diagramas de Pacotes

A seguir a Figura 19 apresenta o diagrama de pacotes, onde cada pacote representa um

módulo do sistema. Neste diagrama apresenta-se os casos de uso e os usuário que acessam cada um

dos pacotes.

Page 60: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

59

Figura 19. Diagrama de Pacotes.

4.7.3 Diagrama de Atividade

O Diagrama de atividades apresentado na Figura 20 representa a seqüência de passos

executa para a realização de uma pesquisa no sistema.

Page 61: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

60

Figura 20. Diagrama do Caso de Uso Realizar Pesquisa.

O fluxo inicia quando o usuário acessa a tela de pesquisa. Em seguida ele seleciona os

campos desejados e clica em pesquisar. Caso o número de campos selecionados pelo usuário seja

inferior a 3, o sistema solicita que o usuário selecione ao menos 3 campos para pesquisa. Quando o

número de campos selecionados for igual ou maior do que 3, o SE irá transformar os campos

selecionados pelo usuário em um caso de entrada. Após esta atividade, o RBC irá confrontar o caso

de entrada com a base de casos, retornando os 20 casos mais similares. Por fim o sistema apresenta

a tela com o resultado da pesquisa.

4.7.4 Diagramas de Seqüência

Os diagramas apresentados a seguir, representam a seqüência de passos necessários para a

realização de uma pesquisa no sistema.

4.7.4.1 Diagrama de Seqüência da Pesquisa

O diagrama demonstrado na Figura 21, apresenta uma visão macro dos passos da pesquisa,

de forma que não exibe os passos executados pelo SE, representados apenas pela entidade JESS.

Page 62: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

61

Também não apresenta os passos executados pelo RBC, os quais estão apenas representados pela

entidade JCOLIBRI. O detalhamento do SE e do RBC são apresentados na Figura 21 e Figura 22,

respectivamente.

Figura 21. Diagrama de Seqüência da Pesquisa.

4.7.4.2 Diagrama de Seqüência do SE (JESS)

Este diagrama apresenta os passos executados pelo SE, que como já foi mencionado

anteriormente, utiliza a shell JESS. O diagrama da Figura 22 apresenta os passos executados para a

definição do tamanho do porta-malas, sendo que os passos executados dentro do quadro em

destaque devem ser executados para os demais itens tratados pelo SE (consumo, potência e seguro).

Page 63: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

62

Figura 22. Diagrama do Caso de Uso Realizar Pesquisa.

4.7.4.3 Diagrama de Seqüência do RBC (JCOLIBRI)

Este diagrama apresenta os passos executados pelo RBC, o qual é implementado utilizando

o framework JCOLIBRI. O diagrama da Figura 23 apresenta os passos executados para recuperação

dos casos da base relacionados com o caso de entrada.

Page 64: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

63

Figura 23. Diagrama do Caso de Uso Realizar Pesquisa.

Fonte: GAIA (2007)

4.7.5 Prototipação de Interfaces

O sistema apresenta basicamente 5 telas, login, pesquisa, resultado da pesquisa, detalhe do

resultado, administração. A seguir apresenta-se cada uma das interfaces.

4.7.5.1 Tela de Login

Esta interface é o meio por onde o usuário fará o login no sistema. A Figura 24 apresenta o

protótipo da tela.

Page 65: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

64

Figura 24. Tela de Login.

A interface de login apresenta o botão “Enviar” e os seguintes campos:

• Usuário: Campo do tipo String para entrada do nome de usuário.

• Senha: Campo do tipo senha para entrada da senha de acesso ao sistema.

No caso de o login ou a senha não forem validados pelo sistema, o mesmo apresentará a

mensagem “Login e/ou Senha inválidos”.

4.7.5.2 Tela de Pesquisa

Esta é a tela principal do sistema, a qual permite ao usuário realizar pesquisa através da

definição de determinados atributos, além de poder atribuir pesos diferentes para cada um desses

atributos. A Figura 25 representa um esboço da interface.

Page 66: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

65

Figura 25. Tela de Pesquisa.

Nesta tela apresenta um conjunto de 15 atributos distintos, além da atribuição de peso para

cada atributo, além dos botões pesquisar e limpar. A Tabela 9 apresenta o detalhamento desses

campos.

Page 67: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

66

Tabela 9. Campos da Tela de Pesquisa

Campo Tipo Valores Obrigatório Marca Combobox Chevrolet, Fiat, Ford, Volkswagen Não Peso Marca Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Carroceria Combobox Hatch, Minivan, Sedan, Station Wagon Não Peso Carroceria Combobox Múltiplos de 5 no intervalo de 0 à 100 Não Categoria Combobox Popular, Médio, Luxo Não Peso Categoria Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Potência Combobox Baixa, Média, Alta Não Peso Potência Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Portas Combobox 2, 4 Não Peso Portas Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Porta-malas Combobox Pequeno, Médio, Grande Não Peso Porta-malas Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Valor Combobox Múltiplos de 5000 no intervalo de 20000

à 95000 Não

Peso Valor Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Seguro Combobox Baixo, Médio, Alto Não Peso Seguro Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Consumo médio Combobox Baixo, Médio, Alto Não Peso Consumo Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Ar Condicionado Checkbox Sim, Não Não Peso Ar Condicionado Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Direção Hidráulica Checkbox Sim, Não Não Peso Direção Hidráulica Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Vidro/Trava Elétrica Checkbox Sim, Não Não Peso Vidro/Trava Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Câmbio Automático Checkbox Sim, Não Não Peso Câmbio Automático Combobox Múltiplos de 5 no intervalo de 0 a 100 Não Air Bag Checkbox Sim, Não Não Peso Air Bag Combobox Múltiplos de 5 no intervalo de 0 a 100 Não ABS Checkbox Sim, Não Não Peso ABS Combobox Múltiplos de 5 no intervalo de 0 a 100 Não

Apesar de nenhum dos atributos serem de preenchimento obrigatório, para que se possa

realizar uma pesquisa, deve-se selecionar ao menos 3 atributos, como já foi anteriormente descrito

na regra de negócio RN01.

4.7.5.3 Tela de Resultado da Pesquisa

Page 68: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

67

Esta tela apresenta o resultado da pesquisa. Nela são apresentados os 20 modelos que mais

se assemelham aos parâmetros de consulta, sempre ordenadas pelo grau de similaridade. A Figura

26 apresenta o protótipo da interface.

Figura 26. Tela Resultado da Pesquisa.

Para cada um dos 20 modelos retornados no resultado, serão apresentados além de um botão

para visualizar o detalhamento do resultado, os seguintes atributos:

• Modelo;

• Marca;

• Valor.

Essa tela é exibida após a realização de uma pesquisa, dentro da tela de pesquisa, logo após

os botões pesquisar e limpar.

4.7.5.4 Tela de Detalhe

A tela de detalhe abre na forma de pop-up, exibindo os detalhes de um modelo retornado na

pesquisa. A seguir a Figura 27 apresenta o protótipo da interface.

Page 69: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

68

Figura 27. Tela de Detalhe.

Além dos atributos que definem um modelo, a tela de pesquisa apresenta também um botão

fechar.

4.7.5.5 Tela de Administração

Esta tela só é acessível pelo usuário que possui perfil de Administrador. Nela é possível

incluir, alterar e excluir casos da base de casos do sistema. A Figura 28 apresenta o protótipo da

interface.

Page 70: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

69

Figura 28. Administração.

A tela de Administração é dividida em dois momentos. No primeiro momento é exibido

apenas a panel superior, contendo um combobox para seleção de um dos casos da base, além dos

botões alterar, excluir e inserir novo caso. O segundo panel da tela é exibido após uma das seguintes

ações:

• O usuário seleciona um caso e clica em alterar. O sistema exibe o panel preenchido com

os dados do caso selecionado.

• O usuário seleciona um caso e clica em excluir. O sistema exibe o panel preenchido com

os dados do caso selecionado.

• O usuário clica em inserir novo caso. O sistema exibe o panel com os campos em

branco.

Page 71: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

70

O detalhamento dos campos da tela é apresentado na Tabela 10.

Tabela 10. Campos da Tela de Administração

Campo Tipo Valores Obrigatório Modelo Textbox 256 caracteres Sim Carroceria Combobox Hatch, Minivan, Sedan, Station Wagon Sim Categoria Combobox Popular, Médio, Luxo Sim Marca Combobox Chevrolet, Fiat, Ford, Volkswagen Sim Valor Textbox Numérico Sim Seguro Textbox Numérico Não Portas Combobox 2, 4 Sim Aceleração Textbox Numérico Não Velocidade Máxima Textbox Numérico Não Consumo médio Textbox Textbox Não Potência Textbox Numérico Não Porta-malas Textbox Numérico Não Cilindrada Textbox Numérico Não Ar Condicionado Checkbox Sim, Não Não Direção Hidráulica Checkbox Sim, Não Não Vidro/Trava Elétrica Checkbox Sim, Não Não Câmbio Automático Checkbox Sim, Não Não Air Bag Checkbox Sim, Não Não ABS Checkbox Sim, Não Não

De acordo com o que foi descrito anteriormente na regra de negócio RN02, a inclusão ou

alteração de um caso na base só será efetivada caso os campos marcados na Tabela 8 como

obrigatórios estejam preenchidos.

4.8 SOFTWARES UTILIZADOS

O sistema foi desenvolvido na linguagem de programação Java, sendo que visando facilitar

a sua disponibilização, o mesmo foi desenvolvido para o ambiente web. Para tal, além do JESS e do

JCOLIBRI mencionados anteriormente, foram utilizados os seguintes recursos:

• IDE Eclipse versão 3.2.2

• Páginas JSP (Java Server Pages)

• Framework Struts versão 1.3

• Servidor de aplicação Tomcat versão 5.5.23

• Enterprise Architect 6.5

Page 72: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

71

Todo o código do sistema foi desenvolvido utilizando-se o Eclipse, sendo que para a camada

de apresentação utilizou-se páginas JSP com Struts. Tudo isso integrado no servidor de aplicações

Tomcat. Para a modelagem do sistema, foi utilizado o Enterprise Architect.

Page 73: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

5 VALIDAÇÃO DO SISTEMA

A validação do sistema deu-se através de uma bateria de testes e análise dos resultados

obtidos. A seguir apresenta-se quatro exemplos dos testes realizados com seus respectivos

resultados.

5.1 Teste 1

O primeiro teste refere-se a busca por automóveis da marca GM, categoria Médio, 4 portas,

carroceria Sedan, potência média, que de acordo com a conversão realizada pelo SE equivale a 100

cavalos e porta-malas de tamanho médio, que convertido pelo SE equivale a 450 litros, conforme

mostra a Tabela 11.

Tabela 11. Caso de entrada do teste 1

Atributo Valor Peso Marca GM 0,5 Categoria Médio 1 Portas 4 1 Carroceria Sedan 1 Potência Média (100 cv) 1 Porta-malas Médio (450 l) 1

Os resultados obtidos para este teste são apresentados na Tabela 12, onde pode-se observar

que nove dos dez resultados são sedans médios de 4 portas da marca GM, apresentado apenas

diferença nos atributos porta-malas e potência. Por se tratarem de dois atributos com similaridade

por aproximação, eles influenciaram diretamente no ranking dos resultados, que foram ordenados

dos casos que possuem esses dois atributos com os valores mais próximos aos valores do caso

entrada para os casos com os valores menos próximos. Dentre os resultados obtidos, apenas um não

é da marca GM, mas acabou retornando devido a similaridade dos demais atributos.

Page 74: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

73

Tabela 12. Resultados do teste 1

Resultados obtidos Modelo: Corsa Joy Sedan 1.8 Modelo: Corsa Maxx Sedan 1.8 Marca GM Marca GM Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 112 Potência 112 Porta-malas 432 Porta-malas 432 Modelo: Corsa Premium Sedan 1.8 Modelo: Astra Advantage Sedan Marca GM Marca GM Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 112 Potência 121 Porta-malas 432 Porta-malas 460 Modelo: Astra Confort Sedan Modelo: Astra Elegance Sedan Marca GM Marca GM Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 121 Potência 121 Porta-malas 460 Porta-malas 460 Modelo: Vectra Elegance Modelo: Vectra Expression Marca GM Marca GM Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 121 Potência 121 Porta-malas 526 Porta-malas 526 Modelo: Polo Sedan 1.6 Modelo: Prisma Joy Marca VW Marca GM Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 101 Potência 89 Porta-malas 432 Porta-malas 439

Page 75: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

74

5.2 Teste 2

O segundo teste é bem semelhante ao primeiro, com a diferença de que agora não esta sendo

especificada a marca do automóvel. Os demais valores continuam iguais ao do teste anterior,

conforme mostra a Tabela 13.

Tabela 13. Caso de entrada do teste 2

Atributo Valor Peso Marca - - Categoria Médio 1 Portas 4 1 Carroceria Sedan 1 Potência Média (100 cv) 1 Porta-malas Médio (450 l) 1

Essa única mudança realizada no caso de entrada, altera totalmente o resultado obtido, sendo

que nessa situação todos os casos retornados são sedans médios de 4 portas, variando a marca,

tamanho do porta-malas e potência do motor. Analisando os resultados apresentados na Tabela 14,

pode-se observar que os atributos tamanho do porta-malas e potência do motor, continuam sendo os

principais atributos responsáveis pelo ranking dos resultados. Comparando o resultado deste teste

com o resultado do teste anterior, é possível observar que no segundo teste retornaram vários

modelos que não foram apresentados no primeiro teste por levar em consideração a marca do

automóvel.

Page 76: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

75

Tabela 14. Resultados do teste 2

Resultados obtidos Modelo: Polo Sedan 1.6 Modelo: Marea SX 1.6 16V Marca VW Marca FIAT Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 101 Potência 106 Porta-malas 432 Porta-malas 430 Modelo: Bora 2.0 Modelo: Bora 2.0 Aut. Marca VW Marca VW Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 116 Potência 116 Porta-malas 455 Porta-malas 455 Modelo: Fiesta Sedan 1.6 Modelo: Corsa Joy Sedan 1.8 Marca FORD Marca GM Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 105 Potência 112 Porta-malas 478 Porta-malas 432 Modelo: Corsa Maxx Sedan 1.8 Modelo: Corsa Premium Sedan 1.8 Marca GM Marca GM Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 112 Potência 112 Porta-malas 432 Porta-malas 432 Modelo: Astra Advantage Sedan Modelo: Astra Confort Sedan Marca GM Marca GM Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 121 Potência 121 Porta-malas 460 Porta-malas 460

Page 77: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

76

5.3 Teste 3

O terceiro teste é uma variação do segundo, mudando apenas a categoria, que no teste

anterior era Médio e agora passa a ser Popular, conforme mostra a Tabela 15.

Tabela 15. Caso de entrada do teste 3

Atributo Valor Peso Marca - - Categoria Popular 1 Portas 4 1 Carroceria Sedan 1 Potência Média (100 cv) 1 Porta-malas Médio (450 l) 1

Essa mudança fez com que nenhum dos casos retornados no teste anterior reaparecesse no

resultado desse teste. No teste anterior todos os casos retornados eram da categoria Médio, nesse

teste todos os resultados são da categoria Popular, como mostra a Tabela 16. Da mesma maneira

que nos testes anteriores os atributos tamanho do porta-malas e potência do motor continuam sendo

os responsáveis pelo desempate no ranking do restultado.

Page 78: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

77

Tabela 16. Resultados do teste 3

Resultados obtidos Modelo: Prisma Joy Modelo: Prisma Maxx Marca GM Marca GM Categoria Popular Categoria Popular Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 89 Potência 89 Porta-malas 439 Porta-malas 439 Modelo: Corsa Joy Sedan 1.0 Modelo: Corsa Maxx Sedan 1.0 Marca GM Marca GM Categoria Popular Categoria Popular Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 77 Potência 77 Porta-malas 432 Porta-malas 432 Modelo: Corsa Premium Sedan 1.0 Modelo: Fiesta Sedan 1.0 Marca GM Marca FORD Categoria Popular Categoria Popular Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 77 Potência 71 Porta-malas 432 Porta-malas 478 Modelo: Siena ELX 1.4 Modelo: Siena ELX 1.0 Marca FIAT Marca FIAT Categoria Popular Categoria Popular Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 80 Potência 65 Porta-malas 500 Porta-malas 500 Modelo: Siena Fire Modelo: Classic Life Marca FIAT Marca GM Categoria Popular Categoria Popular Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 65 Potência 70 Porta-malas 500 Porta-malas 390

Page 79: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

78

5.4 Teste 4

Este teste é o que sofre mais alteração no caso de entrada em relação os testes anteriores. As

diferenças em relação ao teste anterior ficam por conta da categoria que passa a ser Luxo, a potência

que passa para Alta, valor que convertido pelo SE corresponde a 130 cavalos, por ultimo o tamanho

do porta-malas foi alterado para grande, que após passar pelo SE fica em 500 litros, conforme

apresentado na Tabela 17.

Tabela 17. Caso de entrada do teste 4

Atributo Valor Peso Marca - - Categoria Luxo 1 Portas 4 1 Carroceria Sedan 1 Potência Alta (130 cv) 1 Porta-malas Grande (500 l) 1

O resultado apresentado na Tabela 18, mostra que este teste foi o que apresentou maior

variação na resposta, onde apesar do caso de entrada ser da categoria Luxo, trouxe casos da

categoria Luxo e Médio e de carroceria Sedan e Station Wagon. Os teste mostraram que apenas

uma alteração no caso de entrada é suficiente para mudar completamente o resultado apresentado

pelo sistema.

Page 80: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

79

Tabela 18. Resultados do teste 4

Resultados obtidos Modelo: Focus Sedan Ghia Modelo: Vectra Elite Marca FORD Marca GM Categoria Luxo Categoria Luxo Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 147 Potência 146 Porta-malas 490 Porta-malas 526 Modelo: Jetta 2.5 Modelo: Fusion Marca VW Marca FORD Categoria Luxo Categoria Luxo Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 150 Potência 162 Porta-malas 527 Porta-malas 530 Modelo: Marea HLX 2.4 20V Modelo: Omega Marca FIAT Marca GM Categoria Luxo Categoria Luxo Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 160 Potência 258 Porta-malas 430 Porta-malas 465 Modelo: Siena HLX 1.8 Modelo: Vectra Elegance Marca FIAT Marca GM Categoria Médio Categoria Médio Portas 4 Portas 4 Carroceria Sedan Carroceria Sedan Potência 112 Potência 121 Porta-malas 500 Porta-malas 526 Modelo: Vectra Expression Modelo: Marea Week HLX 2.4 20V Marca GM Marca FIAT Categoria Médio Categoria Luxo Portas 4 Portas 4 Carroceria Sedan Carroceria Station Wagon Potência 121 Potência 160 Porta-malas 526 Porta-malas 500

Page 81: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

80

5.5 CONCLUSÃO

De acordo com os resultados obtidos nos testes, foi possível constatar que o sistema

apresenta um funcionamento satisfatório, sempre retornando os casos mais similares com o caso de

entrada. Esta conclusão deu-se através de uma análise comparativa entre os valores dos atributos

dos casos retornados e os valores do caso de entrada. Com isso, é possível afirmar que o sistema

desenvolvido atingiu seu objetivo principal, auxiliando o usuário no processo de escolha de

automóvel através da apresentação dos dez modelos que mais se assemelham com o perfil traçado

pelo usuário.

Page 82: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

6 CONCLUSÕES

O presente trabalho resultou em um sistema que utiliza duas técnicas distintas de sistemas

baseados no conhecimento para solucionar o problema de escolha automática de um automóvel. A

técnica de sistema especialista foi utilizada de forma conjunta com a técnica de raciocínio baseado

em casos. Para o desenvolvimento do SE, utilizou-se a shell Jess, enquanto que o RBC utiliza o

framework JColibri. Comprova-se que em algumas aplicações como o exemplo deste trabalho, estas

duas técnicas de inteligência artificial e baseadas no conhecimento não são concorrentes, mas ao

contrário, somam-se através da utilização da vantagem de cada uma delas, buscando-se um sistema

computacional híbrido mais eficiente. Onde entende-se sistema híbrido neste trabalho conforme a

definição de Osório e Vieira (1999), segundo tais autores todo o sistema que integre dois ou mais

métodos diferentes para a solução de um problema é um sistema híbrido.

De acordo com Osório e Vieira (1999), todo o sistema que integre dois ou mais métodos

diferentes para a solução de um problema é um sistema híbrido. Segundo esta afirmação, pode-se

constatar que o sistema desenvolvido caracteriza-se como sendo desta natureza, uma vez que se

utiliza de duas técnicas distintas de sistemas baseados no conhecimento para solucionar um

problema.

Durante a fase de concepção do sistema, identificou-se a necessidade de transformar valores

subjetivos em valores lógicos, a fim de evitar que o usuário tivesse conhecimento técnico sobre

automóveis para poder utilizar o sistema. Para que essas conversões pudessem ser realizadas,

observou-se que as mesmas deveriam seguir algumas regras lógicas. Conforme o estudo realizado,

observou-se que a técnica se sistemas especialistas era a que melhor se aplicava e esta situação, já

que a mesma se utiliza de um conjunto de regras encadeadas para solucionar um problema.

Quanto ao problema principal a ser resolvido pelo sistema, fazendo-se uma analogia com o

raciocínio humano, é possível notar que quando uma pessoa solicita a um vendedor um modelo de

automóvel com determinadas características, o vendedor não raciocina utilizando regras para

responder a questão. Ele resolve o problema recuperando na memória casos que possuam

características semelhantes às informadas no problema, ou seja, ele tenta recuperar na memória

modelos de automóveis que tenham aquelas características que lhe foram questionadas.

Page 83: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

82

Esse mesmo tipo de raciocínio foi utilizado no desenvolvimento do sistema, criando-se uma

base de casos e utilizando-se o raciocínio baseado em casos para recuperar os casos mais

semelhantes ao caso de entrada. Essa técnica foi adotada por ser a maneira mais natural de

solucionar o problema e por permitir a utilização de pesos que permitem modelar o perfil do

decisor, o que muitas vezes não é considerado em abordagens convencionais de programação

matemática.

É possível extrair do presente trabalho uma proposta de trabalho futuro. Essa proposta

consiste na criação de um framework para desenvolvimento de sistemas destinados a solução de

problemas de decisão multicritério. Também é viável a inclusão de novos atributos nos casos, dando

ainda mais flexibilidade de escolha ao usuário.

Page 84: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

REFERÊNCIAS BIBLIOGRÁFICAS

ALTY, J. L.; COOMBS, M.J. Expert systems: Concepts and examples. England: NCC Publications, 1984, 209p. ISBN 0-85012-399-2

BARRETO, Jorge Muniz. Inteligência artificial no limiar do século XXI . 2.ed. Florianópolis: Duplic, 1999, 324p. ISBN 85-900382-4-6.

CARRICO, Michael A.; GIRARD, John e.; JENNIFER, P. Jones. Building knowledge systems: Ceveloping & managing rule-based applications. New York: Intertex Publications, 1989, 335p. ISBN 0-07-023437-X

CERVO, Amado Luiz; BERVIAN, Pedro Alcino. Metodologia científica. São Paulo: Makron Books, 1996, 209p.

CHORAFAS, Dimitris N. Sistemas especialistas: Aplicações comerciais. trad. Mirian Fonseca Diniz; revisão técnica Nizam Omar – São Paulo: McGraw-Hill, 1988, 254p.

DEWHURST, F. W.; GWINNETT, E. A. Artificil intelligence and decision analysis. University of Manchester Institute of Science and Technology, 1990.

DURKIN, John. Expert Systems: Design and development. New York: Macmillan Publish Company, 1994, 800p. ISBN 0-02-330970-9

ENSSLIN, Leonardo; MONTIBELLER, Gilberto; NORONHA, Sandro Macdonald. Apoio a decisão: metodologia para estruturação de problemas e avaliação multicritéirios de alternativas. Florianópolis: Insular, 2001, 296p. ISBN 85-7474-093-4.

FANDEL, Günter; SPRONK, Jaap. Multiple criteria decision methods and applications. Germany: Springer, 1985, 402p. ISBN 3-540-15596-1.

GAIA, Group for Artificial Intelligence Applications; GAIA - Group for Artificial Intelligence Applications. Disponível em: http://gaia.fdi.ucm.es/projects/jcolibri/ Acesso em: 22 fev. 2007.

GIARRATANO, Joseph C.; RILEY Gary. Expert systems: principles and programming. 2.ed. Boston: Publishing Company, 1994, 644p. ISBN 0-534-93744-6

GONZÁLEZ, Avelino J.; DANKEL, Douglas D. The engineering of knowledge-based systems: Theory and Practice. New Jersey: Prentice-Hall Inc, 1993, 523p. ISBN 0-13-276940-9

HARMON, Paul; KING, David. Expert systems: Artificial Intelligence in Business. United States: John Wiley & Sons, 1985, 283p. ISBN 0-471-81554-3

HWANG, Ching-Lai; LIN, Ming-Jeng. Group decision making under multiple criteria: Methods and applications. Germany: Spring, 1987, 400p. ISBN 3-540-17177-0.

KELLER, Robert. Tecnologia de sistemas especialistas: desenvolviimento e aplicação. trad. Reinaldo Castello; revisão técnica Ronald Stevis Cassiolato – São Paulo: Makron books, 1991, 292p.

Page 85: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

84

KOLODNER, Janet L.; RIESBECK, Christopher K Experience Memory and Reasoning. New Jersey: Lawrence Erlbaum, 1986, 272p. ISBN 0-89859-644-0

LEVINE, Robert I.; DIANE E.; DRANG, Barry Edelson. Inteligência artificial e sistemas especialistas: aplicações e exemplos práticos. trad. Maria Cláudia Santos Ribeiro Ratto; revisão técnica José Carlos Damski – São Paulo: McGraw-Hill, 1988, 264p.

LIEBOWITZ, Jay. Introduction to expert systems. Washington: Mitchell Publishing, 1988, 182p. ISBN 0-394-39141-1

LUGER, George F. Inteligência artificial : estruturas e estratégias para a olução de problemas complexos. trad. Paulo Engel – Porto Alegre: Bookmann, 2004, 774p. ISBN 85-363-0396-4.

MATTOS, Nelson Mendonça. An aproach to knowledge base management. Germany: Springer, 1991, 247p. ISBN 3-540-54268-X

NONAKA, Ikujiro; TAKEUCHI, Hirotaka. Criação de conhecimento na empresa. trad. Ana Bestriz Rodriguez, Priscila Martins Celeste. – Rio de Janeiro: Editora Campus, 1997, 358p. ISBN 85-352-0177-7

OLIVEIRA, Marcelo Eduardo de. Estudo e desenvolvimento de um protótipo para prescrição de atividade física utilizando raciocínio baseado em casos. Biguaçu: UNIVALI, Trabalho de conclsão de curso.Universidade do Vale do Itajai, 1997.

OSÓRIO, Fernando Santos; VIEIRA, Renata XIX Congresso da SBC – Encontro nacional de inteligência artificial . Rio de Janeiro: UNISINOS, Tutorial sobre sistemas híbridos inteligentes, 1999. Disponível em: http://www.inf.unisinos.br/~osorio/enia99/enia99.pdf Acesso em: 23 jul. 2007.

PAL, Sankar K.; SHIU, Simon C. K. Foundations of Soft Case-Based Reasoning. United States: Wiley-IEEE, 2004, 274p. ISBN 0-471-08635-5

RUSSEL, Stuart J.; NORVIG, Peter. Inteligência artificial . trad. Publicare consultoria – Rio de Janeiro: Elsevier, 2004, 1021p. ISBN 85-352-1177-2

SANDIA NATIONAL LABORATORIES; Jess, the Rule Engine for the Java Platform. Disponível em : http://herzberg.ca.sandia.gov/jess/ Acesso em: 05 fev. 2007.

SCHANK, Roger Carl; RIESBECK, Christopher K. Inside Case-Based Reasoning. New Jersey: Lawrence Erlbaum, 1989, 423p. ISBN 0-89859-767-6

SILVA, Harrysson Luiz da. Planejamento baseado em casos aplicado na resolução de não-conformidades (NC) ambientais no ciclo de vida de produtos, processos e serviços. Florianópolis: UFSC, Tese de doutorado. Programa de pós-graduação em engenharia de produção, Universidade Federal de Santa Catarina, 1997.

STEWART, Theodor J.; HONERT, ,Robin C. van den. Trends in multicriteria decision making. Germany: Springer, 1998, 447p. ISBN 3-540-64741-4.

Page 86: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

85

TEIVE, Raimundo C. G. Planejamento da expansão da transmissão de sistemas de energia elétrica utilizando sistemas especialistas. Florianópolis: UFSC, Tese de doutorado. Programa de pós-graduação em engenharia de produção, Universidade Federal de Santa Catarina, 1997.

THIERAUF, Robert J. Decision support systems for effective playnning and control: a case study approach. New Jersey: Prentice-Hall, 1982 ISBN 0-13-198234-6

TUTHILL, G. Steven. Knowledge engineering: concepts and practices for knowledge-based systems. United States of America: Tab Books Inc, 1990, 372p. ISBN 0-8306-9297-5.

WANGENHEIM, Christiane Gresse von; WANGENHEIM, Aldo von. Raciocínio baseado em casos. Barueri, SP: Manole, 2003, 294p. ISBN 85-204-1459-1

WATERMAN, Donald A. A guide to expert systems. United States: Addison-wesley Publishing, 1986, 419p. ISBN 0-201-08313-2

Page 87: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

GLOSSÁRIO

Air Bag Componente de segurança dos automóveis. Consiste em bolsas de ar colocadas em pontos estratégicos, que são infladas quando o automóvel sofre um grande impacto.

Carroceria É a estrutura de chapa metálica onde se aloja os passageiros, dotada de mala para bagagem, ferramentas e acessórios nos carros de passeio e utilitários.

Cilindrada Volume geométrico dos cilindros ocupado pelo conjunto de pistões. Permite saber a capacidade de esforço que o motor pode desenvolver.

Potência O trabalho realizado ou a energia transferida por unidade de tempo. Para automóveis e medida em cv (cavalos).

Page 88: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

APÊNDICES

Page 89: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

A REGRAS DO SISTEMA ESPECIALISTA

A.1 REGRAS PARA O TAMANHO DO PORTA-MALAS

(import br.com.cca.jess.model.*) (deftemplate PortaMalas (declare (from-class PortaMalas))) (defrule regra_1 (PortaMalas(carroceria "hatch")) (PortaMalas(portamalas "pequeno")) => (add (new Retorno 270)) ) (defrule regra_2 (PortaMalas(carroceria "hatch")) (PortaMalas(portamalas "medio")) => (add (new Retorno 320)) ) (defrule regra_3 (PortaMalas(carroceria "hatch")) (PortaMalas(portamalas "grande")) => (add (new Retorno 370)) ) (defrule regra_4 (PortaMalas(carroceria "sedan")) (PortaMalas(portamalas "pequeno")) => (add (new Retorno 400)) ) (defrule regra_5 (PortaMalas(carroceria "sedan")) (PortaMalas(portamalas "medio")) => (add (new Retorno 450)) ) (defrule regra_6 (PortaMalas(carroceria "sedan")) (PortaMalas(portamalas "grande"))

Page 90: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

89

=> (add (new Retorno 500)) ) (defrule regra_7 (PortaMalas(carroceria "sw")) (PortaMalas(portamalas "pequeno")) => (add (new Retorno 390)) ) (defrule regra_8 (PortaMalas(carroceria "sw")) (PortaMalas(portamalas "medio")) => (add (new Retorno 440)) ) (defrule regra_9 (PortaMalas(carroceria "sw")) (PortaMalas(portamalas "grande")) => (add (new Retorno 490)) ) (defrule regra_10 (PortaMalas(carroceria "minivan")) (PortaMalas(portamalas "pequeno")) => (add (new Retorno 420)) ) (defrule regra_11 (PortaMalas(carroceria "minivan")) (PortaMalas(portamalas "medio")) => (add (new Retorno 470)) ) (defrule regra_12 (PortaMalas(carroceria "minivan")) (PortaMalas(portamalas "grande")) => (add (new Retorno 520)) )

Page 91: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

90

A.2 REGRAS PARA POTÊNCIA

(import br.com.cca.jess.model.*) (deftemplate Potencia (declare (from-class Potencia))) (defrule regra_1 (Potencia(potencia "baixa")) => (add (new Retorno 70)) ) (defrule regra_2 (Potencia(potencia "media")) => (add (new Retorno 100)) ) (defrule regra_3 (Potencia(potencia "alta")) => (add (new Retorno 130)) )

A.3 REGRAS PARA COEFICIENTE DO SEGURO

(import br.com.cca.jess.model.*) (deftemplate Seguro (declare (from-class Seguro))) (defrule regra_1 (Seguro(seguro "baixo")) => (add (new Retorno 0.025)) ) (defrule regra_2 (Seguro(seguro "medio")) => (add (new Retorno 0.035)) ) (defrule regra_3 (Seguro(seguro "alto")) =>

Page 92: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

91

(add (new Retorno 0.045)) )

A.4 REGRAS PARA O CONSUMO

(import br.com.cca.jess.model.*) (deftemplate Consumo (declare (from-class Consumo))) (deftemplate Retorno (declare (from-class Retorno))) (defrule regra_1 (Consumo(consumo "baixo")) (Consumo(potencia "baixa")) => (add (new Retorno 13)) ) (defrule regra_2 (Consumo(consumo "medio")) (Consumo(potencia "baixa")) => (add (new Retorno 12)) ) (defrule regra_3 (Consumo(consumo "alto")) (Consumo(potencia "baixa")) => (add (new Retorno 11)) ) (defrule regra_4 (Consumo(consumo "baixo")) (Consumo(potencia "media")) => (add (new Retorno 12)) ) (defrule regra_5 (Consumo(consumo "medio")) (Consumo(potencia "media")) => (add (new Retorno 11)) ) (defrule regra_6 (Consumo(consumo "alto"))

Page 93: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

92

(Consumo(potencia "media")) => (add (new Retorno 10)) ) (defrule regra_7 (Consumo(consumo "baixo")) (Consumo(potencia "alta")) => (add (new Retorno 11.5)) ) (defrule regra_8 (Consumo(consumo "medio")) (Consumo(potencia "alta")) => (add (new Retorno 10.5)) ) (defrule regra_9 (Consumo(consumo "alto")) (Consumo(potencia "alta")) => (add (new Retorno 9.5)) )

Page 94: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

93

B CASO DU USO UC01 – LOGAR NO SISTEMA

1. Resumo

Breve descrição Este Caso de Uso permite ao usuário realizar o acesso ao sistema através de login e senha.

Ator Usuário, Administrador

Pré-Condições N/A

Pós-Condições O usuário obteve acesso ao sistema.

2. Fluxo Básico – Acessar o Sistema

Passos Descrição

01 O usuário acessa o browser e entra com o endereço do sistema.

02 O sistema apresenta a tela de login.

03 O usuário informa o login.

04 O usuário informa a senha.

05 O usuário seleciona a opção enviar.

06 O sistema valida os campos preenchidos (FA 01, FA 02).

07 O sistema apresenta a tela de pesquisa.

08 O caso de uso termina.

3. Fluxos Alternativos

FA01 - Campo obrigatório não informado

Passos Descrição

01 O sistema verifica que algum dos campos obrigatórios não foi preenchido.

02 O sistema apresenta a mensagem de que é necessário preencher o campo correspondente.

03 O caso de uso continua no passo 3 do fluxo básico.

Page 95: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

94

FA02 - Campo com valor inválido

Passos Descrição

01 O sistema verifica que o valor de algum dos campos é inválido.

02 O sistema apresenta a mensagem de que o valor do campo correspondente é inválido.

03 O caso de uso continua no passo 3 do fluxo básico.

Page 96: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

95

C CASO DE USO UC02 – REALIZAR PESQUISA

1. Resumo

Breve descrição Permite ao usuário realizar pesquisa dos casos que mais se assemelham as características informadas pelo mesmo.

Ator Usuário

Pré-Condições O Usuário deve ter acesso ao sistema.

Pós-Condições Uma consulta foi realizada.

2. Fluxo Básico – Realizar Pesquisa

Passos Descrição

01 O usuário seleciona a opção pesquisar.

02 O sistema apresenta a tela de consulta.

03 O usuário seleciona as opções desejadas.

04 O usuário atribui pesos as opções selecionadas.

05 O usuário clica em consultar.

06 O sistema cria um caso de entrada a partir das opções informadas pelo usuário.

07 O sistema recupera os casos mais similares com o caso de entrada.

08 O sistema cria um rank com os casos mais similares.

09 O sistema apresenta os resultados ordenados pelo grau de similaridade.

10 O caso de uso termina.

Page 97: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

96

D CASO DE USO UC03 – VISUALIZAR DETALHE

1. Resumo

Breve descrição Permite ao usuário visualizar o detalhamento de um dos modelos retornados na pesquisa.

Ator Usuário

Pré-Condições Uma pesquisa deve ter sido realizada.

Pós-Condições O detalhe do modelo foi visualizado.

2. Fluxo Básico – Visualizar Detalhe

Passos Descrição

01 O usuário seleciona a opção mais detalhes.

02 O sistema recupera da base de dados o detalhamento do modelo selecionado

03 O sistema apresenta a tela de detalhes com o detalhamento do modelo selecionado.

04 O caso de uso termina.

Page 98: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

97

E CASO DE USO UC04 – INSERIR CASO NA BASE

1. Resumo

Breve descrição Permite ao Administrador inserir um novo caso na base de casos do sistema.

Ator Administrador

Pré-Condições O Administrador deve estar logado no sistema

Pós-Condições Um novo caso foi inserido na base de casos do sistema

2. Fluxo Básico – Incluir Caso na Base

Passos Descrição

01 O usuário seleciona a opção incluir caso.

02 O sistema apresenta a tela de inclusão de casos.

03 O usuário preenche o cadastro do novo caso.

04 O usuário clica em inserir.

05 O sistema valida os campos preenchidos (FA 01, FA 02).

06 O sistema salva o novo caso na base (FA 03).

07 O caso de uso termina.

3. Fluxos Alternativos

FA01 - Campo obrigatório não informado

Passos Descrição

01 O sistema verifica que algum dos campos obrigatórios não foi preenchido.

02 O sistema apresenta a mensagem de que é necessário preencher o campo correspondente.

03 O caso de uso continua no passo 3 do fluxo básico.

Page 99: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

98

FA02 - Campo com valor inválido

Passos Descrição

01 O sistema verifica que o valor de algum dos campos é inválido.

02 O sistema apresenta a mensagem de que o valor do campo correspondente é inválido.

03 O caso de uso continua no passo 3 do fluxo básico.

FA03 - Caso já existente

Passos Descrição

01 O sistema verifica que já existe um caso na base com o mesmo nome.

02 O sistema apresenta a mensagem de que já existe um caso com o mesmo nome.

03 O caso de uso continua no passo 3 do fluxo básico.

Page 100: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

99

F CASO DE USO UC05 – ATUALIZAR CASO NA BASE

1. Resumo

Breve descrição Permite ao Administrador alterar um caso existente na base de casos do sistema.

Ator Administrador

Pré-Condições O Administrador deve estar logado no sistema

Pós-Condições Um caso foi atualizado na base de casos do sistema

2. Fluxo Básico – Atualizar Caso na Base

Passos Descrição

01 O usuário seleciona a opção atualizar caso.

02 O sistema apresenta a tela de seleção de caso.

03 O usuário seleciona o caso que deseja atualizar.

04 O sistema apresenta a tela com as informações do caso selecionado.

05 O usuário altera as informações desejadas.

06 O usuário clica em atualizar.

07 O sistema valida os campos preenchidos (FA 01, FA 02).

08 O sistema salva o novo caso na base.

09 O caso de uso termina.

3. Fluxos Alternativos

FA01 - Campo obrigatório não informado

Passos Descrição

01 O sistema verifica que algum dos campos obrigatórios não foi preenchido.

Page 101: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

100

Passos Descrição

02 O sistema apresenta a mensagem de que é necessário preencher o campo correspondente.

03 O caso de uso continua no passo 5 do fluxo básico.

FA02 - Campo com valor inválido

Passos Descrição

01 O sistema verifica que o valor de algum dos campos é inválido.

02 O sistema apresenta a mensagem de que o valor do campo correspondente é inválido.

03 O caso de uso continua no passo 5 do fluxo básico.

Page 102: Valdir Antônio Luiz Junior - UNIVALIsiaibib01.univali.br/pdf/Valdir Antonio Luiz Junior.pdf · Valdir Antônio Luiz Junior ... IA Inteligência Artificial RBC Raciocínio Baseado

101

G CASO DE USO UC06 – EXCLUIR CASO DA BASE

1. Resumo

Breve descrição Permite ao Administrador excluir um caso na base de casos do sistema.

Ator Administrador

Pré-Condições O Administrador deve estar logado no sistema

Pós-Condições Um caso foi excluído da base de casos do sistema

2. Fluxo Básico – Excluir Caso da Base

Passos Descrição

01 O usuário seleciona a opção excluir caso.

02 O sistema apresenta a tela de seleção de caso.

03 O usuário seleciona o caso que deseja excluir.

04 O sistema apresenta a tela com as informações do caso selecionado.

05 O usuário clica em excluir.

06 O sistema exclui o caso da base.

07 O caso de uso termina.