55
UNIVERSIDADE FEDERAL DA BAHIA TRABALHO DE GRADUAC ¸ ˜ AO Utiliza¸ ao de Prolog para implementa¸ ao intuitiva de regras de inferˆ encia fuzzy Genicleito Carvalho Beltr˜ aoGon¸calves Programa de Gradua¸c˜ ao em Ciˆ encia da Computa¸ ao Salvador 05 de fevereiro de 2018

Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

UNIVERSIDADE FEDERAL DA BAHIA

TRABALHO DE GRADUACAO

Utilizacao de Prolog para implementacao intuitiva de regras deinferencia fuzzy

Genicleito Carvalho Beltrao Goncalves

Programa de Graduacao em Ciencia da Computacao

Salvador05 de fevereiro de 2018

GENICLEITO CARVALHO BELTRAO GONCALVES

UTILIZACAO DE PROLOG PARA IMPLEMENTACAO INTUITIVADE REGRAS DE INFERENCIA FUZZY

Este Trabalho de Graduacao foiapresentado ao Programa de Gra-duacao em Ciencia da Computacaoda Universidade Federal da Bahiacomo requisito parcial para obtencaodo grau de Bacharel em Ciencia daComputacao

Orientadora Profa Dra Tatiane Nogueira Rios

Salvador05 de fevereiro de 2018

ii

Ficha catalografica

Goncalves Genicleito C B

Utilizacao de Prolog para implementacao intuitiva de regras de inferenciafuzzy Genicleito Carvalho Beltrao Goncalvesndash Salvador 05 de fevereiro de2018

41p il

Orientadora Profa Dra Tatiane Nogueira RiosMonografia (Graduacao)ndash UNIVERSIDADE FEDERAL DA BAHIA INS-TITUTO DE MATEMATICA 05 de fevereiro de 2018

ldquo1 Prolog 2 Fuzzy Prolog 3 Logica de Predicados 3 Logica dePrimeira Ordem 4 Mineracao de dados 3 Logica Fuzzy 4 Aprendizadode maquina 5 Inteligencia ArtificialrdquoI Rios Tatiane Nogueira II UNIVERSIDADE FEDERAL DA BAHIAINSTITUTO DE MATEMATICA III Tıtulo

CDD 00000000

iii

TERMO DE APROVACAO

GENICLEITO CARVALHO BELTRAO GONCALVES

UTILIZACAO DE PROLOG PARAIMPLEMENTACAO INTUITIVA DE REGRAS

DE INFERENCIA FUZZY

Este Trabalho de Graduacao foi julgado ade-quado a obtencao do tıtulo de Bacharel emCiencia da Computacao e aprovado em suaforma final pelo Programa de Graduacao emCiencia da Computacao da Universidade Fe-deral da Bahia

Salvador 05 de fevereiro de 2018

Profa Dra Tatiane Nogueira RiosUniversidade Federal da Bahia

Prof Dr Danilo Barbosa CoimbraUniversidade Federal da Bahia

Prof Dr Ricardo RiosUniversidade Federal da Bahia

Dedico esse trabalho primeiramente a Deus e a meus ama-

dos pais incansaveis na tarefa de criar e educar tres filhos

Sem este empenho de ambos certamente este trabalho

nao teria sido desenvolvido

AGRADECIMENTOS

E com bastante felicidade que chego neste momento tao importante na vida de um jovemestudante universitario o famoso TCC Este e um momento de celebrar pelos momentosarduos que foram passados e forneceram uma bagagem de experiencias espetacularesEsta e a materializacao de mais uma etapa academica que comecou desde o processo dealfabetizacao

Primeiramente gostaria de agradecer a Deus pela sua graca imensuravel em todos osmomentos da minha vida

Agradecer a minha amada mae Gilza que apesar de todas as dificuldades presentesem uma pequena cidadezinha do interior foi incansavel na tarefa de criar a mim e meusirmaos com muito amor prezando sempre pelos nossos estudos e para que nos tornassemospessoas de carater

A meu amado pai Carlos lavrador que derramou muito suor para que pudesse susten-tar com dignidade uma famılia com cinco integrantes mesmo com o ensino fundamentalincompleto sempre priorizou pelos estudos dos filhos e o homem mais sabio que eu co-nheco

A minha orientadora professora Tatiane que orientou-me com excelencia durantetodo o perıodo de desenvolvimento desse trabalho sempre com muita paciencia e co-brando com muita compreensao

Aos meus professores desde os responsaveis pela minha alfabetizacao ate os profes-sores do curso que me apresentaram visoes esplendidas de novas formas de ve o mundo

A meus amados irmaos Genicleide e Carlos Junior que compartilharam comigo mo-mentos de apreensao e de muitas felicidades

A minha grande amiga Dalila antiga professora do ensino medio que acabou setornando uma pessoa muito especial e sem sombra de duvidas merece muito a minhagratidao Se hoje tenho a oportunidade de estar finalizando esse curso que tanto amo emuma excelente Universidade e tambem gracas a um pontape dela la no inıcio

A Miriam uma segunda mae sempre com conselhos que levarei para a vida inteiraalem de preocupar-se sempre com meus estudos e com o andamento do curso mesmocom a distancia

A Associacao dos Estudantes Baixagrandenses (ASSEB) que desde o final do ensinomedio ja dava apoio para que eu pudesse sair do interior e ter a oportunidade de fazero curso que eu sempre sonhava e continua dando apoio ate que eu possa finalmentefinaliza-lo

A minha madrinha Sara que me deu meu primeiro notebook assim que entrei nocurso e nao tinha condicoes de adquirir um

A Pro-Reitoria de Acoes Afirmativas e Assistencia Estudantil (PROAE) pela as-sistencia estudantil que permitiu que um menino pobre do interior pudesse se manter

v

AGRADECIMENTOS vi

em uma cidade desconhecida e sem familiares por pertoAo grupo de Gestores da Rede Academica de Computacao (GRACO) que me permitiu

obter conhecimentos fantasticos sobre redes e sistemas LinuxEnfim agradeco a todas as pessoas que de alguma forma direta ou indiretamente

contribuıram para que eu pudesse estar concluindo mais esta importante e feliz etapa daminha vida

Nao se deve ir atras de objetivos faceis e preciso buscar o que so pode

ser alcancado por meio dos maiores esforcos

mdashALBERT EINSTEIN

RESUMO

O presente trabalho de conclusao de curso pretende realizar com base nas pesquisas daarea de programacao em logica mineracao de dados e campos de conhecimento relaci-onados uma investigacao da utilizacao de logica Fuzzy em Logica de Primeira Ordempor meio do Prolog Foi demonstrada por meio de evidencias experimentais e analisesdos erros medios absolutos dos resultados dos experimentos que o Fuzzy-Prolog obtevebons resultados quando comparado com a biblioteca JFuzzyLogic implementada na lin-guagem Java Ao longo desta monografia portanto sao discutidos aspectos relevantesda etapa de pre-processamento das bases de dados utilizadas para classificacao da re-alizacao da predicao das classes de instancias de teste e dos criterios de validacao daclassificacao obtida da comparacao dos resultados da abordagem com Fuzzy-Prolog eJFuzzyLogic Adicionalmente para contextualizar outras abordagens de programacaologica com Fuzzy-Prolog sao apresentadas e destacadas pesquisas em trabalhos relacio-nados A pesquisa realizada para desenvolvimento deste trabalho tem como contribuicaouma forma automatica de geracao de regras fuzzy sem a presenca de especialistas mes-clada a utilizacao do Fuzzy-Prolog em classificacao Os resultados da pesquisa estimulamnovas formas de abordagens cuja execucao certamente ira transcorrer em trabalhos fu-turos

Palavras-chave mineracao de dados logica fuzzy classificacao prolog logica deprimeira ordem aprendizado de maquina inteligencia artificial

viii

ABSTRACT

The present work of course completion intends to carry out an investigation of the useof Fuzzy logic in First Order Logic through Prolog based on research in the of the pro-gramming area in logic data mining and related fields of knowledge Throughout thismonograph therefore important aspects of the preprocessing stage of the databases usedfor classification are discussed the performance of the prediction of the classes of testinstances and the criteria of validation of the classification obtained of the results ofthe Fuzzy-Prolog approach with JFuzzyLogic In order to contextualize other logical pro-gramming approaches with Fuzzy-Prolog research is presented and highlighted in relatedworks The research carried out for the development of this work has as contribution anautomatic form of fuzzy rules generation without the presence of specialists already wellknown but that can be mixed with the use of Fuzzy-Prolog in classification for exam-ple We show here through experimental evidence and analyzes of the absolute meanerrors of the results of the experiments by comparing Fuzzy-Prolog and JFuzzyLogicthat Fuzzy-Prolog obtained good results The results of the research stimulate new formsof approaches whose execution will certainly occur in future works

Keywords data mining fuzzy logic classificaton prolog first-order logic machinelearning artificial intelligence

ix

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 2: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

GENICLEITO CARVALHO BELTRAO GONCALVES

UTILIZACAO DE PROLOG PARA IMPLEMENTACAO INTUITIVADE REGRAS DE INFERENCIA FUZZY

Este Trabalho de Graduacao foiapresentado ao Programa de Gra-duacao em Ciencia da Computacaoda Universidade Federal da Bahiacomo requisito parcial para obtencaodo grau de Bacharel em Ciencia daComputacao

Orientadora Profa Dra Tatiane Nogueira Rios

Salvador05 de fevereiro de 2018

ii

Ficha catalografica

Goncalves Genicleito C B

Utilizacao de Prolog para implementacao intuitiva de regras de inferenciafuzzy Genicleito Carvalho Beltrao Goncalvesndash Salvador 05 de fevereiro de2018

41p il

Orientadora Profa Dra Tatiane Nogueira RiosMonografia (Graduacao)ndash UNIVERSIDADE FEDERAL DA BAHIA INS-TITUTO DE MATEMATICA 05 de fevereiro de 2018

ldquo1 Prolog 2 Fuzzy Prolog 3 Logica de Predicados 3 Logica dePrimeira Ordem 4 Mineracao de dados 3 Logica Fuzzy 4 Aprendizadode maquina 5 Inteligencia ArtificialrdquoI Rios Tatiane Nogueira II UNIVERSIDADE FEDERAL DA BAHIAINSTITUTO DE MATEMATICA III Tıtulo

CDD 00000000

iii

TERMO DE APROVACAO

GENICLEITO CARVALHO BELTRAO GONCALVES

UTILIZACAO DE PROLOG PARAIMPLEMENTACAO INTUITIVA DE REGRAS

DE INFERENCIA FUZZY

Este Trabalho de Graduacao foi julgado ade-quado a obtencao do tıtulo de Bacharel emCiencia da Computacao e aprovado em suaforma final pelo Programa de Graduacao emCiencia da Computacao da Universidade Fe-deral da Bahia

Salvador 05 de fevereiro de 2018

Profa Dra Tatiane Nogueira RiosUniversidade Federal da Bahia

Prof Dr Danilo Barbosa CoimbraUniversidade Federal da Bahia

Prof Dr Ricardo RiosUniversidade Federal da Bahia

Dedico esse trabalho primeiramente a Deus e a meus ama-

dos pais incansaveis na tarefa de criar e educar tres filhos

Sem este empenho de ambos certamente este trabalho

nao teria sido desenvolvido

AGRADECIMENTOS

E com bastante felicidade que chego neste momento tao importante na vida de um jovemestudante universitario o famoso TCC Este e um momento de celebrar pelos momentosarduos que foram passados e forneceram uma bagagem de experiencias espetacularesEsta e a materializacao de mais uma etapa academica que comecou desde o processo dealfabetizacao

Primeiramente gostaria de agradecer a Deus pela sua graca imensuravel em todos osmomentos da minha vida

Agradecer a minha amada mae Gilza que apesar de todas as dificuldades presentesem uma pequena cidadezinha do interior foi incansavel na tarefa de criar a mim e meusirmaos com muito amor prezando sempre pelos nossos estudos e para que nos tornassemospessoas de carater

A meu amado pai Carlos lavrador que derramou muito suor para que pudesse susten-tar com dignidade uma famılia com cinco integrantes mesmo com o ensino fundamentalincompleto sempre priorizou pelos estudos dos filhos e o homem mais sabio que eu co-nheco

A minha orientadora professora Tatiane que orientou-me com excelencia durantetodo o perıodo de desenvolvimento desse trabalho sempre com muita paciencia e co-brando com muita compreensao

Aos meus professores desde os responsaveis pela minha alfabetizacao ate os profes-sores do curso que me apresentaram visoes esplendidas de novas formas de ve o mundo

A meus amados irmaos Genicleide e Carlos Junior que compartilharam comigo mo-mentos de apreensao e de muitas felicidades

A minha grande amiga Dalila antiga professora do ensino medio que acabou setornando uma pessoa muito especial e sem sombra de duvidas merece muito a minhagratidao Se hoje tenho a oportunidade de estar finalizando esse curso que tanto amo emuma excelente Universidade e tambem gracas a um pontape dela la no inıcio

A Miriam uma segunda mae sempre com conselhos que levarei para a vida inteiraalem de preocupar-se sempre com meus estudos e com o andamento do curso mesmocom a distancia

A Associacao dos Estudantes Baixagrandenses (ASSEB) que desde o final do ensinomedio ja dava apoio para que eu pudesse sair do interior e ter a oportunidade de fazero curso que eu sempre sonhava e continua dando apoio ate que eu possa finalmentefinaliza-lo

A minha madrinha Sara que me deu meu primeiro notebook assim que entrei nocurso e nao tinha condicoes de adquirir um

A Pro-Reitoria de Acoes Afirmativas e Assistencia Estudantil (PROAE) pela as-sistencia estudantil que permitiu que um menino pobre do interior pudesse se manter

v

AGRADECIMENTOS vi

em uma cidade desconhecida e sem familiares por pertoAo grupo de Gestores da Rede Academica de Computacao (GRACO) que me permitiu

obter conhecimentos fantasticos sobre redes e sistemas LinuxEnfim agradeco a todas as pessoas que de alguma forma direta ou indiretamente

contribuıram para que eu pudesse estar concluindo mais esta importante e feliz etapa daminha vida

Nao se deve ir atras de objetivos faceis e preciso buscar o que so pode

ser alcancado por meio dos maiores esforcos

mdashALBERT EINSTEIN

RESUMO

O presente trabalho de conclusao de curso pretende realizar com base nas pesquisas daarea de programacao em logica mineracao de dados e campos de conhecimento relaci-onados uma investigacao da utilizacao de logica Fuzzy em Logica de Primeira Ordempor meio do Prolog Foi demonstrada por meio de evidencias experimentais e analisesdos erros medios absolutos dos resultados dos experimentos que o Fuzzy-Prolog obtevebons resultados quando comparado com a biblioteca JFuzzyLogic implementada na lin-guagem Java Ao longo desta monografia portanto sao discutidos aspectos relevantesda etapa de pre-processamento das bases de dados utilizadas para classificacao da re-alizacao da predicao das classes de instancias de teste e dos criterios de validacao daclassificacao obtida da comparacao dos resultados da abordagem com Fuzzy-Prolog eJFuzzyLogic Adicionalmente para contextualizar outras abordagens de programacaologica com Fuzzy-Prolog sao apresentadas e destacadas pesquisas em trabalhos relacio-nados A pesquisa realizada para desenvolvimento deste trabalho tem como contribuicaouma forma automatica de geracao de regras fuzzy sem a presenca de especialistas mes-clada a utilizacao do Fuzzy-Prolog em classificacao Os resultados da pesquisa estimulamnovas formas de abordagens cuja execucao certamente ira transcorrer em trabalhos fu-turos

Palavras-chave mineracao de dados logica fuzzy classificacao prolog logica deprimeira ordem aprendizado de maquina inteligencia artificial

viii

ABSTRACT

The present work of course completion intends to carry out an investigation of the useof Fuzzy logic in First Order Logic through Prolog based on research in the of the pro-gramming area in logic data mining and related fields of knowledge Throughout thismonograph therefore important aspects of the preprocessing stage of the databases usedfor classification are discussed the performance of the prediction of the classes of testinstances and the criteria of validation of the classification obtained of the results ofthe Fuzzy-Prolog approach with JFuzzyLogic In order to contextualize other logical pro-gramming approaches with Fuzzy-Prolog research is presented and highlighted in relatedworks The research carried out for the development of this work has as contribution anautomatic form of fuzzy rules generation without the presence of specialists already wellknown but that can be mixed with the use of Fuzzy-Prolog in classification for exam-ple We show here through experimental evidence and analyzes of the absolute meanerrors of the results of the experiments by comparing Fuzzy-Prolog and JFuzzyLogicthat Fuzzy-Prolog obtained good results The results of the research stimulate new formsof approaches whose execution will certainly occur in future works

Keywords data mining fuzzy logic classificaton prolog first-order logic machinelearning artificial intelligence

ix

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 3: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

ii

Ficha catalografica

Goncalves Genicleito C B

Utilizacao de Prolog para implementacao intuitiva de regras de inferenciafuzzy Genicleito Carvalho Beltrao Goncalvesndash Salvador 05 de fevereiro de2018

41p il

Orientadora Profa Dra Tatiane Nogueira RiosMonografia (Graduacao)ndash UNIVERSIDADE FEDERAL DA BAHIA INS-TITUTO DE MATEMATICA 05 de fevereiro de 2018

ldquo1 Prolog 2 Fuzzy Prolog 3 Logica de Predicados 3 Logica dePrimeira Ordem 4 Mineracao de dados 3 Logica Fuzzy 4 Aprendizadode maquina 5 Inteligencia ArtificialrdquoI Rios Tatiane Nogueira II UNIVERSIDADE FEDERAL DA BAHIAINSTITUTO DE MATEMATICA III Tıtulo

CDD 00000000

iii

TERMO DE APROVACAO

GENICLEITO CARVALHO BELTRAO GONCALVES

UTILIZACAO DE PROLOG PARAIMPLEMENTACAO INTUITIVA DE REGRAS

DE INFERENCIA FUZZY

Este Trabalho de Graduacao foi julgado ade-quado a obtencao do tıtulo de Bacharel emCiencia da Computacao e aprovado em suaforma final pelo Programa de Graduacao emCiencia da Computacao da Universidade Fe-deral da Bahia

Salvador 05 de fevereiro de 2018

Profa Dra Tatiane Nogueira RiosUniversidade Federal da Bahia

Prof Dr Danilo Barbosa CoimbraUniversidade Federal da Bahia

Prof Dr Ricardo RiosUniversidade Federal da Bahia

Dedico esse trabalho primeiramente a Deus e a meus ama-

dos pais incansaveis na tarefa de criar e educar tres filhos

Sem este empenho de ambos certamente este trabalho

nao teria sido desenvolvido

AGRADECIMENTOS

E com bastante felicidade que chego neste momento tao importante na vida de um jovemestudante universitario o famoso TCC Este e um momento de celebrar pelos momentosarduos que foram passados e forneceram uma bagagem de experiencias espetacularesEsta e a materializacao de mais uma etapa academica que comecou desde o processo dealfabetizacao

Primeiramente gostaria de agradecer a Deus pela sua graca imensuravel em todos osmomentos da minha vida

Agradecer a minha amada mae Gilza que apesar de todas as dificuldades presentesem uma pequena cidadezinha do interior foi incansavel na tarefa de criar a mim e meusirmaos com muito amor prezando sempre pelos nossos estudos e para que nos tornassemospessoas de carater

A meu amado pai Carlos lavrador que derramou muito suor para que pudesse susten-tar com dignidade uma famılia com cinco integrantes mesmo com o ensino fundamentalincompleto sempre priorizou pelos estudos dos filhos e o homem mais sabio que eu co-nheco

A minha orientadora professora Tatiane que orientou-me com excelencia durantetodo o perıodo de desenvolvimento desse trabalho sempre com muita paciencia e co-brando com muita compreensao

Aos meus professores desde os responsaveis pela minha alfabetizacao ate os profes-sores do curso que me apresentaram visoes esplendidas de novas formas de ve o mundo

A meus amados irmaos Genicleide e Carlos Junior que compartilharam comigo mo-mentos de apreensao e de muitas felicidades

A minha grande amiga Dalila antiga professora do ensino medio que acabou setornando uma pessoa muito especial e sem sombra de duvidas merece muito a minhagratidao Se hoje tenho a oportunidade de estar finalizando esse curso que tanto amo emuma excelente Universidade e tambem gracas a um pontape dela la no inıcio

A Miriam uma segunda mae sempre com conselhos que levarei para a vida inteiraalem de preocupar-se sempre com meus estudos e com o andamento do curso mesmocom a distancia

A Associacao dos Estudantes Baixagrandenses (ASSEB) que desde o final do ensinomedio ja dava apoio para que eu pudesse sair do interior e ter a oportunidade de fazero curso que eu sempre sonhava e continua dando apoio ate que eu possa finalmentefinaliza-lo

A minha madrinha Sara que me deu meu primeiro notebook assim que entrei nocurso e nao tinha condicoes de adquirir um

A Pro-Reitoria de Acoes Afirmativas e Assistencia Estudantil (PROAE) pela as-sistencia estudantil que permitiu que um menino pobre do interior pudesse se manter

v

AGRADECIMENTOS vi

em uma cidade desconhecida e sem familiares por pertoAo grupo de Gestores da Rede Academica de Computacao (GRACO) que me permitiu

obter conhecimentos fantasticos sobre redes e sistemas LinuxEnfim agradeco a todas as pessoas que de alguma forma direta ou indiretamente

contribuıram para que eu pudesse estar concluindo mais esta importante e feliz etapa daminha vida

Nao se deve ir atras de objetivos faceis e preciso buscar o que so pode

ser alcancado por meio dos maiores esforcos

mdashALBERT EINSTEIN

RESUMO

O presente trabalho de conclusao de curso pretende realizar com base nas pesquisas daarea de programacao em logica mineracao de dados e campos de conhecimento relaci-onados uma investigacao da utilizacao de logica Fuzzy em Logica de Primeira Ordempor meio do Prolog Foi demonstrada por meio de evidencias experimentais e analisesdos erros medios absolutos dos resultados dos experimentos que o Fuzzy-Prolog obtevebons resultados quando comparado com a biblioteca JFuzzyLogic implementada na lin-guagem Java Ao longo desta monografia portanto sao discutidos aspectos relevantesda etapa de pre-processamento das bases de dados utilizadas para classificacao da re-alizacao da predicao das classes de instancias de teste e dos criterios de validacao daclassificacao obtida da comparacao dos resultados da abordagem com Fuzzy-Prolog eJFuzzyLogic Adicionalmente para contextualizar outras abordagens de programacaologica com Fuzzy-Prolog sao apresentadas e destacadas pesquisas em trabalhos relacio-nados A pesquisa realizada para desenvolvimento deste trabalho tem como contribuicaouma forma automatica de geracao de regras fuzzy sem a presenca de especialistas mes-clada a utilizacao do Fuzzy-Prolog em classificacao Os resultados da pesquisa estimulamnovas formas de abordagens cuja execucao certamente ira transcorrer em trabalhos fu-turos

Palavras-chave mineracao de dados logica fuzzy classificacao prolog logica deprimeira ordem aprendizado de maquina inteligencia artificial

viii

ABSTRACT

The present work of course completion intends to carry out an investigation of the useof Fuzzy logic in First Order Logic through Prolog based on research in the of the pro-gramming area in logic data mining and related fields of knowledge Throughout thismonograph therefore important aspects of the preprocessing stage of the databases usedfor classification are discussed the performance of the prediction of the classes of testinstances and the criteria of validation of the classification obtained of the results ofthe Fuzzy-Prolog approach with JFuzzyLogic In order to contextualize other logical pro-gramming approaches with Fuzzy-Prolog research is presented and highlighted in relatedworks The research carried out for the development of this work has as contribution anautomatic form of fuzzy rules generation without the presence of specialists already wellknown but that can be mixed with the use of Fuzzy-Prolog in classification for exam-ple We show here through experimental evidence and analyzes of the absolute meanerrors of the results of the experiments by comparing Fuzzy-Prolog and JFuzzyLogicthat Fuzzy-Prolog obtained good results The results of the research stimulate new formsof approaches whose execution will certainly occur in future works

Keywords data mining fuzzy logic classificaton prolog first-order logic machinelearning artificial intelligence

ix

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 4: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

iii

TERMO DE APROVACAO

GENICLEITO CARVALHO BELTRAO GONCALVES

UTILIZACAO DE PROLOG PARAIMPLEMENTACAO INTUITIVA DE REGRAS

DE INFERENCIA FUZZY

Este Trabalho de Graduacao foi julgado ade-quado a obtencao do tıtulo de Bacharel emCiencia da Computacao e aprovado em suaforma final pelo Programa de Graduacao emCiencia da Computacao da Universidade Fe-deral da Bahia

Salvador 05 de fevereiro de 2018

Profa Dra Tatiane Nogueira RiosUniversidade Federal da Bahia

Prof Dr Danilo Barbosa CoimbraUniversidade Federal da Bahia

Prof Dr Ricardo RiosUniversidade Federal da Bahia

Dedico esse trabalho primeiramente a Deus e a meus ama-

dos pais incansaveis na tarefa de criar e educar tres filhos

Sem este empenho de ambos certamente este trabalho

nao teria sido desenvolvido

AGRADECIMENTOS

E com bastante felicidade que chego neste momento tao importante na vida de um jovemestudante universitario o famoso TCC Este e um momento de celebrar pelos momentosarduos que foram passados e forneceram uma bagagem de experiencias espetacularesEsta e a materializacao de mais uma etapa academica que comecou desde o processo dealfabetizacao

Primeiramente gostaria de agradecer a Deus pela sua graca imensuravel em todos osmomentos da minha vida

Agradecer a minha amada mae Gilza que apesar de todas as dificuldades presentesem uma pequena cidadezinha do interior foi incansavel na tarefa de criar a mim e meusirmaos com muito amor prezando sempre pelos nossos estudos e para que nos tornassemospessoas de carater

A meu amado pai Carlos lavrador que derramou muito suor para que pudesse susten-tar com dignidade uma famılia com cinco integrantes mesmo com o ensino fundamentalincompleto sempre priorizou pelos estudos dos filhos e o homem mais sabio que eu co-nheco

A minha orientadora professora Tatiane que orientou-me com excelencia durantetodo o perıodo de desenvolvimento desse trabalho sempre com muita paciencia e co-brando com muita compreensao

Aos meus professores desde os responsaveis pela minha alfabetizacao ate os profes-sores do curso que me apresentaram visoes esplendidas de novas formas de ve o mundo

A meus amados irmaos Genicleide e Carlos Junior que compartilharam comigo mo-mentos de apreensao e de muitas felicidades

A minha grande amiga Dalila antiga professora do ensino medio que acabou setornando uma pessoa muito especial e sem sombra de duvidas merece muito a minhagratidao Se hoje tenho a oportunidade de estar finalizando esse curso que tanto amo emuma excelente Universidade e tambem gracas a um pontape dela la no inıcio

A Miriam uma segunda mae sempre com conselhos que levarei para a vida inteiraalem de preocupar-se sempre com meus estudos e com o andamento do curso mesmocom a distancia

A Associacao dos Estudantes Baixagrandenses (ASSEB) que desde o final do ensinomedio ja dava apoio para que eu pudesse sair do interior e ter a oportunidade de fazero curso que eu sempre sonhava e continua dando apoio ate que eu possa finalmentefinaliza-lo

A minha madrinha Sara que me deu meu primeiro notebook assim que entrei nocurso e nao tinha condicoes de adquirir um

A Pro-Reitoria de Acoes Afirmativas e Assistencia Estudantil (PROAE) pela as-sistencia estudantil que permitiu que um menino pobre do interior pudesse se manter

v

AGRADECIMENTOS vi

em uma cidade desconhecida e sem familiares por pertoAo grupo de Gestores da Rede Academica de Computacao (GRACO) que me permitiu

obter conhecimentos fantasticos sobre redes e sistemas LinuxEnfim agradeco a todas as pessoas que de alguma forma direta ou indiretamente

contribuıram para que eu pudesse estar concluindo mais esta importante e feliz etapa daminha vida

Nao se deve ir atras de objetivos faceis e preciso buscar o que so pode

ser alcancado por meio dos maiores esforcos

mdashALBERT EINSTEIN

RESUMO

O presente trabalho de conclusao de curso pretende realizar com base nas pesquisas daarea de programacao em logica mineracao de dados e campos de conhecimento relaci-onados uma investigacao da utilizacao de logica Fuzzy em Logica de Primeira Ordempor meio do Prolog Foi demonstrada por meio de evidencias experimentais e analisesdos erros medios absolutos dos resultados dos experimentos que o Fuzzy-Prolog obtevebons resultados quando comparado com a biblioteca JFuzzyLogic implementada na lin-guagem Java Ao longo desta monografia portanto sao discutidos aspectos relevantesda etapa de pre-processamento das bases de dados utilizadas para classificacao da re-alizacao da predicao das classes de instancias de teste e dos criterios de validacao daclassificacao obtida da comparacao dos resultados da abordagem com Fuzzy-Prolog eJFuzzyLogic Adicionalmente para contextualizar outras abordagens de programacaologica com Fuzzy-Prolog sao apresentadas e destacadas pesquisas em trabalhos relacio-nados A pesquisa realizada para desenvolvimento deste trabalho tem como contribuicaouma forma automatica de geracao de regras fuzzy sem a presenca de especialistas mes-clada a utilizacao do Fuzzy-Prolog em classificacao Os resultados da pesquisa estimulamnovas formas de abordagens cuja execucao certamente ira transcorrer em trabalhos fu-turos

Palavras-chave mineracao de dados logica fuzzy classificacao prolog logica deprimeira ordem aprendizado de maquina inteligencia artificial

viii

ABSTRACT

The present work of course completion intends to carry out an investigation of the useof Fuzzy logic in First Order Logic through Prolog based on research in the of the pro-gramming area in logic data mining and related fields of knowledge Throughout thismonograph therefore important aspects of the preprocessing stage of the databases usedfor classification are discussed the performance of the prediction of the classes of testinstances and the criteria of validation of the classification obtained of the results ofthe Fuzzy-Prolog approach with JFuzzyLogic In order to contextualize other logical pro-gramming approaches with Fuzzy-Prolog research is presented and highlighted in relatedworks The research carried out for the development of this work has as contribution anautomatic form of fuzzy rules generation without the presence of specialists already wellknown but that can be mixed with the use of Fuzzy-Prolog in classification for exam-ple We show here through experimental evidence and analyzes of the absolute meanerrors of the results of the experiments by comparing Fuzzy-Prolog and JFuzzyLogicthat Fuzzy-Prolog obtained good results The results of the research stimulate new formsof approaches whose execution will certainly occur in future works

Keywords data mining fuzzy logic classificaton prolog first-order logic machinelearning artificial intelligence

ix

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 5: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

Dedico esse trabalho primeiramente a Deus e a meus ama-

dos pais incansaveis na tarefa de criar e educar tres filhos

Sem este empenho de ambos certamente este trabalho

nao teria sido desenvolvido

AGRADECIMENTOS

E com bastante felicidade que chego neste momento tao importante na vida de um jovemestudante universitario o famoso TCC Este e um momento de celebrar pelos momentosarduos que foram passados e forneceram uma bagagem de experiencias espetacularesEsta e a materializacao de mais uma etapa academica que comecou desde o processo dealfabetizacao

Primeiramente gostaria de agradecer a Deus pela sua graca imensuravel em todos osmomentos da minha vida

Agradecer a minha amada mae Gilza que apesar de todas as dificuldades presentesem uma pequena cidadezinha do interior foi incansavel na tarefa de criar a mim e meusirmaos com muito amor prezando sempre pelos nossos estudos e para que nos tornassemospessoas de carater

A meu amado pai Carlos lavrador que derramou muito suor para que pudesse susten-tar com dignidade uma famılia com cinco integrantes mesmo com o ensino fundamentalincompleto sempre priorizou pelos estudos dos filhos e o homem mais sabio que eu co-nheco

A minha orientadora professora Tatiane que orientou-me com excelencia durantetodo o perıodo de desenvolvimento desse trabalho sempre com muita paciencia e co-brando com muita compreensao

Aos meus professores desde os responsaveis pela minha alfabetizacao ate os profes-sores do curso que me apresentaram visoes esplendidas de novas formas de ve o mundo

A meus amados irmaos Genicleide e Carlos Junior que compartilharam comigo mo-mentos de apreensao e de muitas felicidades

A minha grande amiga Dalila antiga professora do ensino medio que acabou setornando uma pessoa muito especial e sem sombra de duvidas merece muito a minhagratidao Se hoje tenho a oportunidade de estar finalizando esse curso que tanto amo emuma excelente Universidade e tambem gracas a um pontape dela la no inıcio

A Miriam uma segunda mae sempre com conselhos que levarei para a vida inteiraalem de preocupar-se sempre com meus estudos e com o andamento do curso mesmocom a distancia

A Associacao dos Estudantes Baixagrandenses (ASSEB) que desde o final do ensinomedio ja dava apoio para que eu pudesse sair do interior e ter a oportunidade de fazero curso que eu sempre sonhava e continua dando apoio ate que eu possa finalmentefinaliza-lo

A minha madrinha Sara que me deu meu primeiro notebook assim que entrei nocurso e nao tinha condicoes de adquirir um

A Pro-Reitoria de Acoes Afirmativas e Assistencia Estudantil (PROAE) pela as-sistencia estudantil que permitiu que um menino pobre do interior pudesse se manter

v

AGRADECIMENTOS vi

em uma cidade desconhecida e sem familiares por pertoAo grupo de Gestores da Rede Academica de Computacao (GRACO) que me permitiu

obter conhecimentos fantasticos sobre redes e sistemas LinuxEnfim agradeco a todas as pessoas que de alguma forma direta ou indiretamente

contribuıram para que eu pudesse estar concluindo mais esta importante e feliz etapa daminha vida

Nao se deve ir atras de objetivos faceis e preciso buscar o que so pode

ser alcancado por meio dos maiores esforcos

mdashALBERT EINSTEIN

RESUMO

O presente trabalho de conclusao de curso pretende realizar com base nas pesquisas daarea de programacao em logica mineracao de dados e campos de conhecimento relaci-onados uma investigacao da utilizacao de logica Fuzzy em Logica de Primeira Ordempor meio do Prolog Foi demonstrada por meio de evidencias experimentais e analisesdos erros medios absolutos dos resultados dos experimentos que o Fuzzy-Prolog obtevebons resultados quando comparado com a biblioteca JFuzzyLogic implementada na lin-guagem Java Ao longo desta monografia portanto sao discutidos aspectos relevantesda etapa de pre-processamento das bases de dados utilizadas para classificacao da re-alizacao da predicao das classes de instancias de teste e dos criterios de validacao daclassificacao obtida da comparacao dos resultados da abordagem com Fuzzy-Prolog eJFuzzyLogic Adicionalmente para contextualizar outras abordagens de programacaologica com Fuzzy-Prolog sao apresentadas e destacadas pesquisas em trabalhos relacio-nados A pesquisa realizada para desenvolvimento deste trabalho tem como contribuicaouma forma automatica de geracao de regras fuzzy sem a presenca de especialistas mes-clada a utilizacao do Fuzzy-Prolog em classificacao Os resultados da pesquisa estimulamnovas formas de abordagens cuja execucao certamente ira transcorrer em trabalhos fu-turos

Palavras-chave mineracao de dados logica fuzzy classificacao prolog logica deprimeira ordem aprendizado de maquina inteligencia artificial

viii

ABSTRACT

The present work of course completion intends to carry out an investigation of the useof Fuzzy logic in First Order Logic through Prolog based on research in the of the pro-gramming area in logic data mining and related fields of knowledge Throughout thismonograph therefore important aspects of the preprocessing stage of the databases usedfor classification are discussed the performance of the prediction of the classes of testinstances and the criteria of validation of the classification obtained of the results ofthe Fuzzy-Prolog approach with JFuzzyLogic In order to contextualize other logical pro-gramming approaches with Fuzzy-Prolog research is presented and highlighted in relatedworks The research carried out for the development of this work has as contribution anautomatic form of fuzzy rules generation without the presence of specialists already wellknown but that can be mixed with the use of Fuzzy-Prolog in classification for exam-ple We show here through experimental evidence and analyzes of the absolute meanerrors of the results of the experiments by comparing Fuzzy-Prolog and JFuzzyLogicthat Fuzzy-Prolog obtained good results The results of the research stimulate new formsof approaches whose execution will certainly occur in future works

Keywords data mining fuzzy logic classificaton prolog first-order logic machinelearning artificial intelligence

ix

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 6: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

AGRADECIMENTOS

E com bastante felicidade que chego neste momento tao importante na vida de um jovemestudante universitario o famoso TCC Este e um momento de celebrar pelos momentosarduos que foram passados e forneceram uma bagagem de experiencias espetacularesEsta e a materializacao de mais uma etapa academica que comecou desde o processo dealfabetizacao

Primeiramente gostaria de agradecer a Deus pela sua graca imensuravel em todos osmomentos da minha vida

Agradecer a minha amada mae Gilza que apesar de todas as dificuldades presentesem uma pequena cidadezinha do interior foi incansavel na tarefa de criar a mim e meusirmaos com muito amor prezando sempre pelos nossos estudos e para que nos tornassemospessoas de carater

A meu amado pai Carlos lavrador que derramou muito suor para que pudesse susten-tar com dignidade uma famılia com cinco integrantes mesmo com o ensino fundamentalincompleto sempre priorizou pelos estudos dos filhos e o homem mais sabio que eu co-nheco

A minha orientadora professora Tatiane que orientou-me com excelencia durantetodo o perıodo de desenvolvimento desse trabalho sempre com muita paciencia e co-brando com muita compreensao

Aos meus professores desde os responsaveis pela minha alfabetizacao ate os profes-sores do curso que me apresentaram visoes esplendidas de novas formas de ve o mundo

A meus amados irmaos Genicleide e Carlos Junior que compartilharam comigo mo-mentos de apreensao e de muitas felicidades

A minha grande amiga Dalila antiga professora do ensino medio que acabou setornando uma pessoa muito especial e sem sombra de duvidas merece muito a minhagratidao Se hoje tenho a oportunidade de estar finalizando esse curso que tanto amo emuma excelente Universidade e tambem gracas a um pontape dela la no inıcio

A Miriam uma segunda mae sempre com conselhos que levarei para a vida inteiraalem de preocupar-se sempre com meus estudos e com o andamento do curso mesmocom a distancia

A Associacao dos Estudantes Baixagrandenses (ASSEB) que desde o final do ensinomedio ja dava apoio para que eu pudesse sair do interior e ter a oportunidade de fazero curso que eu sempre sonhava e continua dando apoio ate que eu possa finalmentefinaliza-lo

A minha madrinha Sara que me deu meu primeiro notebook assim que entrei nocurso e nao tinha condicoes de adquirir um

A Pro-Reitoria de Acoes Afirmativas e Assistencia Estudantil (PROAE) pela as-sistencia estudantil que permitiu que um menino pobre do interior pudesse se manter

v

AGRADECIMENTOS vi

em uma cidade desconhecida e sem familiares por pertoAo grupo de Gestores da Rede Academica de Computacao (GRACO) que me permitiu

obter conhecimentos fantasticos sobre redes e sistemas LinuxEnfim agradeco a todas as pessoas que de alguma forma direta ou indiretamente

contribuıram para que eu pudesse estar concluindo mais esta importante e feliz etapa daminha vida

Nao se deve ir atras de objetivos faceis e preciso buscar o que so pode

ser alcancado por meio dos maiores esforcos

mdashALBERT EINSTEIN

RESUMO

O presente trabalho de conclusao de curso pretende realizar com base nas pesquisas daarea de programacao em logica mineracao de dados e campos de conhecimento relaci-onados uma investigacao da utilizacao de logica Fuzzy em Logica de Primeira Ordempor meio do Prolog Foi demonstrada por meio de evidencias experimentais e analisesdos erros medios absolutos dos resultados dos experimentos que o Fuzzy-Prolog obtevebons resultados quando comparado com a biblioteca JFuzzyLogic implementada na lin-guagem Java Ao longo desta monografia portanto sao discutidos aspectos relevantesda etapa de pre-processamento das bases de dados utilizadas para classificacao da re-alizacao da predicao das classes de instancias de teste e dos criterios de validacao daclassificacao obtida da comparacao dos resultados da abordagem com Fuzzy-Prolog eJFuzzyLogic Adicionalmente para contextualizar outras abordagens de programacaologica com Fuzzy-Prolog sao apresentadas e destacadas pesquisas em trabalhos relacio-nados A pesquisa realizada para desenvolvimento deste trabalho tem como contribuicaouma forma automatica de geracao de regras fuzzy sem a presenca de especialistas mes-clada a utilizacao do Fuzzy-Prolog em classificacao Os resultados da pesquisa estimulamnovas formas de abordagens cuja execucao certamente ira transcorrer em trabalhos fu-turos

Palavras-chave mineracao de dados logica fuzzy classificacao prolog logica deprimeira ordem aprendizado de maquina inteligencia artificial

viii

ABSTRACT

The present work of course completion intends to carry out an investigation of the useof Fuzzy logic in First Order Logic through Prolog based on research in the of the pro-gramming area in logic data mining and related fields of knowledge Throughout thismonograph therefore important aspects of the preprocessing stage of the databases usedfor classification are discussed the performance of the prediction of the classes of testinstances and the criteria of validation of the classification obtained of the results ofthe Fuzzy-Prolog approach with JFuzzyLogic In order to contextualize other logical pro-gramming approaches with Fuzzy-Prolog research is presented and highlighted in relatedworks The research carried out for the development of this work has as contribution anautomatic form of fuzzy rules generation without the presence of specialists already wellknown but that can be mixed with the use of Fuzzy-Prolog in classification for exam-ple We show here through experimental evidence and analyzes of the absolute meanerrors of the results of the experiments by comparing Fuzzy-Prolog and JFuzzyLogicthat Fuzzy-Prolog obtained good results The results of the research stimulate new formsof approaches whose execution will certainly occur in future works

Keywords data mining fuzzy logic classificaton prolog first-order logic machinelearning artificial intelligence

ix

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 7: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

AGRADECIMENTOS vi

em uma cidade desconhecida e sem familiares por pertoAo grupo de Gestores da Rede Academica de Computacao (GRACO) que me permitiu

obter conhecimentos fantasticos sobre redes e sistemas LinuxEnfim agradeco a todas as pessoas que de alguma forma direta ou indiretamente

contribuıram para que eu pudesse estar concluindo mais esta importante e feliz etapa daminha vida

Nao se deve ir atras de objetivos faceis e preciso buscar o que so pode

ser alcancado por meio dos maiores esforcos

mdashALBERT EINSTEIN

RESUMO

O presente trabalho de conclusao de curso pretende realizar com base nas pesquisas daarea de programacao em logica mineracao de dados e campos de conhecimento relaci-onados uma investigacao da utilizacao de logica Fuzzy em Logica de Primeira Ordempor meio do Prolog Foi demonstrada por meio de evidencias experimentais e analisesdos erros medios absolutos dos resultados dos experimentos que o Fuzzy-Prolog obtevebons resultados quando comparado com a biblioteca JFuzzyLogic implementada na lin-guagem Java Ao longo desta monografia portanto sao discutidos aspectos relevantesda etapa de pre-processamento das bases de dados utilizadas para classificacao da re-alizacao da predicao das classes de instancias de teste e dos criterios de validacao daclassificacao obtida da comparacao dos resultados da abordagem com Fuzzy-Prolog eJFuzzyLogic Adicionalmente para contextualizar outras abordagens de programacaologica com Fuzzy-Prolog sao apresentadas e destacadas pesquisas em trabalhos relacio-nados A pesquisa realizada para desenvolvimento deste trabalho tem como contribuicaouma forma automatica de geracao de regras fuzzy sem a presenca de especialistas mes-clada a utilizacao do Fuzzy-Prolog em classificacao Os resultados da pesquisa estimulamnovas formas de abordagens cuja execucao certamente ira transcorrer em trabalhos fu-turos

Palavras-chave mineracao de dados logica fuzzy classificacao prolog logica deprimeira ordem aprendizado de maquina inteligencia artificial

viii

ABSTRACT

The present work of course completion intends to carry out an investigation of the useof Fuzzy logic in First Order Logic through Prolog based on research in the of the pro-gramming area in logic data mining and related fields of knowledge Throughout thismonograph therefore important aspects of the preprocessing stage of the databases usedfor classification are discussed the performance of the prediction of the classes of testinstances and the criteria of validation of the classification obtained of the results ofthe Fuzzy-Prolog approach with JFuzzyLogic In order to contextualize other logical pro-gramming approaches with Fuzzy-Prolog research is presented and highlighted in relatedworks The research carried out for the development of this work has as contribution anautomatic form of fuzzy rules generation without the presence of specialists already wellknown but that can be mixed with the use of Fuzzy-Prolog in classification for exam-ple We show here through experimental evidence and analyzes of the absolute meanerrors of the results of the experiments by comparing Fuzzy-Prolog and JFuzzyLogicthat Fuzzy-Prolog obtained good results The results of the research stimulate new formsof approaches whose execution will certainly occur in future works

Keywords data mining fuzzy logic classificaton prolog first-order logic machinelearning artificial intelligence

ix

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 8: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

Nao se deve ir atras de objetivos faceis e preciso buscar o que so pode

ser alcancado por meio dos maiores esforcos

mdashALBERT EINSTEIN

RESUMO

O presente trabalho de conclusao de curso pretende realizar com base nas pesquisas daarea de programacao em logica mineracao de dados e campos de conhecimento relaci-onados uma investigacao da utilizacao de logica Fuzzy em Logica de Primeira Ordempor meio do Prolog Foi demonstrada por meio de evidencias experimentais e analisesdos erros medios absolutos dos resultados dos experimentos que o Fuzzy-Prolog obtevebons resultados quando comparado com a biblioteca JFuzzyLogic implementada na lin-guagem Java Ao longo desta monografia portanto sao discutidos aspectos relevantesda etapa de pre-processamento das bases de dados utilizadas para classificacao da re-alizacao da predicao das classes de instancias de teste e dos criterios de validacao daclassificacao obtida da comparacao dos resultados da abordagem com Fuzzy-Prolog eJFuzzyLogic Adicionalmente para contextualizar outras abordagens de programacaologica com Fuzzy-Prolog sao apresentadas e destacadas pesquisas em trabalhos relacio-nados A pesquisa realizada para desenvolvimento deste trabalho tem como contribuicaouma forma automatica de geracao de regras fuzzy sem a presenca de especialistas mes-clada a utilizacao do Fuzzy-Prolog em classificacao Os resultados da pesquisa estimulamnovas formas de abordagens cuja execucao certamente ira transcorrer em trabalhos fu-turos

Palavras-chave mineracao de dados logica fuzzy classificacao prolog logica deprimeira ordem aprendizado de maquina inteligencia artificial

viii

ABSTRACT

The present work of course completion intends to carry out an investigation of the useof Fuzzy logic in First Order Logic through Prolog based on research in the of the pro-gramming area in logic data mining and related fields of knowledge Throughout thismonograph therefore important aspects of the preprocessing stage of the databases usedfor classification are discussed the performance of the prediction of the classes of testinstances and the criteria of validation of the classification obtained of the results ofthe Fuzzy-Prolog approach with JFuzzyLogic In order to contextualize other logical pro-gramming approaches with Fuzzy-Prolog research is presented and highlighted in relatedworks The research carried out for the development of this work has as contribution anautomatic form of fuzzy rules generation without the presence of specialists already wellknown but that can be mixed with the use of Fuzzy-Prolog in classification for exam-ple We show here through experimental evidence and analyzes of the absolute meanerrors of the results of the experiments by comparing Fuzzy-Prolog and JFuzzyLogicthat Fuzzy-Prolog obtained good results The results of the research stimulate new formsof approaches whose execution will certainly occur in future works

Keywords data mining fuzzy logic classificaton prolog first-order logic machinelearning artificial intelligence

ix

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 9: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

RESUMO

O presente trabalho de conclusao de curso pretende realizar com base nas pesquisas daarea de programacao em logica mineracao de dados e campos de conhecimento relaci-onados uma investigacao da utilizacao de logica Fuzzy em Logica de Primeira Ordempor meio do Prolog Foi demonstrada por meio de evidencias experimentais e analisesdos erros medios absolutos dos resultados dos experimentos que o Fuzzy-Prolog obtevebons resultados quando comparado com a biblioteca JFuzzyLogic implementada na lin-guagem Java Ao longo desta monografia portanto sao discutidos aspectos relevantesda etapa de pre-processamento das bases de dados utilizadas para classificacao da re-alizacao da predicao das classes de instancias de teste e dos criterios de validacao daclassificacao obtida da comparacao dos resultados da abordagem com Fuzzy-Prolog eJFuzzyLogic Adicionalmente para contextualizar outras abordagens de programacaologica com Fuzzy-Prolog sao apresentadas e destacadas pesquisas em trabalhos relacio-nados A pesquisa realizada para desenvolvimento deste trabalho tem como contribuicaouma forma automatica de geracao de regras fuzzy sem a presenca de especialistas mes-clada a utilizacao do Fuzzy-Prolog em classificacao Os resultados da pesquisa estimulamnovas formas de abordagens cuja execucao certamente ira transcorrer em trabalhos fu-turos

Palavras-chave mineracao de dados logica fuzzy classificacao prolog logica deprimeira ordem aprendizado de maquina inteligencia artificial

viii

ABSTRACT

The present work of course completion intends to carry out an investigation of the useof Fuzzy logic in First Order Logic through Prolog based on research in the of the pro-gramming area in logic data mining and related fields of knowledge Throughout thismonograph therefore important aspects of the preprocessing stage of the databases usedfor classification are discussed the performance of the prediction of the classes of testinstances and the criteria of validation of the classification obtained of the results ofthe Fuzzy-Prolog approach with JFuzzyLogic In order to contextualize other logical pro-gramming approaches with Fuzzy-Prolog research is presented and highlighted in relatedworks The research carried out for the development of this work has as contribution anautomatic form of fuzzy rules generation without the presence of specialists already wellknown but that can be mixed with the use of Fuzzy-Prolog in classification for exam-ple We show here through experimental evidence and analyzes of the absolute meanerrors of the results of the experiments by comparing Fuzzy-Prolog and JFuzzyLogicthat Fuzzy-Prolog obtained good results The results of the research stimulate new formsof approaches whose execution will certainly occur in future works

Keywords data mining fuzzy logic classificaton prolog first-order logic machinelearning artificial intelligence

ix

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 10: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

ABSTRACT

The present work of course completion intends to carry out an investigation of the useof Fuzzy logic in First Order Logic through Prolog based on research in the of the pro-gramming area in logic data mining and related fields of knowledge Throughout thismonograph therefore important aspects of the preprocessing stage of the databases usedfor classification are discussed the performance of the prediction of the classes of testinstances and the criteria of validation of the classification obtained of the results ofthe Fuzzy-Prolog approach with JFuzzyLogic In order to contextualize other logical pro-gramming approaches with Fuzzy-Prolog research is presented and highlighted in relatedworks The research carried out for the development of this work has as contribution anautomatic form of fuzzy rules generation without the presence of specialists already wellknown but that can be mixed with the use of Fuzzy-Prolog in classification for exam-ple We show here through experimental evidence and analyzes of the absolute meanerrors of the results of the experiments by comparing Fuzzy-Prolog and JFuzzyLogicthat Fuzzy-Prolog obtained good results The results of the research stimulate new formsof approaches whose execution will certainly occur in future works

Keywords data mining fuzzy logic classificaton prolog first-order logic machinelearning artificial intelligence

ix

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 11: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

SUMARIO

Capıtulo 1mdashIntroducao 1

Capıtulo 2mdashFundamentacao Teorica 4

21 Consideracoes iniciais 422 Conjuntos Fuzzy 5

221 Funcoes de Pertinencia 523 Sistemas Fuzzy baseado em regras 6

231 Metodos de Defuzzificacao 824 Prolog 825 Consideracoes finais 9

Capıtulo 3mdashTrabalhos Relacionados 10

31 Consideracoes Iniciais 1032 Utilizacao do Prolog como mecanismo de inferencia Fuzzy 1033 Consideracoes finais 13

Capıtulo 4mdashAbordagem proposta 15

41 Consideracoes inicias 1542 Geracao de Regras de WangampMendel 15

421 Etapa 1 16422 Etapa 2 16423 Etapa 3 16424 Etapa 4 17425 Etapa 5 17

43 Abordagem Proposta 1844 Experimentos 20

441 Resultados e discussao da base de dados Iris 21442 Resultados e discussao da base de dados Wine Quality 23443 Resultados e discussao da base de dados Contraceptive Method

Choice 26444 Resultados e discussao da base de dados Abalone 29445 Resultados e discussao da base de dados Wireless Indoor Localization 32446 Discussao dos Resultados 35

45 Consideracoes finais 36

x

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 12: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

SUMARIO xi

Capıtulo 5mdashConclusao 38

51 Trabalhos futuros 39

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 13: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

LISTA DE FIGURAS

21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana 6

22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras 7

41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com3 regioes (N = 1) 17

42 Desenho do processo de experimentacao que sera abordado mais adiantenesta monografia 19

43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3 22

44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5 23

45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3 26

46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11 27

47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 28

48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 28

49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3 30

410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11 30

411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3 32

412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29 33

413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3 34

414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5 35

xii

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 14: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

LISTA DE TABELAS

41 Resumo das caracterısticas das bases de dados 2142 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Iris 2143 Erros obtidos na classificacao da base de dados Iris RA (Regioes de

Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2244 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - Red 2445 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wine Quality - White 2446 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2547 Erros obtidos na classificacao da base de dados Wine-White RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 2548 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Contraceptive Method Choice 2749 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 29410 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Abalone 31411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 31412 Caracterısticas dos atributos do conjunto de treinamento da base de dados

Wireless Indoor Localization 33413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioes

de Atributos) RS (Regioes da Saıda) e RG (Regras Geradas) 34414 Resumo dos resultados obtidos em cada base de dados para as duas abor-

dagens apresentadas nesta monografia 36

xiii

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 15: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

Capıtulo

1Uma breve introducao sobre do que se trata esta monografia e a maneira como o texto esta organizado

INTRODUCAO

Uma grande quantidade de dados e gerada diariamente quer seja pela internet ou porvarias empresas ao redor do mundo1 Para retirar informacao util desses dados e ne-cessario processar essas informacoes em bases de dados muitas vezes mal estruturadas ede difıcil compreensao

Neste contexto a area de Aprendizado de Maquina tem crescido em investimentosestudos e ferramentas cada vez mais confiaveis desenvolvidas com o intuito de automatizartodo esse processo de analise aquisicao de informacoes uteis e classificacao sobre essasbases de dados1

Considerando que muitos dados e informacoes que sao coletadas retratam tomadas dedecisoes humanas e em alguns casos modelam o mundo real a forma humana de pensarfaz-se necessaria uma abordagem que considere a imprecisao e incerteza inerente aosdados Em Klir e Yuan (1995) ha a seguinte afirmacao sobre incerteza

De acordo com a visao alternativa (ou moderna) a incerteza e consideradaessencial para a ciencia nao e apenas uma praga inevitavel mas de fato euma otima utilidade

Considerar a incerteza uma otima utilidade como afirmado por Klir e Yuan (1995)favoreceu o uso da logica Fuzzy a qual e baseada na teoria de conjuntos fuzzy cujassentencas que representam afirmacoes do mundo real variam em grau de verdade entre0 e 1 podendo ser parcialmente verdadeira ou parcialmente falsa garantindo graus deimprecisao e incerteza

Adicionalmente sistemas que consideram a imprecisao humana requerem o uso de umalinguagem de programacao em que seja possıvel expressar convenientemente regras parainterpretar informacoes e extrair elementos-chaves para o processamento de conhecimentoincerto util bem como uma tecnologia que possa executar essas regras de forma muitoeficiente

1httpwwwbigdatabusinesscombros-grandes-e-impressioantes-numeros-de-big-data

1

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 16: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

INTRODUCAO 2

Sendo assim o Prolog uma linguagem do paradigma de Programacao em Logica Ma-tematica apresenta-se como uma linguagem ideal devido a sua simplicidade capacidadeexpressiva e proximidade com linguagem natural E uma linguagem para implementarde maneira intuitiva qualquer logica ou raciocınio baseado em regras inclusive pararepresentar tomadas de decisoes incertas como na logica Fuzzy

Por outro lado a linguagem Java criada na decada de 90 e uma linguagem orientada aobjetos estruturada imperativa fortemente tipada e baseada em classes Normalmentea linguagem e compilada para o conjunto de instrucoes bytecode e o formato binariodefinido na Especificacao de Maquina Virtual Java2 Alem disso Java e consideradasegura e confiavel3

Para a realizacao de inferencia fuzzy e consequentemente extracao de conhecimentoincerto tais linguagens podem ser utilizadas por intermedio de ferramentas desenvolvidasespecificamente para tal atividade Sendo assim utilizando a linguagem Java tem-seentre outras a ferramenta JFuzzyLogic enquanto utilizando a linguagem Prolog tem-sea abordagem Fuzzy-Prolog ambas utilizadas como mecanismos para investigacao nestetrabalho

Diante deste contexto tendo em vista que muitos dados apresentados para analistas dedados representam informacoes que ele pode nao ter conhecimento especialista suficientepara realizar uma analise detalhada faz-se necessario uma abordagem capaz de analisarestes dados com certa confiabilidade

De forma a servir de guia para a analise apresentada neste trabalho foi formulada aseguinte hipotese

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Para demonstrar a validade desta hipotese formulada com base na exploracao dasabordagens existentes na literatura sobre inferencia fuzzy utilizando Prolog definiu-se oseguinte objetivo

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

A fim de atender a esse objetivo foram realizadas as seguinte tarefas ao longo dodesenvolvimento desta monografia estudo dos fundamentos teoricos necessarios para aimplementacao flexıvel de conhecimento revisao das abordagens existentes que se dizemrespeito a incorporacao de logica fuzzy no mecanismo de inferencia do Prolog conducaode diversos experimentos para analisar o comportamento desta abordagem com Fuzzy-Prolog e compara-lo a uma abordagem Fuzzy

2httpsdocsoraclecomjavase7docstechnotesguideslanguageindexhtml3httpswwwjavacompt BRdownloadfaqwhatis javaxml

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 17: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

INTRODUCAO 3

Detalhes de cada tarefa realizada bem como a comprovacao da hipotese levantadasao apresentados ao longo deste trabalho como segue

Capıtulo 2 Neste capıtulo os fundamentos teoricos necessarios para compreendero processo de inferencia em Fuzzy e no Prolog

Capıtulo 3 Este capıtulo aborda uma breve revisao das principais literaturas en-contradas sobre o tema com diversas abordagens apresentadas pelos pesquisadores

Capıtulo 4 Neste capıtulo um estudo dos impactos da utilizacao do Fuzzy-Prolog eapresentado por meio da realizacao de analises experimentais em comparacao com analisesexperimentais do JFuzzyLogic que traz uma abordagem Fuzzy

Capıtulo 5 Por fim este capıtulo contempla as conclusoes obtidas de todo o estudorealizado nesta monografia assim como discussoes a respeito dos resultados obtidos nosexperimentos Aqui tambem estao apontadas algumas possibilidades de extensoes quepodem derivar desta pesquisa

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 18: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

Capıtulo

2Este capıtulo tem como objetivo fundamentar as bases necessarias dos campos de estudos utilizados nesta

monografia

FUNDAMENTACAO TEORICA

21 CONSIDERACOES INICIAIS

A logica fuzzy foi proposta por Zadeh (1965) onde o autor define conjuntos fuzzy osquais constituem classes de objetos com valores contınuos de pertinencia Cada conjuntoe caracterizado por uma funcao de pertinencia a qual atribui a cada elemento do conjuntoum grau de pertinencia que varia entre zero e um As operacoes matematicas da teoriados conjuntos como inclusao uniao interseccao complemento relacao etc tambemsao estendidas aos conjuntos fuzzy assim como varias propriedades dessas notacoes saodefinidas

Uma forte motivacao para o uso da logica fuzzy veio da maneira como os seres hu-manos estao constantemente classificando e rotulando o mundo real Por exemplo aoamanhecer ja classificam se o dia esta quente ou frio Assim como ao fazer uma corridamatinal podem considerar a distancia percorrida como longa ou curta Este conjuntode dias quentes ou frios e distancias longas ou curtas nao sao abrangidas na sua totali-dade na logica classica afinal estas formas imprecisas de descrever o mundo tem papelimportante no processo cognitivo humano

Diante dessa estreita relacao entre logica fuzzy e a forma humana de pensar surgeentao uma nova motivacao para o uso do Prolog O Prolog foi introduzido por Colme-rauer e Roussel (1996) ja definindo alguns conceitos ainda preliminares na epoca sobrepredicados e fatos A Programacao em Logica do Prolog torna-se bem atraente com ascaracterısticas da logica fuzzy

Neste sentido esta secao tem como proposito contextualizar os principais aspectosda logica fuzzy e do Prolog que os tornam importantes no contexto de aprendizagem demaquina Ressalta-se portanto que definicoes mais aprofundadas sobre a logica fuzzy esobre o Prolog fogem do escopo desse texto

4

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 19: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

22 CONJUNTOS FUZZY 5

22 CONJUNTOS FUZZY

Um conjunto S e definido na logica classica por meio da funcao caracterıstica

S X rarr 0 1

em que elementos do conjunto universo X pertencem totalmente ao conjunto S quandoS(x) = 1 e nao pertencem quando S(x) = 0

A generalizacao da funcao caracterıstica para funcao de pertinencia associara elemen-tos de um dado conjunto universo X a numeros reais no intervalo [01] definindo umconjunto fuzzy

Logo um conjunto fuzzy S no conjunto universo X e caracterizado pela funcao

S X rarr [0 1]

e S(x) definira o grau que o elemento x pertence ao conjunto fuzzy S segundo Klir eYuan (1995) Uma das mais importantes aplicacoes esta no tratamento de imprecisao eincerteza O que nos permite modelar solucoes mais adequadas para ambientes imprecisose incertos

221 Funcoes de Pertinencia

A forma de um conjunto fuzzy depende da funcao de pertinencia que o define (Nogueira2008) Algumas tornaram-se mais populares por serem mais conhecidas e sao frequente-mente utilizadas pela sua simplicidade Nesta subsecao serao apresentados os tres tiposde funcoes de pertinencia mais conhecidos cuja representacao grafica pode ser observadana Figura 21

1 Funcao Triangular e definida pelos parametros a m e b tal que a le m le b

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x = mbminus x

bminusmse x isin (m b)

0 se x ge b

2 Funcao Trapezoidal definida pelos parametros a m n b tal que a le m le n le b

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 20: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

23 SISTEMAS FUZZY BASEADO EM REGRAS 6

A(x) =

0 se x le axminus a

mminus ase x isin (am)

1 se x isin [mm]bminus x

bminus nse x isin (n b)

0 se x ge b

3 Funcao Gaussiana definida pelos parametros m e k tal que k gt 0

A(x) =eminusk(xminusm)2

Figura 21 Funcoes de Pertinencia mais comuns (a) Triangular (b) Trapezoidal e (c)Gaussiana

23 SISTEMAS FUZZY BASEADO EM REGRAS

As regras sao utilizadas como um mecanismo formal para representar o conhecimentode um domınio Segundo Nogueira (2008) as regras fuzzy permitem a representacao deconhecimento impreciso o que muitas vezes torna a modelagem do problema mais fiel eadequada ao mundo real

Para tanto o conceito de variavel linguıstica faz-se necessario no processo de criacao deregras fuzzy as quais sao variaveis cujos valores sao palavras ou sentencas em linguagemnatural ao inves de numeros Com este conceito formulado problemas naturalmenteimprecisos e complexos passam a ser manipulaveis por computadores A interpretacaode um determinado conhecimento expresso na forma linguıstica torna-se passıvel de umarepresentacao matematica gracas a essas variaveis

Por meio destas variaveis linguısticas as regras fuzzy possibilitam a expressao clarade diretivas e estrategias captam o conhecimento experimental de especialistas humanose possuem um formato linguıstico de facil compreensao

Regras fuzzy sao semelhantes as regras convencionais por exemplo

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 21: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

23 SISTEMAS FUZZY BASEADO EM REGRAS 7

SE antecedente ENTAO consequente

De acordo com Nogueira (2008) esse formato tem a finalidade de estabelecer relacoesentre as variaveis que aparecem no antecedente tambem chamado de condicao ou pre-missa e as que aparecem no consequente tambem chamado de conclusao ou acao Porexemplo a regra

SE o tempo e nublado ENTAO a chance de jogar tenis e muito grande

estabelece uma relacao entre a variavel tempo e chance de jogar tenis usando os ter-mos linguısticos (ou regioes) nublado e muito grande que sao imprecisos

Os Sistemas Fuzzy Baseados em Regras (SFBR) sao compostos principalmente pordois componentes a Base de Conhecimento e o Mecanismo de Inferencia

A Base de Conhecimento e composta pela Base de Dados a qual contem as definicoesdos conjuntos fuzzy relacionados aos termos linguısticos utilizados nas regras fuzzy e pelaBase de Regras que armazenam um conjunto de regras que modelam um determinadoproblema A Figura 22 apresentada por Nogueira (2008) ilustra a estrutura de umaBase de Conhecimento fuzzy

Figura 22 Base de Conhecimento de um Sistema Fuzzy Baseado em Regras

O Motor de Inferencia fuzzy e responsavel pelo processamento das regras o qual erealizado por algum metodo de raciocınio Nogueira (2008) A partir de regras e fatos co-nhecidos entao e possıvel aplicar um procedimento de inferencia para derivar conclusoes

Nogueira (2008) apresenta o modo de operacao de um Sistema Fuzzy Baseado emRegras com as seguintes etapas

1 Fuzzificacao transformacao de valores de entrada em conjuntos fuzzy Para entra-das numericas neste passo sera realizado o calculo do grau de pertinencia de cadavalor de entrada do conjunto fuzzy correspondente

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 22: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

24 PROLOG 8

2 Calculo do Grau de Disparo da regra agregacao dos antecedentes da regra para ocalculo de conjuncao fuzzy

3 Aplicacao da inferencia com a derivacao dos resultados individuais para cada regra

4 Combinacao de possıveis saıdas fuzzy

5 Defuzzificacao transformacao do resultado fuzzy em um resultado preciso Esteprocesso pode nao ocorrer dependendo da aplicacao do Sistema Fuzzy

231 Metodos de Defuzzificacao

Varios metodos de defuzzificacao sao utilizados para converter resultados linguısticos dainferencia em um valor real que melhor o represente Entre eles estao o Centro de AreaCentro de Maximos Media de Maximos Centro de Maximos Ponderado Valor maisplausıvel e outros Uma vez que o metodo utilizado nesta monografia e o Centro deGravidade este sera o unico metodo destes descritos que sera detalhado nesta subsecao

O metodo do Centroide e um dos mais utilizados (para Centro de Gravidade ou Centrode Massa) A saıda precisa y e dada pelo centro de gravidade do conjunto de consequenteobtido pela composicao das regras Neste caso K indica o numero de regras fuzzy na basede regras yi indica o valor central (centroide) da regiao Oi e mi

Oi o grau de pertinenciada variavel de saıda Por meio da media ponderada das regioes encontra-se o ponto deequilıbrio da regiao fuzzy conforme visualizado na Equacao

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

A Equacao representa o metodo de defuzzificacao do CentroideDesta forma todas as instancias testadas nesta monografia tiveram seus valores che-

cados e verificados aplicando a Formula a todas as bases de dados utilizadas

24 PROLOG

Segundo Bratko (1990) o Prolog e uma linguagem de programacao centrada em tornode um pequeno conjunto de mecanismos basicos incluindo correspondencia de padroesestruturacao de dados baseados em arvores e backtracking automatico Este pequeno con-junto constitui uma estrutura de programacao robusta e flexıvel Prolog representa umalinguagem poderosa para Inteligencia Artificial e programacao simbolica e nao-numericaem geral

Enquanto as linguagens convencionais sao orientadas para o procedimento o Prologapresenta a visao descritiva ou declarativa Isso altera muito o modo de pensar sobreproblemas e torna a aprendizagem programada no Prolog um desafio intelectual (Bratko1990)

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 23: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

25 CONSIDERACOES FINAIS 9

A estrutura de um projeto em Prolog e formada basicamente por fatos e clausulasProlog e especialmente adequado para resolver problemas que envolvem objetos e relacoesentre objetos O exemplo abaixo demonstra uma relacao de paternidade e mostra comoum fato e escrito em Prolog

pai(joao felipe)

que pode ser lido naturalmente como ldquoJoao e pai de Feliperdquo

25 CONSIDERACOES FINAIS

Neste capıtulo foi apresentado e fundamentado a teoria necessaria para se compreender ostemas estudados nesta monografia De maneira geral foi apresentado que a proposicao dalogica fuzzy proporcionou a capacidade de tratamento de imprecisao e incerteza inerentesao mundo real e ao conhecimento humano Esta imprecisao e incerteza sao utilizadas commuita frequencia pelas pessoas para classificar objetos

Foi visto que o Prolog nativamente criado para Programacao em Logica e uma ferra-menta renomada nas pesquisas de Inteligencia Artificial Diferentemente das linguagensconvencionais Prolog e especialmente adequado para resolver problemas que envolvemrelacoes entre objetivos

Foram vistas algumas outras breves definicoes sobre a etapa de Pre-Processamento eClassificacao em Aprendizado de Maquina A Classificacao sera uma etapa importanteno processo de experimentacao desta monografia com ela que serao obtidos os resultadosque serao analisados no Capıtulo 4

Considerando o objetivo definido nessa monografia sera proposto entao uma juncaoda Logica Fuzzy com a Logica de Primeira Ordem do Prolog com abordagens que seraovistas a partir do proximo capıtulo

No proximo capıtulo sera apresentada uma breve revisao das pesquisas desenvolvidassobre o tema abordado nesta monografia

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 24: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

Capıtulo

3Trabalhos relacionados a utilizando logica fuzzy com Prolog

TRABALHOS RELACIONADOS

31 CONSIDERACOES INICIAIS

A proposta de utilizacao da linguagem natural Prolog para inferencia em logica fuzzyabrange varios campos de estudo Isso a torna bastante densa e robusta Para que aatividade de pesquisa e selecao do conhecimento cientıfico fosse bem fundamentada asproducoes cientıficas mais referenciadas sao citadas a seguir

Foram realizadas buscas por artigos que tratassem do tema nos repositorios IEEEx-plore1 e ACM Digital Library2

Tais artigos apesar de serem mais antigos sao bastante citados em producoes maisatuais tendo alta relevancia para esta producao cientifica e foram adicionados para com-pletar os resultados obtidos da busca

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY

A logica fuzzy foi proposta por Zadeh (1965) para fornecer mecanismos que pudessem lidarcom a imprecisao e incerteza presentes em diversos problemas do mundo real A partirdesse trabalho desenvolvido por Zadeh (1965) varias pesquisas futuras se propuserama explorar intensivamente os benefıcios concedidos pela flexibilidade proporcionada pelalogica fuzzy Dentre esses trabalhos muitos pesquisadores preocuparam-se em apresentaruma alternativa ao paradigma tradicional baseado apenas em true ou false atraves do usode conjuntos difusos e variaveis linguısticas para modelagem de expressoes de linguagemnatural que pudessem fazer a ponte entre o mundo simbolico impreciso da linguagemnatural e o paradigma tradicional do computador como em Kaminski (1992)

Neste sentido sabe-se que o Prolog tem sido amplamente utilizado na pesquisa deinteligencia artificial Porem uma das suas deficiencias e a falta de um mecanismonatural para lidar com a incerteza segundo relata Martin et al (1987) Uma possıvel

1httpieeexploreieeeorg2httpsdlacmorg

10

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 25: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 11

solucao para este problema delineada em varias pesquisas cientıficas e nesta monografiae basear Prolog em logica difusa ao inves de logica convencional de dois valores

Segundo Bratko (1990) pode-se modelar a incerteza em Prolog ao atribuir as assercoesalguma qualificacao que nao seja true ou false algo que nao e natural da linguagem Essaqualificacao pode ser expressa por termos linguısticos - por exemplo verdade altamenteprovavel provavel improvavel impossıvel Alternativamente o grau de crenca pode serexpresso como um numero real em algum perıodo - por exemplo entre 0 e 1 Essesnumeros apresentam varias definicoes como ldquofator de certezardquo ldquomedida de crencardquoldquocerteza subjetivardquo ou ldquograu de pertinenciardquo Seguindo essa linha de representacao daincerteza por meio de expressoes de linguagem natural Kaminski (1992) ressalta queabordagens difusas foram utilizadas em muitas areas de aplicacao incluindo sistemas decontrole reconhecimento de padroes sistemas especializados analise de risco e tomadade decisao medica E quando usado com variaveis linguısticas para modelar expressoesde linguagem natural o paradigma fuzzy fornece um bom formato para explorar algunsdos problemas da conexao humanocomputador e representa com precisao a semantica dalinguagem cotidiana modelando o esquema de representacao do conhecimento humanooperacionalizando e quantificando conceitos imprecisos e nao discretos

Sendo assim o Prolog e uma ferramenta muito conveniente para projetar regrasproximas ao raciocınio humano uma vez que e mais direcionada ao conhecimento doque em algoritmos apresenta uma abordagem logica e simbolica consulta a base de da-dos baseado em regras e modelagem do raciocınio humano Por conseguinte assim comoo conhecimento humano lida com incertezas e imprecisoes o Prolog tambem precisa lidarcom essas incertezas confusoes ou incompletude da informacao

Neste contexto Martin et al (1987) introduziu o sistema FProlog um interpretadorFuzzy Prolog escrito em Franz Lisp Ressalta fortemente a presenca no Prolog da es-trategia de backtracking de profundidade e primeira profundidade usada para explorar aarvore de pesquisa O processo de correspondencia (unificacao) garante por substituicoesapropriadas que o cabecalho da clausula e o sub-objetivo sao identicos Algo que garantevantagens a modelagem do mecanismo de inferencia da logica fuzzy em Prolog

Martin et al (1987) considera Prolog uma linguagem versatil e conveniente para pes-quisas de Inteligencia Artificial uma vez que em muitas de suas aplicacoes informacoesdifusas estao envolvidas e e necessario refletir isso no Prolog Por exemplo dado umconjunto de fatos sobre temperaturas medias pode-se definir um predicado que ira de-terminar quao quente e ensolarada sera uma area por exemplo

area quente e ensolarada(XCHI) - temp media(XT ) quente(TCHI1)

incidencia raios solares(XS) ensolarado(SCHI2)

combinar(CHI1 CHI2 CHI) ()

Onde CHI e o grau de pertinencia da regra obtido por alguma combinacao (minou max ) dos graus de pertinencia obtidos nos predicados anteriores (quente(T CHI1)e ensolarado(S CHI2) que determinam quao quente e uma determinada temperaturaT e quao ensolarada e uma determinada area S respectivamente) Martin et al (1987)

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 26: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

32 UTILIZACAO DO PROLOG COMO MECANISMO DE INFERENCIA FUZZY 12

considera que embora seja viavel lidar com a incerteza dessa maneira os programasProlog resultantes podem ser desordenados e difıceis de interpretar se nao estruturadosde uma forma coerente Uma solucao alternativa proposta por ele e levar a incerteza nointerpretador Prolog por meio do FProlog ao inves de tentar adicionar incerteza a umsistema existente Esta e uma abordagem muito mais natural produzindo um codigo maislegıvel juntamente com um sistema mais geral que se reduz ao padrao Prolog quandonao ha incerteza

Mais recentemente Rubio-Manzano e Julian-Iranzo (2014) propuseram um modelode raciocınio mais robusto baseado em relacoes semanticas (palavras sinonimas porexemplo) entre palavras para incorpora-la no mecanismo de inferencia de uma linguagemde programacao logica Este modelo esta integrado em uma estrutura de programacao delogica fuzzy e e implementado no sistema BousisimProlog3 usando o WordNet4 Todo esseprocesso e transparente para o programador e o raciocınio com palavras e automaticoA semantica lexical entre sımbolos proporciona a capacidade de raciocinar com palavrase transforma a representacao do conhecimento em um processo mais natural e menoscomplexo BousisimProlog (BPL) e uma extensao da linguagem Prolog padrao

Levando em conta que o raciocınio logico e dedutivo e o raciocınio humano e prin-cipalmente indutivo abdutivo e empırico Rubio-Manzano e Julian-Iranzo (2014) con-sideram o uso de relacoes semanticas em uma estrutura de programacao logica com oobjetivo de melhorar seus mecanismos de representacao e inferencia Enquanto a logicae uma representacao sintetica criando e manipulando sımbolos em um mundo fechado alogica enriquecida com as relacoes semanticas da linguagem natural e uma representacaoempırica aberta combinando conceitos que ja foram definitivos e relacionados a lingua-gem humana Esta abordagem tem o intuito de projetar um modelo de raciocınio baseadoem relacoes semanticas entre palavras e incorpora-la no mecanismo de inferencia de umalinguagem de programacao de logica fuzzy No entanto utilizando um dicionario desinonimos geral para obter relacoes semanticas nao e possıvel considerar o contexto poisno BousisimProlog nao sao usadas informacoes de contexto para gerar as equacoes de pro-ximidade Por exemplo segundo Rubio-Manzano e Julian-Iranzo (2014) ao consultar noWordNet quais palavras estao mais proximas de ldquobancordquo obtem-se ldquojurarrdquo ldquoconfiancardquoe ldquodepositordquo Claramente o contexto nao foi levado em consideracao

Gisolfi (1990) ressalta que o Prolog nao possui um mecanismo para lidar com in-formacoes fuzzy Para lidar com esse problema podem ser utilizados predicados que ge-renciam a incerteza Alternativamente pode-se imergir a incerteza no proprio interpretedo Prolog de modo que possa ser tratada automaticamente alcancando codigos maiscurtos e programas compreensıveis Este interprete pode ser adequadamente modificadopara nao so resolver um problema mas tambem fornecer uma medida de incerteza dasolucao O conhecimento humano inclui declaracoes parcialmente verdadeiras e pode sercomunicada atraves de uma linguagem contendo sımbolos imprecisos permitindo lidarcom a incerteza dentro da programacao logica tradicional

Munoz-Hernandez e Wiguna (2007) propoem a utilizacao da abordagem Fuzzy-Prolog

3httpdectauuclmesbousi4httpswordnetprincetonedu

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 27: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

33 CONSIDERACOES FINAIS 13

como camada cognitiva no RoboCupSoccer utilizando uma combinacao de Prolog (quee nıtido) e Fuzzy-Prolog para implementar esta camada cognitiva que tem a vantagemde estar incorporando os detalhes tecnicos e a logica fuzzy de forma encapsulada pelarepresentacao natural do Prolog

Guadarrama et al (2004) apresenta uma definicao de uma linguagem de Prolog Fuzzyque modela a logica Fuzzy Esta extensao para Prolog e implementada interpretando oraciocınio difuso como um conjunto de restricoes que se propagam atraves dos predicadospor meio de operadores de agregacao O interprete apresentado por Guadarrama etal (2004) para essa linguagem de Prolog Fuzzy utiliza a Constraint Logic Programming(Real)(CLP(R))

Segundo Yasui et al (1995) sistemas ldquoFuzzy Prologrdquo substituem o mecanismo deinferencia do Prolog por uma variante fuzzy capaz de lidar com a verdade parcial Amaioria desses sistemas implementa a resolucao fuzzy introduzida por Lee (1972) sendoexemplos o sistema Prolog-Elf (Ishizuka e Kanai (1985)) o sistema Fril Prolog (Baldwinet al (1995)) e o F-Prolog (Li e Liu (1990)) Alguns desses sistemas so consideramos discursos dos predicados enquanto outros sistemas consideram fatos fuzzy ou regrasdifusas alem de muitos deles utilizarem T-normas e T-conormas min e max (paramodelar as operacoes de conjuncao e disjuncao) Dessa forma o autor entao adicionoulogica fuzzy a um compilador Prolog usando a programacao de logica de restricao sobrenumeros reais (CLP(R)) em vez de implementar uma nova resolucao fuzzy como outrossistemas Fuzzy Prolog O objetivo da pesquisa desenvolvida em Yasui et al (1995) emostrar como a introducao de um raciocınio difuso em um sistema Prolog pode produziruma ferramenta poderosa para resolver problemas fuzzy complexos e incertos e apresentaruma implementacao do Prolog Fuzzy como uma aplicacao natural do CLP(R)

Yasui et al (1995) implementou este interprete como uma extensao sintatica de umsistema CLP(R) que foi incorporado como biblioteca no sistema Ciao Prolog (sistemade programacao logica que entre outros recursos foi projetado com a compilacao in-cremental modular em mente O seu sistema de modulos suporta modulos classicos emodulos fuzzy no mesmo programa e ele incorpora a logica de restricoes) Yasui et al(1995) escreveu uma bibliotecapacote chamada fuzzy que implementa o interpretadorda linguagem Fuzzy Prolog descrita em sua pesquisa

33 CONSIDERACOES FINAIS

Neste capıtulo foram apresentadas pesquisas relacionadas ao tema desta monografia emque foi possıvel observar o Prolog como uma ferramenta muito conveniente para represen-tar tambem incertezas usando regras proximas ao raciocınio humano Por conseguinteassim como o raciocınio humano lida com incertezas o Prolog precisa lidar com es-sas incertezas ou incompletude da informacao e os artigos apresentados neste capıtulodestacaram que faz-se muito util o uso de ferramentas que apresentam a abordagemFuzzy-Prolog com o intuito de realizar inferencia fuzzy em Logica de Primeira Ordem

O objetivo de todas as pesquisas apresentadas neste capıtulo e apresentar formas paraque o Prolog nao so resolva um problema mas tambem fornece uma medida de incertezada solucao deste problema

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 28: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

33 CONSIDERACOES FINAIS 14

Desta forma os estudos presentes nesta monografia sao a fundamentacao para quea abordagem com Fuzzy-Prolog pudesse ter uma base de regras geradas de forma au-tomatica por meio do WangampMendel e pudesse ser comparada com uma ferramenta deinferencia fuzzy no estado da arte com o intuito de validar o diferencial dessa abordagemA ferramenta JFuzzyLogic encapsula todas as suas operacoes sobre os conjuntos fuzzypor meio do uso de varias classes Java e limita recursos como o numero de metodosde defuzzificacao por exemplo A abordagem Fuzzy-Prolog proposta nesta monogra-fia ressalta a utilizacao de regras na forma da apresentada no Exemplo de formatransparente e expressiva ao pesquisador

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 29: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

Capıtulo

4Aprendizado de Maquina utilizando logica fuzzy com a linguagem natural Prolog

ABORDAGEM PROPOSTA

41 CONSIDERACOES INICIAS

Este capıtulo tem o objetivo de detalhar as contribuicoes desta monografia para o usodo Prolog com suas caracterısticas proximas a linguagem humana juntamente com omecanismo de inferencia fuzzy para a realizacao de classificacao por meio do uso de regrasgeradas de acordo com as caracterısticas de cada base de dados sem uma real necessidadeda presenca de um especialista conforme proposto por Wang e Mendel (1992) e doravantechamado WangampMendel

42 GERACAO DE REGRAS DE WANGampMENDEL

E necessario aplicar uma tecnica apropriada de geracao de regras fuzzy diante da ausenciado conhecimento de especialista sobre uma determinada base de dados Considerandoque os conjuntos de dados sao compostos por atributos de entradas e um unico ou variosatributos de saıda as bases de dados exploradas nesse trabalho seguem o seguinte padrao

(x(1)1 x

(1)2 x

(1)nminus1 y

(1)n ) (x

(i)1 x

(i)2 x

(i)nminus1 y

(i)n ) ()

onde n representa o numero de atributos da base de dados x(1)1 x

(1)nminus1 representam

os valores das variaveis de entrada ou antecedentes da regra da primeira instancia y(1)n

representa o valor da variavel de saıda ou consequente da regra da primeira instanciax

(i)1 x

(i)nminus1 representam os valores das variaveis de entrada da i-esima instancia da base

de dados y(i)n representa o valor da variavel de saıda da i-esima instancia

Wang e Mendel (1992) apresentou um metodo muito eficaz para gerar regras difusas apartir de dados numericos sem necessidade de conhecimento do especialista sobre a basede dados Para isso sao apresentadas cinco etapas que foram seguidas para a geracao deregras nesta monografia

15

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 30: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

42 GERACAO DE REGRAS DE WANGampMENDEL 16

1 Dividir os espacos de entrada e saıda dos dados numericos em regioes (conjuntos)fuzzy

2 Gerar regras fuzzy a partir desses dados fornecidos

3 Atribuir um grau para cada regra gerada com o intuito de resolver conflitos entreas regras

4 Criar uma base combinada de regras fuzzy e com base nas regras geradas e nasregras linguısticas de especialistas humanos (quando houver)

5 Defuzzificacao determinar um mapeamento do espaco de entrada para o espaco desaıda baseado na base de regras fuzzy combinadas utilizando o procedimento dedefuzzificacao Centroide

421 Etapa 1

Conforme proposto por Wang e Mendel (1992) e necessario dividir os espacos de entradae saıda da base de dados em regioes fuzzy assumindo que os intervalos de domınio dasvariaveis x1 x2 (duas variaveis antecedentes apenas como exemplo) e da variavel de saıday sao [xminus

1 x+1 ] [xminus

2 x+2 ] e [yminus y+] A partir de entao e necessario dividir esse intervalo de

domınio em 2N+1 regioes (N e a variavel que o pesquisador ira alterar para conseguir umdeterminado numero de regioes) que podem representar termos como pequeno mediogrande Com isso sao atribuıdas entao funcoes de pertinencia a cada regiao

Para a realizacao desta pesquisa foram utilizadas funcoes de pertinencia do tipo tri-angular detalhadas no Capıtulo 2 Por exemplo e possıvel visualizar na Figura 41 afuncao de pertinencia utilizada para o primeiro atributo da base de dados Iris levandoem conta 3 regioes (2N + 1 com N = 1) e considerando este atributo normalizado

422 Etapa 2

E necessario determinar os graus das variaveis de entrada e da variavel de saıda emdiferentes regioes Por exemplo x

(1)1 pode ter grau 03 na regiao pequeno 07 na regiao

medio e 09 na regiao grande x(1)2 por exemplo pode ter grau 07 na regiao pequeno 06

na regiao medio e 03 na regiao grande pode-se supor para exemplo que o grau maximode y foi 08 na regiao medio Em seguida serao escolhidas a regioes que contem o maiorgrau neste exemplo serao as regioes grande para x

(1)1 e pequeno para x

(1)2 gerando uma

regra na forma

IF x1 is grande and x2 is pequeno THEN y is medio ()

423 Etapa 3

Duas regras sao conflitantes quando possuem os mesmos antecedentes e consequentesdiferentes A solucao e atribuir um grau a cada regra e permanecer apenas a regra queobtiver o maior grau reduzindo tambem o volume de regras A estrategia utilizada por

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 31: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

42 GERACAO DE REGRAS DE WANGampMENDEL 17

Figura 41 Funcao de pertinencia para o atributo [1] sepal length da base Iris Com 3regioes (N = 1)

Wang e Mendel (1992) para atribuir graus as regras e por meio do produto dos graus dosantecedentes as regras Para a regra utilizada como exemplo na etapa anterior rdquoIF x1 isgrande and x2 is pequeno THEN y is mediordquo o grau para esta regra descrito por Wange Mendel (1992) como D(Rule) e definido como

D(Rule) = mgrande(x1)mpequeno(x2)mmedio(y) ()

onde m representa o grau maximo que uma certa variavel obteve

Por mais que regras fuzzy sejam geradas automaticamente e interessante a opiniaode um especialista humano O modelo proposto por Wang e Mendel (1992) permite queseja atribuıdo a cada regra um grau de especialista quando este visualiza que um certoconjunto de dados e relevante Para obtencao dos resultados presentes nesta monografianao houve a presenca de um especialista humano o que nao afeta o processo de geracaode regras pois e similar ao especialista atribuir grau 1 a todas as regras da base de regras

424 Etapa 4

A quarta etapa e realizada com o intuito de preencher a base de regras difusas Casohavendo mais de um regra no mesmo conjunto de regras a que tiver maior grau e semprea que permanece

425 Etapa 5

A quinta etapa utiliza uma tecnica de defuzzificacao para determinar o valor da variavelde saıda y dadas as entradas (x1 x2) por exemplo Primeiro os antecedentes da i-esima

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 32: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

43 ABORDAGEM PROPOSTA 18

regra fuzzy sao combinados por meio de um operador de agregacao para determinar ograu de saıda mi

Oi considerando as entradas (x1 x2) ou seja

miOi = mIi1

x1mIi2x2 ()

Oi equivale a regiao de saıda da Regra i e I ij equivale a regiao de entrada da Regra i paraa j-esima variavel de entrada Wang e Mendel (1992) utiliza o metodo de defuzzificacaoCentroide para determinar o valor de saıda

y =

Ksumi=1

miOiyi

Ksumi=1

miOi

()

onde yi representa o valor central da regiao Oi (menor valor cuja funcao de pertinenciatem valor igual a um) e K equivale ao numero de regras fuzzy da base de regras

Nele e realizado o processo de defuzzificacao por meio da tecnica de Centro de Gra-vidade apresentada no Capıtulo 2 com base na entrada de novas instancias

Estas 5 etapas para geracao de regras fuzzy proposto por Wang e Mendel (1992) foiimplementado na linguagem Java 1 sendo responsabilidade dele gerar a base de regras queserve como entrada para o Fuzzy-Prolog e a JFuzzyLogic2 (biblioteca Java que implementaa Linguagem de Controle Fuzzy) que terao seus resultados comparados na Secao 44

43 ABORDAGEM PROPOSTA

A Figura 42 retrata como foram todas as etapas desta monografia desde a coleta dasbases de dados ate a obtencao e comparacao dos resultados entre a abordagem com Fuzzy-Prolog e a ferramenta JFuzzyLogic (que utiliza a Fuzzy Control Language (FCL)3)

A Figura 42 esta dividida em 4 etapas

1 A primeira etapa refere-se a obtencao das bases de dados do repositorio online UCIMachine Learning Repository4 (Fisher 1936)

2 A segunda etapa diz respeito ao pre-processamento realizado sobre essas bases dedados Pre-processamento e o processo de limpeza e preparacao dos dados paraextracao de padroes E realizado com a aplicacao de varias tecnicas para captacaoorganizacao tratamento e a preparacao dos dados Neste trabalho foram realizadasas tarefas de limpeza dos dados conversao de valores nominais para numericos enormalizacao dos atributos Cada base de dados foi dividida em dois subconjuntos

um conjunto de treinamento com2

3das instancias da base de dados original e um

1httpwwworaclecomtechnetworkptjavajavasedownloadsindexhtml2httpjfuzzylogicsourceforgenethtmlindexhtml3A FCL padroniza a programacao de sistemas em logica Fuzzy e reduz os tempos de programacao

[httpjfuzzylogicsourceforgenethtmlpdfiec 1131 7 cd1pdf]4httpsarchiveicsuciedumlindexphp

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 33: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

43 ABORDAGEM PROPOSTA 19

Figura 42 Desenho do processo de experimentacao que sera abordado mais adiante nestamonografia

conjunto de teste com1

3das instancias da base de dados original As instancias

de cada um desses conjuntos foram escolhidas aleatoriamente

3 A terceira etapa refere-se ao processo de classificacao Segundo Webb (2010) emAprendizado de Maquina o termo classificacao e comumente associado a um tipoparticular de aprendizado onde os exemplos de uma ou mais classes rotuladascom o nome da classe sao atribuıdos ao algoritmo de aprendizagem O algoritmoproduz um classificador que mapeia as propriedades desses exemplos normalmenteexpressos como pares atributo-valor para os rotulos das classes Inicialmente noprocesso de classificacao realizado neste trabalho as bases de dados pre-processadasforam utilizadas como entrada para o algoritmo WangampMendel que gerou comosaıda uma base de regras para cada base de dados e foi utilizada tanto pelo FuzzyProlog quanto pela JFuzzyLogic para predizer a classe a qual cada instancia dabase de dados de treinamento pertencia

4 Por fim e realizada a comparacao dos resultados obtidos pelo Fuzzy Prolog e pelaJFuzzyLogic atraves da analise dos Erros Medios Absolutos (EMA) Faz-necessariouma forma de avaliar a precisao das predicoes geradas tanto pelo Fuzzy-Prologquanto pela JFuzzyLogic Abordado em Webb (2010) o Erro Medio Absoluto-sera uma importante forma de comparacao dos resultados de predicao dessas duasabordagens apresentadas nessa monografia

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 34: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 20

Nas secoes a seguir sao apresentadas informacoes das bases de dados utilizadas comoas suas caracterısticas origem e composicao destas bases um estudo sobre o comporta-mento da classificacao quando sao ajustados alguns parametros da etapa de geracao dasregras fuzzy as propostas sugeridas por essa monografia e por fim os resultados obtidoscom os experimentos realizados

44 EXPERIMENTOS

As bases de dados utilizadas neste trabalho sao Iris Wine Quality Contraceptive MethodChoice Abalone e Wireless Todas sao bem conhecidas na literatura e sao livrementeapresentadas a seguir

A base de dados Iris5 e bastante conhecida na literatura de reconhecimento de padroese um conjunto de dados totalmente balanceado contem 150 instancias das quais 50pertencem a cada uma das 3 classes de flores (Setosa Versicolour Virginica) Os 4atributos numericos preditos dados em cm referem-se as caraterısticas de comprimentoe largura de sepala e petala E uma base de caracterısticas multivariadas com atributosreais e voltada para classificacao

A base de dados Wine Quality6 apresenta dois modelos um do vinho vermelho eoutro do vinho branco portugues Apenas as variaveis fısico-quımicas (entradas) e sen-soriais (saıda) estao disponıveis Este conjunto de dados alem de ser usado para clas-sificacao pode ser util tambem para regressao O modelo para vinho vermelho contem1599 instancias ja o modelo para vinho branco contem 4898 instancias ambos possuem11 atributos e a classe que define a qualidade do vinho por uma pontuacao entre 0 e 10

Contraceptive Method Choice7 contem amostras de mulheres casadas que nao estavamgravidas ou nao sabiam se estavam no momento da entrevista O problema e prever aescolha atual do metodo contraceptivo (sem uso metodos de longo prazo ou metodosde curto prazo) de uma mulher com base em suas caracterısticas demograficas e socioe-conomicas Este conjunto de dados apresenta 9 atributos e 1473 instancias

A base de dados Abalone8 apresenta 8 atributos com valores categoricos inteiros ereais Trata-se de caracterısticas de um genero de moluscos apresentadas por meio de4177 instancias O objetivo e predizer a idade do abalone por meio do numero de aneis(valores entre 0 e 29)

A base de dados mais nova das escolhidas nesta monografia e a Wireless Indoor Loca-lization9 doada ao UCI Machine Learning Repository em dezembro de 2017 Apresenta7 atributos reais que representam a forca do sinal wi-fi observado no smartphone As2000 instancias foram recolhidas para realizar experimentos sobre como os pontos fortesdo sinal de wi-fi podem ser usados para determinar uma das localizacoes internas Asclasses que representam essas localizacoes variam entre 1 e 4

Outro aspecto nao menos importante sao as caracterısticas particulares das bases de

5〈httparchiveicsuciedumldatasetsIris〉6〈httparchiveicsuciedumldatasetsWine+Quality〉7〈httpsarchiveicsuciedumldatasetsContraceptive+Method+Choice〉8〈httpsarchiveicsuciedumldatasetsabalone〉9〈httpsarchiveicsuciedumldatasetsWireless+Indoor+Localization〉

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 35: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 21

dados Pois ressalta-se que para uma analise mais apurada dos resultados e pertinenteconsiderar as particularidades de cada modelo com a finalidade de encontrar possıveisjustificativas para os resultados apresentados realizando-se indagacoes comparativas aspeculiaridades sabidamente conhecidas dos metodos analisados A Tabela 41 apresentaum resumo das caracterısticas de cada base utilizada

Base atributos instancias classesIris 4 150 3Wine-Red 11 1599 11Wine-White 11 4898 11Contraceptive 9 1472 3Abalone 8 4177 29Wireless 7 2000 4

Tabela 41 Resumo das caracterısticas das bases de dados

441 Resultados e discussao da base de dados Iris

Uma das mais famosas bases de dados em varios campos de Inteligencia Artificial oconjunto de dados Iris tambem foi utilizado na obtencao de resultados nesta monografiaAs informacoes referentes ao conjunto de dados de treinamento para geracao da base deregras sao apresentadas na Tabela 42

Atributo Mınimo Maximo Media Mediana Instancias (treino) 100Sepal length 00000 10000 04508 04583Sepal width 00000 10000 04271 04167Petal length 00170 09661 05027 05932Petal width 00000 10000 04958 05417Species (class) 00000 05500 05000 05000

Tabela 42 Caracterısticas dos atributos do conjunto de treinamento da base de dadosIris

Na Tabela 43 estao os erros obtidos quando a base de regras e utilizada pelo Fuzzy-Prolog e pela JFuzzyLogic Como pode ser observado a abordagem Fuzzy-Prolog obteveos menores erros medios absolutos com 3 e 5 Regioes de Saıda (RS) e 58 Regras Geradas(RG)

As Figuras 43 e 44 mostram a comparacao dos Erros Medios Absolutos (EMA) daabordagem Fuzzy-Prolog com a ferramenta JFuzzyLogic

Como pode ser observado no grafico da Figura 43 a coluna 7 3 que representa asregras com 7 RA e 3 RS apresenta o menor erro medio absoluto obtido com a abordagemFuzzy-Prolog (coluna em azul) A coluna em vermelho representa os EMAs da ferramentaJFuzzyLogic que obteve o menor EMA com 7 RA e 3 RS

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 36: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 22

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 52198 01044 3 3 14Fuzzy-Prolog 14338 00287 5 3 38Fuzzy-Prolog 05222 00104 7 3 58Fuzzy-Prolog 52198 01044 3 5 14Fuzzy-Prolog 14338 00287 5 5 38Fuzzy-Prolog 05222 00104 7 5 58JFuzzyLogic 84419 01688 3 3 14JFuzzyLogic 24670 00493 5 3 38JFuzzyLogic 11694 00234 7 3 58JFuzzyLogic 91993 01840 3 5 14JFuzzyLogic 26320 00526 5 5 38JFuzzyLogic 12422 00248 7 5 58

Tabela 43 Erros obtidos na classificacao da base de dados Iris RA (Regioes de Atri-butos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 43 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 3

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 37: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 23

Na Figura 44 a coluna com 7 RA e 3 RS (7 3 ) apresenta o menor Erro MedioAbsoluto das duas abordagens E notorio que nao houveram grandes mudancas utilizando3 (Figura 43) ou 5 Regioes de Saıda

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

Iris minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 44 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Iris Regioes de Saıda fixas em 5

442 Resultados e discussao da base de dados Wine Quality

Este conjunto de dados apresenta duas bases de dados a que se refere a Wine-White eWine-Red portanto nesta subsecao serao apresentadas tabelas para ambos conjuntos dedados referentes a base de dados Wine Quality As Tabelas 44 e 45 apresentam algumasinformacoes e caracterısticas dos dados do conjunto de treinamento de Wine-Red e Wine-White respectivamente

A Tabela 46 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-Red como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o melhorresultado com o menor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11RS e 644 regras geradas

A Tabela 47 apresenta os Erros Medios Absolutos (EMAs) obtidos apos utilizar abase de regras e o conjunto de teste da base de dados Wine-White como entrada para aabordagem Fuzzy-Prolog e para a ferramenta JFuzzyLogic Pode-se notar que o menorErro Medio Absoluto (EMA) foi obtido pela abordagem Fuzzy-Prolog com 5 RA 11 RSe 1233 regras geradas

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 38: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 24

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1066Fixed acidity 00000 10000 03290 02920Volatile acidity 00000 10000 02798 02740Citric acid 00000 07900 02685 02500Residual sugar 00206 10000 01108 00890Chlorides 00000 07596 01242 01119Free sulfur dioxide 00000 09437 02073 01831Total sulfur dioxide 00000 09611 01425 01095Density 00419 10000 04923 04905pH 01024 10000 04528 04488Sulphates 00000 09880 01958 01737Alcohol 00000 10000 03088 02615Quality (class) 00000 10000 05231 06000

Tabela 44 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - Red

Atributo Mınimo Maximo Media Mediana Instancias (treino) 3265Fixed acidity 00000 07692 02942 02885Volatile acidity 00000 10000 01941 01765Citric acid 00000 07410 02008 01867Residual sugar 00015 04755 00895 00706Chlorides 00000 10000 01092 01009Free sulfur dioxide 00035 10000 01162 01115Total sulfur dioxide 00000 10000 03004 02923Density 00004 04471 01339 01290pH 00182 09818 04243 04182Sulphates 00116 10000 03129 02907Alcohol 00000 10000 04029 03710Quality (class) 00000 10000 04772 05000

Tabela 45 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWine Quality - White

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 39: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 25

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 633504 01189 3 3 238Fuzzy-Prolog 664594 01247 5 3 644Fuzzy-Prolog 844871 01585 7 3 822Fuzzy-Prolog 615972 01156 3 11 238Fuzzy-Prolog 603541 01132 5 11 644Fuzzy-Prolog 692235 01299 7 11 822JFuzzyLogic 640775 01202 3 3 238JFuzzyLogic 728287 01366 5 3 644JFuzzyLogic 856092 01606 7 3 822JFuzzyLogic 646061 01212 3 11 238JFuzzyLogic 663535 01245 5 11 644JFuzzyLogic 733307 01376 7 11 822

Tabela 46 Erros obtidos na classificacao da base de dados Wine-Red RA (Regioes deAtributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1808290 01108 3 3 382Fuzzy-Prolog 1765438 01082 5 3 1233Fuzzy-Prolog 1860380 01140 7 3 2242Fuzzy-Prolog 1793203 01099 3 11 382Fuzzy-Prolog 1617942 00991 5 11 1233Fuzzy-Prolog 1618038 00992 7 11 2242JFuzzyLogic 1872474 01147 3 3 382JFuzzyLogic 1891907 01159 5 3 1233JFuzzyLogic 2023055 01240 7 3 2242JFuzzyLogic 1859473 01139 3 11 382JFuzzyLogic 1734904 01063 5 11 1233JFuzzyLogic 1725269 01057 7 11 2242

Tabela 47 Erros obtidos na classificacao da base de dados Wine-White RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 40: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 26

Na Figura 45 a coluna 3 3 (3 RA e 3 RS) apresenta o menor Erro Medio Absolutotanto da abordagem Fuzzy-Prolog quanto da ferramenta JFuzzyLogic

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 45 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 3

Na Figura 46 e possıvel visualizar a coluna que apresenta o menor Erro Medio Ab-soluto obtido quando foram utilizadas 5 RA e 11 RS na abordagem Fuzzy-Prolog

A coluna 3 3 do grafico da Figura 47 mostra o menor EMA da ferramenta JFuzzy-Logic na base de dados Wine-White A coluna 5 3 contem o menor EMA da abordagemFuzzy-Prolog considerando as Regioes de Saıda fixas em 3

As diferencas entre as colunas 5 11 e 7 11 presentes no grafico da Figura 48 saoquase imperceptıveis no entanto com auxılio da Tabela 47 e possıvel identificar que omenor EMA foi obtido pela abordagem Fuzzy-Prolog com 5 RA e 11 RS

443 Resultados e discussao da base de dados Contraceptive Method Choice

Sao apresentadas na Tabela 48 informacoes referentes aos conjunto de treinamento da

base de dados ldquoContraceptive Method Choicerdquo que representa2

3dos dados originais

Essas sao importantes informacoes presentes em todas as bases de dados que irao definira eficiencia das regras os intervalos das funcoes de pertinencia fuzzy e o numero de regrasda base de regras Esse conjunto de dados em especial apresenta a maior parte de seusatributos do tipo categorico

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 41: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 27

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusRed minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

Figura 46 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-Red Regioes de Saıda fixas em 11

Atributo Mınimo Maximo Media Mediana Instancias (treino) 982Idade da esposa 00000 10000 04947 04545Educacao da esposa 00000 10000 06504 06667Educacao do marido 00000 10000 08079 10000Numero de filhos 00000 10000 01991 01875Religiao da esposa 00000 10000 08432 10000A esposa trabalha 00000 10000 07373 10000Ocupacao do marido 00000 10000 03805 03333Padrao de vida 00000 10000 07159 06667Exposicao na mıdia 00000 10000 00713 00000Escolha do metodo (class) 00000 10000 04501 05000

Tabela 48 Caracterısticas dos atributos do conjunto de treinamento da base de dadosContraceptive Method Choice

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 42: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 28

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 47 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

WineminusWhite minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 48 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 43: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 29

Tomando os dados de treinamento com essas caracterısticas como entrada para ogerador de regras a Tabela 49 pode ser construıda levando em conta as saıdas geradaspelo Fuzzy-Prolog e JFuzzyLogic cuja base de regras foi fundamentada com os dadosrepresentados na Tabela 48

E possıvel notar na Tabela 49 que os erros medios absolutos obtidos pela abordagemFuzzy-Prolog e pela ferramenta JFuzzyLogic foram bem proximos no entanto a ferra-menta JFuzzyLogic obteve o menor erro medio absoluto para essa base de dados com 3RA 11 RS e 287 regras geradas

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1891379 03853 3 3 287Fuzzy-Prolog 1912044 03894 5 3 615Fuzzy-Prolog 1987118 04047 7 3 721Fuzzy-Prolog 1891379 03853 3 11 287Fuzzy-Prolog 1912044 03894 5 11 615Fuzzy-Prolog 1987118 04047 7 11 721JFuzzyLogic 1896079 03861 3 3 287JFuzzyLogic 1905215 03880 5 3 615JFuzzyLogic 1980117 04032 7 3 721JFuzzyLogic 1891320 03852 3 11 287JFuzzyLogic 1904205 03878 5 11 615JFuzzyLogic 1979021 04031 7 11 721

Tabela 49 Erros obtidos na classificacao da base de dados Contraceptive RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

Os EMAs da base de dados Contraceptive visualizados nas Figuras 49 e 410 forambem proximos com diferencas quase imperceptıveis com a analise apenas grafica tantona abordagem Fuzzy-Prolog quanto na ferramenta JFuzzyLogic No entanto conformevisto na Tabela 49 o JFuzzyLogic apresentou o menor EMA para essa base de dadosutilizando 3 RA e 11 RS

444 Resultados e discussao da base de dados Abalone

A Tabela 410 apresenta algumas informacoes relevantes de cada atributo do conjunto detreinamento da base de dados Abalone Nesta base de dados o atributo Sex originalmentenominal (M F e I) foi convertido em numerico (00 05 10)

Fez-se necessario uma analise dos erros gerados pela abordagem Fuzzy-Prolog e JFuzzy-Logic durante o processo de classificacao do subconjunto de teste da base de dados Aba-lone

Na Tabela 411 e possıvel visualizar o desempenho dessas duas abordagens Emboraa ferramenta JFuzzyLogic tenha obtido uma media de erros baixos a abordagem Fuzzy-Prolog obteve um erro medio absoluto muito baixo quando utilizadas 29 RS gerando 379regras

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 44: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 30

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 49 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 3

3_11 5_11 7_11

JFuzzyLogicFuzzyminusProlog

Contraceptive minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

00

01

02

03

04

Figura 410 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wine-White Regioes de Saıda fixas em 11

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 45: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 31

Atributo Mınimo Maximo Media Mediana Instancias (treino) 2784Sex 00000 10000 04932 05000Length 00000 09527 06066 06351Diam 00000 09664 05928 06218Height 00089 04558 01232 01239Whole 00000 10000 02938 02822Shucked 00000 10000 02423 02249Viscera 00000 10000 02378 02245Shell 00000 10000 02370 02317Rings (class) 00000 10000 03176 02857

Tabela 410 Caracterısticas dos atributos do conjunto de treinamento da base de dadosAbalone

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1393530 01001 3 3 115Fuzzy-Prolog 1801130 01294 5 3 203Fuzzy-Prolog 1581717 01136 7 3 379Fuzzy-Prolog 881630 00633 3 29 115Fuzzy-Prolog 930523 00668 5 29 203Fuzzy-Prolog 863424 00620 7 29 379JFuzzyLogic 1210692 00870 3 3 115JFuzzyLogic 1573133 01130 5 3 203JFuzzyLogic 1229457 00883 7 3 379JFuzzyLogic 1402617 01008 3 29 115JFuzzyLogic 1259018 00904 5 29 203JFuzzyLogic 1129934 00812 7 29 379

Tabela 411 Resultados obtidos na classificacao da base de dados Abalone RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 46: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 32

E possıvel verificar no grafico presente na Figura 411 que a ferramenta JFuzzyLogicobteve EMAs inferiores aos obtidos pela abordagem Fuzzy-Prolog utilizando 3 RS fixas

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 411 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 3

O grafico da Figura 412 permite a identificacao visual do menor EMA obtido pelaabordagem Fuzzy-Prolog presente na Tabela 411 E possıvel verificar que a coluna 7 29do grafico apresenta o menor EMA obtido pela abordagem Fuzzy-Prolog

445 Resultados e discussao da base de dados Wireless Indoor Localization

Este e o conjunto de dados mais novo dos utilizados nesta monografia A Tabela 412apresenta um sumario das caracterısticas das instancias do conjunto de dados de treina-mento Cada atributo representa a forca do sinal wifi no smartphone em um certo localinterno O objetivo e determinar este local interno Na Tabela 413 sao apresentados oserros gerados apos rodar o conjunto de teste

E possıvel verificar na Tabela 413 em negrito que a abordagem Fuzzy-Prolog obteveo menor erro medio absoluto no conjunto de dados de teste da base de dados Wirelesscom 852 regras geradas 7 RA e 5 RS

Na Figura 413 os menores EMAs tanto da abordagem Fuzzy-Prolog quanto da fer-ramenta JFuzzyLogic foram obtidos na coluna 7 3

O menor EMA obtido na base de dados Wireless foi obtido pela abordagem Fuzzy-Prolog e esta apresentado na coluna 7 5 do grafico presente na Figura 414

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 47: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 33

3_29 5_29 7_29

JFuzzyLogicFuzzyminusProlog

Abalone minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

002

004

006

008

010

012

014

Figura 412 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Abalone Regioes de Saıda fixas em 29

Atributo Mınimo Maximo Media Mediana Instancias (treino) 1333V1 00000 10000 03414 02969V2 01379 10000 06340 06207V3 00909 10000 05431 05455V4 00000 10000 03569 03182V5 00000 10000 04951 04717V6 00278 10000 04467 04444V7 00000 09714 04670 04286V8 (class) 00000 10000 04936 03333

Tabela 412 Caracterısticas dos atributos do conjunto de treinamento da base de dadosWireless Indoor Localization

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 48: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 34

Abordagem Erro Abs Erro Medio Abs RA RS RGFuzzy-Prolog 1192429 01790 3 3 127Fuzzy-Prolog 808568 01214 5 3 402Fuzzy-Prolog 659622 00990 7 3 852Fuzzy-Prolog 1080881 01623 3 5 127Fuzzy-Prolog 425674 00639 5 5 402Fuzzy-Prolog 386210 00580 7 5 852JFuzzyLogic 1942227 02916 3 3 127JFuzzyLogic 1081247 01623 5 3 402JFuzzyLogic 910750 01367 7 3 852JFuzzyLogic 1874722 02815 3 5 127JFuzzyLogic 903384 01356 5 5 402JFuzzyLogic 672647 01010 7 5 852

Tabela 413 Resultados obtidos na classificacao da base de dados Wireless RA (Regioesde Atributos) RS (Regioes da Saıda) e RG (Regras Geradas)

3_3 5_3 7_3

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 413 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 3

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 49: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

44 EXPERIMENTOS 35

3_5 5_5 7_5

JFuzzyLogicFuzzyminusProlog

WiFi minus JFuzzyLogic x FuzzyminusProlog

Variaccedilatildeo das Regiotildees Antecedentes (RAs)

Err

o M

eacutedio

Abs

olut

o (E

MA

)

000

005

010

015

020

025

030

Figura 414 Grafico com os Erros Medios Absolutos obtidos na classificacao da base dedados Wireless Regioes de Saıda fixas em 5

446 Discussao dos Resultados

Com o intuito de mensurar as medicoes observadas nas subsecoes desta secao os ex-perimentos realizados com as bases de dados utilizadas nesta monografia passaram poruma analise de seus resultados levando em consideracao uma tecnica de precisao da pre-visao que adota o Erro Medio Absoluto (EMA) como metrica (Equacao ) Conformevisto nesta secao os experimentos visaram principalmente variar o numero de regioes dasvariaveis antecedentes a regra com o intuito de que fosse encontrado a menor diferencapossıvel entre o valor esperado e o valor obtido obtendo assim portando um Erro MedioAbsoluto menor Isso pode ser visualizado por meio das tabelas e dos varios graficospresentes neste capıtulo

EMA =

sumni=1 |ei|n

ei = erro da i-esima instancia ()

equacao do Erro Medio Absoluto utilizado como criterio de comparacao dos resultadosdos experimentos desta monografia

Uma vez que as propostas apresentadas aqui tem como objetivo trazer o sistema deinferencia e Logica de Primeira Ordem do Prolog como uma opcao para a logica fuzzypor meio de sua linguagem natural expressiva e bem proxima da linguagem humanaforam realizados os experimentos apresentados nas subsecoes anteriores com o intuito deobter resultados que tambem justifiquem a condicao do Prolog ser uma opcao por suas

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 50: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

45 CONSIDERACOES FINAIS 36

caracterısticas de linguagem de programacao logica e por obter resultados satisfatoriosTrabalhar com o parametro N da equacao 2N + 1 vista na Secao 42 para deter-

minacao do numero de regioes das variaveis antecedentes a regra e da variavel de saıdaproposto por Wang e Mendel (1992) obteve alguns resultados interessantes que foramvisualizados e apresentados por meio de graficos e tabelas variadas nas subsecoes destasecao

Na proxima secao sera apresentado uma sıntese dos experimentos conduzidos nessecapıtulo pontuando as principais contribuicoes e descobertas encontradas ao longo desseprocesso de investigacao

45 CONSIDERACOES FINAIS

Neste capıtulo foi detalhado todo o processo de investigacao realizado nessa monografiaassim como a metodologia utilizada para a realizacao dos experimentos informacoes dasbases de dados utilizadas e as devidas analises dos resultados A abordagem Fuzzy-Prolog apresentou resultados satisfatorios quando comparado com a JFuzzyLogic Essesresultados justificam seu uso para inferencia fuzzy utilizando logica de predicados Porser uma biblioteca JFuzzyLogic acaba encapsulando algumas informacoes que podem sertransparentes e de facil compreensao no Prolog

A Tabela 414 a seguir traz um resumo dos resultados encontrados nos experimentosapresentados neste capıtulo em cada base de dados Nela e possıvel visualizar que namaior parte dos resultados a abordagem com Fuzzy-Prolog obteve Erros Medios Absolu-tos menores do que JFuzzyLogic mesmo sendo pequena esta diferenca Na base de dadosContraceptive o JFuzzyLogic obteve um Erro Medio Absoluto menor do que a abordagemcom Fuzzy-Prolog sendo este o unico caso em que isto aconteceu dentre todas as basesde dados analisadas nesta monografia

Fuzzy-Prolog JFuzzyLogicMenor EMA Qtd Regras Menor EMA Qtd Regras

Iris 00104 58 00234 58Wine-Red 01132 644 01202 238Wine-White 00991 1233 01057 2242Contraceptive 03853 287 03852 287Abalone 00620 379 00812 379Wireless 00580 852 01010 852

Tabela 414 Resumo dos resultados obtidos em cada base de dados para as duas abor-dagens apresentadas nesta monografia

A Tabela 414 apresenta os resultados encontrados nos experimentos desta pesquisae serve de embasamento para a utilizacao da programacao em logica do Prolog para re-alizar inferencia em logica fuzzy Em bases de dados com classes desbalanceadas comoa Wine-Quality por exemplo foi necessario um numero maior de regras para que resul-tados satisfatorios fossem obtidos E necessario uma atencao especial a base de dadosWine-Red embora a abordagem com Fuzzy-Prolog obteve uma menor taxa de erro medio

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 51: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

45 CONSIDERACOES FINAIS 37

absoluto foram necessarias mais que o dobro de regras utilizadas pela ferramenta JFuzzy-Logic que obteve um erro medio absoluto quase semelhante

Em geral a abordagem Fuzzy-Prolog obteve erros medios absolutos menores do que aferramenta JFuzzyLogic tendo o mesmo numero ou inferior de regras geradas Era de seesperar que ambas as abordagens tivessem o mesmo resultado por estarem utilizando asmesmas bases de regras as mesmas bases de dados e o mesmo metodo de defuzzificacaoNo entanto JFuzzyLogic encapsula muitos detalhes de sua implementacao o que tornadifıcil esse processo de identificacao das causas dessas diferencas dos erros medios ab-solutos No entanto vale ressaltar que a programacao com a abordagem Fuzzy-Prologe transparente e dar-se de forma natural desde objetivos didaticos como proposto porKaminski (1992) ate tarefas de classificacao como as realizadas no decorrer deste tra-balho Comparada com uma ferramenta no estado da arte bastante utilizada como aJFuzzyLogic obteve resultados tao bons quanto esta pode oferecer

No proximo capıtulo serao abordadas as conclusoes a respeito de toda a pesquisaapresentada nessa monografia

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 52: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

Capıtulo

5Sıntese da investigacao e dos experimentos realizados nesta monografia

CONCLUSAO

A pesquisa desenvolvida nesta monografia investigou um campo de certa forma poucoexplorado ainda Prolog e bem conhecido em Inteligencia Artificial assim como logicaFuzzy ja bastante renomada conhecida e utilizada No entanto trabalhos que abordema utilizacao desses dois grandes conceitos juntos ainda sao um pouco escassos

Um dos grandes desafios da abordagem Fuzzy-Prolog e o de incorporar logica Fuzzyna logica de primeira ordem do Prolog conforme visto no Capıtulo 3 no entanto uma vezfeito isso tem-se uma linguagem bem robusta e poderosa para realizar inferencia em logicaFuzzy utilizando as varias possibilidades que o Prolog adiciona como o backtracking Umaoutra abordagem que tambem foi apresentada durante esta monografia foi a utilizacaode variaveis que retornariam os graus de pertinencia dos predicados conforme pode servisto no exemplo que representa uma forma mais simples e didatica de introduzirlogica fuzzy em Prolog mesma forma abordada por Kaminski (1992)

Neste sentido essas duas logicas juntas Fuzzy-Prolog foram utilizadas nesta mono-grafia para classificacao de dados

A area de classificacao de dados e bastante extensa em diversos ramos de Aprendizadode Maquina fundamenta-se em aplicar tecnicas de reconhecimento de padroes e algumascaracterısticas dos atributos com o intuito de predizer a qual classe determinada instanciapertence Esta foi a forma de experimentacao e obtencao de resultados abordada nestamonografia

Nesse contexto diversos experimentos foram realizados permitindo comprovar a hipotesede que

A abordagem Fuzzy-Prolog permite obter resultados expressivos provenientesda linguagem natural do Prolog apresentando em geral um menor erro medioabsoluto na tarefa de classificacao usando regras fuzzy em comparacao com aferramenta JFuzzyLogic

Com base na exploracao das abordagens existentes na literatura sobre inferencia Fuzzyutilizando logica de primeira ordem do Prolog e da comprovacao da hipotese formuladafoi alcancado o objetivo de

38

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 53: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

51 TRABALHOS FUTUROS 39

Conduzir uma investigacao em torno de inferencia Fuzzy com Prolog e comJava para compreender o comportamento das linguagens para execucao deconhecimento incerto

Visando alcancar esse objetivo foi realizado nesta monografia um estudo dos fun-damentos da logica Fuzzy e da logica de primeira ordem do Prolog e uma revisao dasestrategias utilizadas por pesquisadores da area utilizando diferentes abordagens de im-plementacao de logica fuzzy no Prolog E por fim como principal resultado o estudo doimpacto da utilizacao dessa abordagem em tarefas de classificacao

Uma contribuicao desta monografia dar-se ao fato de terem sido apresentadas variadaspesquisas sobre o tema As pesquisas trazem abordagens diferentes sobre o uso do Fuzzy-Prolog o que enriquece o processo de pesquisa

Uma outra contribuicao importante e dada aos desenvolvedores de sistemas especia-listas que precisam lidar com a necessidade de criacao de uma base inicial de regras queo sistema ira consultar Classificar e uma atividade muito semelhante a gerar um sistemaespecialista e assim como foi utilizado aqui o WangampMendel se torna util na geracao dasregras tambem em sistemas especialistas que podem alem disso utilizar Fuzzy-Prologem sua construcao

51 TRABALHOS FUTUROS

Ao considerar todas as analises realizadas no Capıtulo 4 existem algumas possibilidadesque podem derivar deste trabalho Em especial e necessaria uma analise mais apuradaacerca das variacoes do N de WangampMendel (que foi analisado no Capıtulo 4) e dasimplicacoes no erro medio absoluto e no numero total de regras com essas variacoes

Essa variacao do N do WangampMendel pode ser feita inclusive de forma dinamicaescolhendo o melhor N para cada variavel de acordo com as caracterısticas das instanciasde cada variavel E algo que pode ser analisado em trabalhos futuros

Uma outra pretencao um pouco maior e utilizar esse Fuzzy-Prolog em decisoes emtempo real em robotica O comportamento do robo abarca muitas decisoes que saoimprecisas e recebe muitos dados de sensores que necessitam de uma analise fuzzy dessaforma esta seria uma abordagem muito interessante para ser explorada em um futuroproximo

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 54: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

REFERENCIAS BIBLIOGRAFICAS

BALDWIN J F MARTIN T P PILSWORTH B W Fril- Fuzzy and EvidentialReasoning in Artificial Intelligence New York NY USA John Wiley amp Sons Inc 1995ISBN 047195523X

BRATKO I PROLOG Programming for Artificial Intelligence 2nd ed Boston MAUSA Addison-Wesley Longman Publishing Co Inc 1990 ISBN 0201416069

COLMERAUER A ROUSSEL P History of programming languagesmdashii In BERGINJR T J GIBSON JR R G (Ed) New York NY USA ACM 1996 cap The Birthof Prolog p 331ndash367 ISBN 0-201-89502-1 Disponıvel em 〈httpdoiacmorg1011452342861057820〉

FISHER R UCI Machine Learning Repository 1936 Disponıvel em 〈[httparchiveicsucieduml]〉

GISOLFI A A prolog implementation of a fuzzy algebraic structure for the uncertaintymodelling In [1990] Proceedings First International Symposium on Uncertainty Mode-ling and Analysis [Sl sn] 1990 p 1ndash6

GUADARRAMA S MUnOZ S VAUCHERET C Fuzzy prolog a new approachusing soft constraints propagation Fuzzy Sets and Systems v 144 n 1 p 127 ndash 1502004 ISSN 0165-0114 Possibilistic Logic and Related Issues Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS0165011403004494〉

ISHIZUKA M KANAI N Prolog-elf incorporating fuzzy logic New Generation Com-puting v 3 n 4 p 479 Dec 1985 ISSN 1882-7055 Disponıvel em 〈httpsdoiorg101007BF03037082〉

KAMINSKI D M Introducing the fuzzy paradigm using prolog SIGCSE Bull ACMNew York NY USA v 24 n 1 p 202ndash206 mar 1992 ISSN 0097-8418 Disponıvel em〈httpdoiacmorg101145135250134551〉

KLIR G J YUAN B Fuzzy Sets and Fuzzy Logic Theory and Applications UpperSaddle River NJ USA Prentice-Hall Inc 1995 ISBN 0-13-101171-5

LEE R C T Fuzzy logic and the resolution principle J ACM ACM New York NYUSA v 19 n 1 p 109ndash119 jan 1972 ISSN 0004-5411 Disponıvel em 〈httpdoiacmorg101145321679321688〉

LI D LIU D A Fuzzy Prolog Database System New York NY USA John Wiley ampSons Inc 1990 ISBN 0-471-92762-7

40

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros
Page 55: Genicleito Carvalho Beltr~ao Gon˘calves...ii Ficha catalogr a ca. Gon˘calves, Genicleito C. B. Utiliza˘c~ao de Prolog para implementa˘c~ao intuitiva de regras de infer^encia fuzzy

REFERENCIAS BIBLIOGRAFICAS 41

MARTIN T P BALDWIN J F PILSWORTH B W The implementation of fpro-logampmdasha fuzzy prolog interpreter Fuzzy Sets Syst Elsevier North-Holland IncAmsterdam The Netherlands The Netherlands v 23 n 1 p 119ndash129 jul 1987 ISSN0165-0114 Disponıvel em 〈httpdxdoiorg1010160165-0114(87)90104-7〉

MUNOZ-HERNANDEZ S WIGUNA W S Fuzzy prolog as cognitive layer in robo-cupsoccer In 2007 IEEE Symposium on Computational Intelligence and Games [Slsn] 2007 p 340ndash345 ISSN 2325-4270

NOGUEIRA T M Modelagem Fuzzy usando Agrupamento Condicional 2008

RUBIO-MANZANO C JULIAN-IRANZO P Reasoning with words A first approxi-mation In 2014 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) [Slsn] 2014 p 569ndash574 ISSN 1098-7584

WANG L X MENDEL J M Generating fuzzy rules by learning from examples IEEETransactions on Systems Man and Cybernetics v 22 n 6 p 1414ndash1427 Nov 1992ISSN 0018-9472

WEBB G I Model evaluation In Encyclopedia of Machine Learning BostonMA Springer US 2010 p 683ndash683 ISBN 978-0-387-30164-8 Disponıvel em 〈httpsdoiorg101007978-0-387-30164-8 550〉

YASUI H HAMADA Y MUKAIDONO M Fuzzy prolog based on lukasiewicz impli-cation and bounded product In Proceedings of 1995 IEEE International Conference onFuzzy Systems [Sl sn] 1995 v 2 p 949ndash954 vol2

ZADEH L Fuzzy sets Information and Control v 8 n 3 p 338 ndash 353 1965ISSN 0019-9958 Disponıvel em 〈httpwwwsciencedirectcomsciencearticlepiiS001999586590241X〉

  • Capiacutetulo 1mdashIntroduccedilatildeo
  • Capiacutetulo 2mdashFundamentaccedilatildeo Teoacuterica
    • Consideraccedilotildees iniciais
    • Conjuntos Fuzzy
      • Funccedilotildees de Pertinecircncia
        • Sistemas Fuzzy baseado em regras
          • Meacutetodos de Defuzzificaccedilatildeo
            • Prolog
            • Consideraccedilotildees finais
              • Capiacutetulo 3mdashTrabalhos Relacionados
                • Consideraccedilotildees Iniciais
                • Utilizaccedilatildeo do Prolog como mecanismo de inferecircncia Fuzzy
                • Consideraccedilotildees finais
                  • Capiacutetulo 4mdashAbordagem proposta
                    • Consideraccedilotildees inicias
                    • Geraccedilatildeo de Regras de WangampMendel
                      • Etapa 1
                      • Etapa 2
                      • Etapa 3
                      • Etapa 4
                      • Etapa 5
                        • Abordagem Proposta
                        • Experimentos
                          • Resultados e discussatildeo da base de dados Iris
                          • Resultados e discussatildeo da base de dados Wine Quality
                          • Resultados e discussatildeo da base de dados Contraceptive Method Choice
                          • Resultados e discussatildeo da base de dados Abalone
                          • Resultados e discussatildeo da base de dados Wireless Indoor Localization
                          • Discussatildeo dos Resultados
                            • Consideraccedilotildees finais
                              • Capiacutetulo 5mdashConclusatildeo
                                • Trabalhos futuros