• Nenhum resultado encontrado

Framework para modelagem de sistemas fuzzy-bayesianos com variáveis não-dicotômicas

N/A
N/A
Protected

Academic year: 2021

Share "Framework para modelagem de sistemas fuzzy-bayesianos com variáveis não-dicotômicas"

Copied!
100
0
0

Texto

(1)

Felipe Falconi Senna, Virgínia Angélica Reck

FRAMEWORK PARA MODELAGEM DE SISTEMAS FUZZY-BAYESIANOS COM VARIÁVEIS

NÃO-DICOTÔMICAS

Florianópolis 2019

(2)
(3)

FRAMEWORK PARA MODELAGEM DE SISTEMAS FUZZY-BAYESIANOS COM VARIÁVEIS

NÃO-DICOTÔMICAS

Trabalho de Conclusão de Curso sub-metido à Disciplina de Projetos II em Sistemas de Informação para a obtençăo do Grau de Bacharel em Sistemas de Informação.

Orientadora: Prof. Dra. Jerusa Mar-chi

Coorientadora: M.Sc. Munyque Mit-telmann

Florianópolis 2019

(4)

A ficha catalográfica é confeccionada pela Biblioteca Central. Tamanho: 7cm x 12 cm

Fonte: Times New Roman 9,5 Maiores informaçőes em:

(5)

FRAMEWORK PARA MODELAGEM DE SISTEMAS FUZZY-BAYESIANOS COM VARIÁVEIS

NÃO-DICOTÔMICAS

Este Trabalho de Conclusão de Curso foi julgado aprovado para a obtenção do Título de “Bacharel em Sistemas de Informação”, e apro-vado em sua forma final pela Disciplina de Projetos II em Sistemas de Informação.

Florianópolis, 01 de julho 2019.

Prof. Dr. Cristian Koliver Coordenador do Curso Banca Examinadora:

Prof. Dra. Jerusa Marchi Orientadora

M.Sc. Munyque Mittelmann Coorientadora

Prof. Dra. Silvia Modesto Nassar

(6)
(7)

O método de inferência utilizado pelas Redes Bayesianas é o cálculo de probabilidades condicionais formulado pela aplicação do denominado Teorema de Bayes. A Lógica Fuzzy pode ser vista como uma extensão da Teoria Clássica de Conjuntos e foi criada para representar situações onde não se tem somente as opções de “pertencer” ou “não pertencer” a um conjunto, mas também conceitos mais imprecisos - o que se as-semelha mais com diversas situações do mundo real. Este trabalho apresenta uma implementação de framework capaz de aplicar as defi-nições de um modelo Fuzzy-Bayesiano e que permite a modelagem de sistemas Fuzzy-Bayesianos a partir da entrada de dados via arquivos ou via interface gráfica. O uso do modelo possibilita a inferência so-bre Sistemas Fuzzy-Bayesianos do tipo Naïve Bayes sob influência de variáveis Fuzzy.

Palavras-chave: Redes Bayesianas. Lógica Fuzzy. Redes Fuzzy-Bayesianas.

(8)
(9)

The inference method used by Bayesian Networks is the calculation of conditional probabilities formulated by the application of the so-called Bayes Theorem. The Fuzzy Logic can be seen as an extension of the Classical Theory of Sets and was created to represent situations where one does not only have the options of "belonging" or "not belonging" to a set, but also more imprecise concepts - which most closely re-semble various real-world situations. This work presents a framework implementation capable of applying the definitions of a Fuzzy-Bayesian model allowing the modeling of Fuzzy-Bayesian systems from data en-try via files or via graphical interface. The use of the model allows the inference on Fuzzy-Bayesian systems of the Naïve Bayes type under influence of Fuzzy variables.

(10)
(11)

Figura 1 Ilustração de uma Rede Bayesiana adaptada de (

BRIG-NOLI et al., 2001) . . . 23

Figura 2 Gráfico de uma Função Singular ou Singleton. . . 25

Figura 3 Gráfico de uma Função Clássica. . . 26

Figura 4 Gráfico de uma Função Gamma. . . 26

Figura 5 Gráfico de uma Função S. . . 27

Figura 6 Gráfico de uma Função L. . . 28

Figura 7 Gráfico de uma Função Triangular. . . 28

Figura 8 Gráfico de uma Função Trapezoidal. . . 29

Figura 9 Esquema representativo do modelo híbrido proposto em (BRIGNOLI et al., 2001). . . 36

Figura 10 Diagrama de classes simplificado . . . 42

Figura 11 Diagrama de classes com as representações relevantes para a formação dos cálculos . . . 43

Figura 12 Diagrama de classes da UI simplificado . . . 44

Figura 13 Carregamento Bayes via arquivo .txt . . . 49

Figura 14 Janela para escolha do arquivo da rede bayesiana. . . 49

Figura 15 Seleção das evidências sobre as quais se tem informação. 50 Figura 16 Seleção dos estados das evidências que são confirmados 50 Figura 17 Saída do programa para Bayes puro . . . 51

Figura 18 Carregamento Fuzzy via arquivo .fcl . . . 51

Figura 19 Janela para escolha do arquivo Bayes. . . 52

Figura 20 Janela para escolha do arquivo Fuzzy . . . 52

Figura 21 Seleção das evidências sobre as quais tem-se informação 53 Figura 22 Medidas inseridas para cada evidência escolhida . . . 54

Figura 23 Gráficos e resultados . . . 54

Figura 24 Utilização do botão para criar nodo de hipótese . . . 55

Figura 25 Utilização do botão para adicionar estados ao nodo de hipótese . . . 56

Figura 26 Preenchimento do nodo de hipótese . . . 57

Figura 27 Possíveis erros no preenchimento. . . 57

Figura 28 Alerta ao tentar excluir nodo de hipótese . . . 58 Figura 29 Exemplo de um nodo de hipótese preenchido

(12)

correta-Figura 31 Rede Bayesiana criada via interface gráfica . . . 60 Figura 32 Habilitação do botão para compilar a rede bayesiana . . . 61 Figura 33 Habilitação da aba para inserir dados Fuzzy . . . 61 Figura 34 Conteúdo da aba Pertinências Fuzzy . . . 62 Figura 35 Escolha do tipo de função de pertinência fuzzy . . . 63 Figura 36 Erro no preenchimento dos pontos das funções de perti-nência fuzzy . . . 63 Figura 37 Correto preenchimento da aba pertinências fuzzy . . . 64 Figura 38 Geração do arquivo .fcl . . . 64 Figura 39 Aba com as opções de consulta Bayes ou Fuzzy-Bayes . 65 Figura 40 Aba de consultas e apresentação dos resultado para Bayes puro . . . 65 Figura 41 Escolha das evidências para a consulta Bayes puro usando a interface gráfica . . . 66 Figura 42 Escolha do estado de cada uma das evidências seleciona-das para a consulta Bayes puro usando a interface gráfica. . . 66 Figura 43 Habilitação da apresentação dos resultados após realiza-ção da consulta Bayes puro . . . 67 Figura 44 Opções de seleção para a consulta Fuzzy-Bayes usando a interface gráfica . . . 68 Figura 45 Escolha das evidências para a consulta Fuzzy-Bayes usando a interface gráfica . . . 68 Figura 46 Inserção das medidas sobre das evidências para a con-sulta Fuzzy-Bayes usando a interface gráfica . . . 69 Figura 47 Exemplo de inserção das medidas sobre das evidências para a consulta Fuzzy-Bayes usando a interface gráfica . . . 69 Figura 48 Exemplo de apresentação de resultados após consulta utilizando o modelo Fuzzy-Bayesiano . . . 70 Figura 49 Ilustração de uma Rede Bayesiana para Diagnóstico uti-lizada na simulação 1 do uso do software. . . 73 Figura 50 Ilustração da Rede Fuzzy-Bayesiana para Diagnostico utilizada na simulação 1. . . 74 Figura 51 Consulta Fuzzy-Bayesiana à rede modelada na simulação 1 e os seus resultados. . . 75 Figura 52 Captura de tela representando uma Rede Bayesiana para

(13)

na simulação 2. . . 77 Figura 54 Consulta Fuzzy-Bayesiana à rede modelada na simulação 2 e os seus resultados. . . 78

(14)
(15)

1 INTRODUÇÃO . . . 15 1.1 OBJETIVOS . . . 16 1.2 MATERIAIS E MÉTODOS . . . 17 1.3 ORGANIZAÇÃO DO TRABALHO . . . 17 2 FUNDAMENTAÇÃO TEÓRICA . . . 19 2.1 REDES BAYESIANAS . . . 19

2.1.1 Definições formais de probabilidade . . . 19

2.1.2 Probabilidade Condicional . . . 21

2.1.3 Redes Bayesianas e o processo de classificação . . . 21

2.2 TEORIA DE CONJUNTOS FUZZY . . . 24

2.2.1 Função de Pertinência . . . 24

2.2.2 Definições acerca de Conjuntos Fuzzy . . . 29

2.2.3 Operações Fuzzy básicas . . . 30

2.2.4 Inferência Fuzzy . . . 32

2.2.5 Modelos de inferência fuzzy . . . 33

2.2.5.1 Modelo de Mamdani . . . 33

2.2.5.2 Modelo de Takagi-Sugeno-Kang . . . 34

3 MATERIAIS CORRELATOS . . . 35

3.1 MODELO HÍBRIDO COM VARIÁVEIS DICOTÔMICAS . . 35

3.2 MODELO HÍBRIDO COM VARIÁVEIS NÃO-DICOTÔMICAS 38 4 PROPOSTA . . . 41 4.1 ESTRUTURA . . . 41 4.1.1 Diagrama de classes . . . 41 4.1.2 Modelo Fuzzy-Bayesiano . . . 42 4.1.3 Interface gráfica . . . 43 4.2 FUNCIONALIDADES DO SISTEMA . . . 44 4.3 METODOLOGIA DA IMPLEMENTAÇÃO . . . 45

4.3.1 Formato do arquivo de entrada da Rede Bayesiana . 45 4.3.2 Formato do arquivo de entrada Fuzzy . . . 46

4.4 UTILIZAÇÃO DO SISTEMA . . . 48

4.4.1 Execução com entrada de dados via arquivos . . . 48

4.4.2 Criação da rede via interface gráfica . . . 55

4.4.3 Consulta Bayes via interface gráfica . . . 65

4.4.4 Consulta Fuzzy-Bayesiana via interface gráfica . . . 67

4.4.5 Possíveis exceções . . . 70

4.5 SIMULAÇÕES . . . 71

(16)
(17)

1 INTRODUÇÃO

Nos dias atuais, e provavelmente desde que a humanidade come-çou a fazer uso da razão, os indivíduos têm se deparado com situações em que as informações disponíveis não são totalmente claras e comple-tas, apresentando lacunas ou subjetividades que as tornam imprecisas, fazendo com que essas informações, como insumos de qualquer tenta-tiva de raciocínio, gerem incertezas.

Diante destas circunstâncias, foram desenvolvidas diversas for-mas de auxiliar o raciocínio quando houvesse incerteza envolvida, a fim de melhorar os resultados do processamento de informações. Dentre estas formas de raciocínio, encontram-se o Raciocínio Bayesiano e a Lógica Fuzzy.

O método de inferência ou raciocínio utilizado pelas Redes Baye-sianas é o cálculo de probabilidades condicionais formulados pela apli-cação do denominado Teorema de Bayes (PEARL, 1988). Apesar de muito aplicado em vários campos, a inferência bayesiana não releva o fato da existência de imprecisão nas variáveis que expressam o domínio representado, podendo influenciar na qualidade de seus resultados e, consequentemente, no processo de suporte a tomada de decisão ( BRIG-NOLI et al., 2013).

Por sua vez, segundo ((ZADEH, 1996) apud BRIGNOLI, 2013), a Lógica Fuzzy dispõe de um conjunto de técnicas baseadas em forma-lismo matemático apropriado para lidar com modelagem de sistemas cujo fator incerteza se manifesta nas variáveis do domínio sob a forma de imprecisão e onde o conhecimento é denotado pelo raciocínio apro-ximado ou heurístico.

Com base nas características da Lógica Fuzzy e do Raciocínio Bayesiano, surgiram propostas para mesclar as duas abordagens a fim de tratar de forma mais fiel determinados problemas que não podiam ser representados com qualidade suficiente por meio de apenas uma das técnicas. Em momentos iniciais, o resultado da fusão entre a Ló-gica Fuzzy e o Raciocínio Bayesiano deu origem às “Redes Bayesianas Híbridas”, que vieram a convergir para o surgimento das denomina-das “Redes Fuzzy-Bayesianas”. De acordo com (BRIGNOLI et al., 2013), neste contexto, algumas contribuições científicas disponibilizaram mo-delos matemáticos para permitir que estas estruturas de representação de conhecimento pudessem inferir sobre variáveis aleatórias com ruídos de imprecisão.

(18)

Brignoli (BRIGNOLI et al., 2013) e desenvolveu um framework personali-zável para servir de base para o desenvolvimento de ferramentas que ne-cessitem de um raciocinador que utilize a abordagem Fuzzy-Bayesiana, de modo a atender às demandas não atendidas por ferramentas tais como o Netica Norsys e outras destinadas ao tratamento estocástico da informação e do conhecimento.

O valor desse trabalho encontra-se, principalmente, no fato de que a aplicação desenvolvida representa uma ferramenta dedicada à modelagem de sistemas fuzzy-bayesianos, tendo sido projetada especi-ficamente para ser adaptada à modelagem de tais sistemas - facilitando, assim, a utilização por parte dos usuários tecnicamente familiarizados com a temática.

1.1 OBJETIVOS

• Objetivo geral: Desenvolvimento de um framework que dê su-porte à implementação de Sistemas Fuzzy-Bayesianos com variá-veis de entrada não-dicotômicas, baseando-se no modelo matemá-tico apresentado em (BRIGNOLI et al., 2013).

• Objetivos específicos:

– Compreender os conceitos fundamentais acerca de Redes Bayesianas e Lógica Fuzzy;

– Apresentar o modelo híbrido Fuzzy-Bayesiano a ser utili-zado;

– Implementar um framework que aplique o modelo híbrido Fuzzy-Bayesiano, contendo as seguintes funcionalidades:

∗ Permitir a modelagem de Redes Bayesianas de estrutura Naïve Bayes;

∗ Permitir a inferência sobre uma Rede Bayesiana de es-trutura Naïve Bayes;

∗ Permitir a inferência usando um raciocinador Fuzzy-Bayesiano não-dicotômico;

– Implementar uma aplicação que permita a utilização do fra-mework via interface gráfica;

(19)

1.2 MATERIAIS E MÉTODOS

O trabalho trata-se de uma pesquisa de Base Tecnológica. Para tal foi feito um estudo bibliográfico sobre Lógica Fuzzy, Redes Baye-sianas e Redes Fuzzy-BayeBaye-sianas. Este levantamento segue uma me-todologia de pesquisa sistemática, por palavras-chave relacionadas aos temas envolvidos na pesquisa. Baseado no trabalho de (BRIGNOLI et al., 2013), foi obtido o modelo matemático a ser seguido a fim de viabilizar a criação de um arcabouço para o desenvolvimento de Sistemas Fuzzy-Bayesianos que provenha todas as facilidades necessárias para que seja possível produzir modelagens satisfatórias de Redes Fuzzy-Bayesianas. O arcabouço deverá ficar disponível para uso de forma livre e servir de base para extensões.

1.3 ORGANIZAÇÃO DO TRABALHO

No capítulo 2 são apresentados os principais conceitos referen-ciados neste trabalho. No capítulo 3 são mostrados os trabalhos que fundamentam esta pesquisa e o modelo utilizado como base para a implementação. A apresentação do framework é feita no capítulo 4. Concluindo, o capítulo 5 mostra as considerações finais do trabalho.

(20)
(21)

2 FUNDAMENTAÇÃO TEÓRICA

A fim de alcançar o objetivo de compreender os principais con-ceitos teóricos que servem de base para esta pesquisa, a seguir são apre-sentadas as definições de Redes Bayesianas e Conjuntos Fuzzy, sendo que a principal referência sobre Redes Bayesianas foi o trabalho de (BRIGNOLI et al., 2013).

2.1 REDES BAYESIANAS

Em certos domínios o tipo de conhecimento explorado é de natu-reza incerta, incompleta e pode ser baseado na subjetividade, na crença, na dualidade, na sobreposição conceitual, na imprecisão ou vagueza.

A incerteza, como um conhecimento causal, é sugestiva de ser representada por probabilidades. Devido ao suporte matemático con-solidado pela Teoria da Probabilidade é possível construir um Sistema de Conhecimento utilizando as técnicas probabilísticas para represen-tar, relacionar e inferir sobre variáveis aleatórias.

Na conjuntura de Sistemas Especialistas, medidas de probabili-dade refletem a crença do especialista sobre o que ele espera que ocorra em situações similares àquelas que têm experienciado e aprendido ao longo de sua vivência.

Medidas de probabilidades, crença e plausibilidade são formas de se expressar e manipular valores interpretados como incerteza.

2.1.1 Definições formais de probabilidade

Para um determinado experimento aleatório, o conjunto de todos os resultados possíveis é chamado de espaço amostral. Um resultado particular dentro do conjunto do espaço amostral é chamado de evento. Em geral qualquer subconjunto do espaço amostral é um evento.

Sejam Ω um conjunto finito representando o espaço amostral, A um evento pertencente a este espaço amostral e P uma função de Ω para os números reais não negativos, tal que:

X

P (A) = 1, ∀A : A ∈ Ω (2.1)

O par (Ω, P ) é chamado de espaço de probabilidade. Os elemen-tos de Ω são chamados de evenelemen-tos simples. P é chamado de função de

(22)

densidade de probabilidade ou função de probabilidade.

Desta definição resulta que a probabilidade de qualquer evento A, denotada por P (A), é medida por um número pertencente ao inter-valo [0, 1]. Intuitivamente, Ω é a coleção de resultados esperados em um domínio de aplicação. O valor de P (A) é uma estimativa da crença à ocorrência do resultado A.

Axiomas e propriedades:

1. 0 ≤ P (A) ≤ 1 - Dado um evento A, a probabilidade deste evento ocorrer é sempre um número entre 0 e 1, sendo 0 quando não há chance dele ocorrer e 1 quando há certeza de que ele irá ocorrer; 2. P (Ω) = 1 - Sabendo que Ω é o conjunto que contém todos os eventos possíveis, a função de probabilidade aplicada a todos os elementos de Ω deve totalizar 1;

3. P (A ∪ B) = P (A) + P (B), se A e B forem eventos disjuntos -Sendo A e B dois eventos diferentes, a probabilidade de um ou outro ocorrer é igual a soma de cada um deles ocorrer;

4. Se A ⊆ B ⊆ Ω então 0 ≤ P (A) ≤ P (B) ≤ 1 - se A for um evento contido no evento B, então a probabilidade de A ocorrer é menor ou igual a probabilidade de B ocorrer;

5. Se A, B ⊆ Ω então P (A ∩ B) + P (A ∩ B) = P (A) e P (A ∪ B) = P (A) + P (B) − P (A ∩ B)

6. P (A) + P (A) = 1 - Sabendo que A representa o complemento de A, temos que a soma da probabilidade de um evento A ocor-rer com a probabilidade desse mesmo evento não ocorocor-rer resulta sempre 1, ou seja, o total;

7. Se Ai⊆ Ω para 1 ≤ i ≤ n e Ai∩ Aj= ∅ então ∀i 6= j

P (A1∪ A2∪ ...An) = P (A1) + P (A2) + ...P (An)

- Para quaisquer dois eventos pertencentes ao espaço amostral, se eles forem disjuntos, então a probabilidade da união destes even-tos equivale à soma das probabilidades de cada um dos eveneven-tos acontecerem.

(23)

2.1.2 Probabilidade Condicional

A probabilidade de um determinado evento pode ser alterada em função de informações adicionais que modificam o espaço amos-tral daquele evento. Matematicamente, calculamos a probabilidade de ocorrência do evento A, sabendo-se que o evento B já ocorreu, pela relação entre a probabilidade de ocorrência A e B e a probabilidade de ocorrência de B e simbolicamente denotamos por P (A|B).

Reportando-se ao conceito de Frequência Relativa, pode-se ob-ter a probabilidade condicional entre dois eventos A e B a partir da aplicação da equação

P (A|B) = P (A ∩ B)

P (B) (2.2)

desde que P (B) > 0.

A partir disso pode-se isolar a probabilidade de os dois eventos ocorrerem ao mesmo tempo (intersecção de forma condicional) e obter-se a relação:

P (A ∩ B) = P (A|B) · P (B) (2.3) e, analogamente,

P (B ∩ A) = P (B|A) · P (A) (2.4) Dessas três equações obtém-se o que é chamado de Teorema de Bayes, exposto a seguir:

P (A|B) =P (B|A) · P (A)

P (B) (2.5)

De forma mais geral, seja uma partição de espaço amostral S, conjunto de eventos A1, A2, ..., An, os eventos Ai são mutuamente

ex-clusivos e S é o conjunto União. Então para qualquer i P (Ai|B) = P (B|Ai) · P (Ai) P (B) = P (B|Ai) · P (Ai) n P i=1 P (B|Ai) · P (Ai) (2.6)

2.1.3 Redes Bayesianas e o processo de classificação

As Redes Bayesianas, também conhecidas como Redes de Proba-bilidade ou Redes de Crença, são estruturas representadas por diagra-mas fundamentados pela Teoria dos Grafos que fornecem uma maneira

(24)

de representar o conhecimento sob a forma da especificação de variáveis aleatórias e de relações estabelecidas entre estas variáveis.

O conhecimento implicitamente armazenado nos nodos do grafo da Rede Bayesiana pode ser denotado por meio de valores de probabili-dade, com números reais compreendidos no intervalo [0, 1] ou por meio de regras que descrevem a relação causal entre as variáveis envolvidas no domínio.

De acordo com (LIGEIRO, 2016), uma Rede Bayesiana pode ser definida como:

• Um conjunto de variáveis e um conjunto de arcos associados a estas variáveis;

• Cada variável possui um número finito de estados mutuamente exclusivos;

• Variáveis e arcos formam um Grafo Dirigido Acíclico (DAG); • Para cada variável A que possui como pais B1, ..., Bn existe uma

Tabela de Probabilidades Condicionais (TPC) que fornece P (A|B1∩ ... ∩ Bn).

De acordo com (BRIGNOLI et al., 2013), a composição da parte estrutural da Rede Bayesiana reflete as relações causais entre as variáveis e os valores de probabilidade que denotam a força dessa relação. De forma geral, a estrutura de uma Rede Bayesiana é dada por:

1. Parte Qualitativa: é a representação gráfica por meio de Grafo acíclico dirigido (do inglês Directed aciclyc Graph - DAG) cu-jas variáveis são os nodos e os arcos direcionados representam as relações de dependência entre as variáveis;

2. Parte Quantitativa: é o conjunto das probabilidades condici-onais associadas aos arcos existentes no modelo gráfico e as pro-babilidades estimadas a priori das variáveis independentes. Os nodos de uma Rede Bayesiana podem estar dispostos e conectados de modo a definí-la em uma estrutura denominada hierárquica, onde as relações de dependência são mais complexas. Esta proposta discorre sobre a utilização de uma estrutura simplificada de representação de uma Rede Bayesiana, apropriada a processos de classificação, conhecida como estrutura Naïve Bayes.

(25)

Figura 1 – Ilustração de uma Rede Bayesiana adaptada de (BRIGNOLI et al., 2001)

Processo de distribuição de Probabilidade Conjunta A partir do momento que a Rede Bayesiana possui o conheci-mento armazenado é possível obter-se a distribuição de probabilidade conjunta sobre todo o domínio em termos das relações entre as variáveis aleatórias.

Se uma Rede Bayesiana satisfaz a Condição de Markov (para toda variável Xi da rede, Xi é condicionalmente independente de

to-dos os seus não descendentes dado o conjunto de toto-dos os seus pais. (QUEIROZ; CIPPARRONE, 2008)), então a distribuição de probabilidade conjunta é igual ao produto das probabilidades condicionais de todos os nodos dado os valores dos seus pais.

Considere Xi como sendo um nodo da rede e pa(Xi) denotando

os seus pais. Assim, P (X1, X2, ..., Xn) é a distribuição de probabilidade

conjunta exposta a seguir:

P (X1, X2, ..., Xn) = n

Y

i=1

P Xi|pa(Xi) (2.7)

Apesar de muito aplicado em vários campos, a inferência baye-siana não releva o fato da existência de imprecisão nas variáveis que expressam o domínio representado, o que abre espaço para a utilização da Lógica Fuzzy na modelagem de problemas.

(26)

2.2 TEORIA DE CONJUNTOS FUZZY

O conceito de Conjuntos Fuzzy, também chamados de Conjuntos Nebulosos, foi introduzido em 1965 por Lofti Asker Zadeh. A Teoria de Conjuntos Fuzzy pode ser vista como uma extensão da Teoria Clássica de Conjuntos e foi criada para representar situações onde não se tem somente as opções de “pertencer” ou “não pertencer” a um conjunto, mas também conceitos mais imprecisos e para definir isso, utiliza-se de uma função chamada Função de Pertinência, que associa o elemento a um valor entre 0 e 1. Em outras palavras, na Teoria Clássica, os conjuntos são denominados “crisp” e um dado elemento do universo de discurso (domínio) pertence ou não pertence ao referido conjunto. Na teoria dos conjuntos Fuzzy, existe um grau de pertinência de cada elemento a um determinado conjunto.

O termo fuzzy pode ter diversos significados, de acordo com o contexto, mas seu conceito básico trata sempre de algo vago, indis-tinto, incerto e sinônimos como nebuloso e difuso são usados na língua portuguesa.

A rigor, um conjunto fuzzy pode ser representado por um con-junto de pares ordenados na forma:

A = {(x, µA(x)), x ∈ U }, onde: (2.8)

• U é o universo de discurso;

• A é a classe de elementos tais que A ⊆ U ; • µA é função de pertinência.

Na teoria de conjuntos Fuzzy, um elemento pode pertencer a dois ou mais conjuntos simultaneamente.

2.2.1 Função de Pertinência

Segundo (REZENDE, 2003), a definição da função de pertinência de um Conjunto Fuzzy depende do significado linguístico definido para este conjunto e de sua interpretação no contexto do universo de discurso utilizado. O grau de pertinência de um elemento em relação a um conjunto é definido por uma função característica real que assume como valor qualquer número pertencente ao intervalo [0, 1] e é mapeada por µA:→ [0, 1]. Estes valores indicam o grau de pertinência dos elementos

(27)

do conjunto universo U em relação ao conjunto A, ou seja, o quanto é possível para um elemento x de U pertencer ao conjunto A.

Quando o universo de discurso é contínuo ou possui uma quan-tidade grande de elementos discretos, a forma mais fácil de represen-tação é o gráfico de sua função de pertinência, chamado de Diagrama de Hassi-Euler[H-E] (REZENDE, 2003). Alguns exemplos de função de pertinência são mostrados a seguir.

Função Singular ou Singleton - Esse tipo de função descreve um conjunto fuzzy cujo suporte é um único ponto no conjunto universo U e que apresenta grau de pertinência igual a 1, isto é, µA(x) = 1 (equação

2.9 e figura 2).

µA(x) =

(

1, se x = α,

0, caso contrário. (2.9)

Figura 2 – Gráfico de uma Função Singular ou Singleton.

Função clássica - É utilizada na Teoria Clássica de Conjuntos. Uma função de pertinência clássica descreve apenas duas possibilidades de resultado quanto ao grau de pertinência, sendo eles: “0” (caso um elemento de U não pertença a um conjunto A), ou “1” (caso um elemento de U pertença a um conjunto A). Portanto, todos os elementos do universo de discurso U que pertencerem ao conjunto A, apresentarão o grau de pertinência “1”, enquanto todos os demais elementos de U definitivamente não pertencerão ao conjunto A, apresentando o grau de pertinência “0” (equação 2.10 e figura 3).

µA(x) =

(

0, se x < α ou x > β,

(28)

Figura 3 – Gráfico de uma Função Clássica.

Função γ (Gamma) - Segundo (KONAR, 2005), uma função de pertinência γ descreve uma variação crescente e uniforme para os graus de pertinência dos elementos do universo de discurso U em relação ao conjunto A, iniciando-se em “0” e sendo incrementada até “1” de forma linear. Essa função possui 2 parâmetros α e β e é formalmente definida da seguinte maneira (equação 2.11 e figura 4).

µA(x) =        0, se x ≤ α, x − α β − α, se α < x < β, 1, se x ≥ β. (2.11)

(29)

Função s - De acordo com (KONAR, 2005), esta função é uma versão suavizada da função γ e é formalmente definida conforme apre-sentado na equação 2.12 e figura 5.

µA(x) =              0, se x ≤ α, 2hx−αγ−αi 2 , se α < x ≤ β, 1 − 2hγ−xγ−αi 2 , se β < x ≤ γ, 1, se x > γ. (2.12)

Figura 5 – Gráfico de uma Função S.

Função L - Uma função de pertinência L descreve uma variação decrescente e uniforme para os graus de pertinência dos elementos do universo de discurso U em relação ao conjunto A, iniciando-se em “1” e sendo reduzida até “0” de forma linear. Segundo (KONAR, 2005) esta função é a inversa da típica função γ e pode ser matematicamente expressa conforme apresentado na equação 2.13 e na figura 6.

µA(x) =        1, se x ≤ α, x − α β − α, se α < x < β, 0, se x ≥ β. (2.13)

(30)

Figura 6 – Gráfico de uma Função L.

Função Triangular - Uma função de pertinência Triangular é uma junção entre uma função L e uma função γ. Estas funções de pertinência são responsáveis por representar os conjuntos nebulosos que são os mais utilizados, os quais são caracterizados por três pontos e expressos por A = (α, β, γ), conforme a equação 2.14 e o gráfico 7.

µA(x) =          0, se x ≤ α ou x > γ, x − α β − α, se α < x ≤ β, β − x γ − β, se β < x ≤ γ. (2.14)

Figura 7 – Gráfico de uma Função Triangular.

Função Π ou Trapezoidal - Uma função de pertinência trape-zoidal também é uma junção entre uma função L e uma função γ, onde

(31)

a pertinência máxima é atribuída a valores dentro do intervalo [β, γ]. µA(x) =                    0, se x ≤ α, x − α β − α, se α < x < β, 1, se β ≤ x ≤ γ, x − γ δ − γ, se γ < x < δ, 0, se x ≥ δ. (2.15)

Figura 8 – Gráfico de uma Função Trapezoidal.

2.2.2 Definições acerca de Conjuntos Fuzzy

Além das definições de conjunto que podem ser equiparadas às definições clássicas, a seguir são apresentadas também algumas defini-ções particulares à fuzzy (REZENDE, 2003).

• Suporte de um conjunto Fuzzy - O suporte de um Conjunto Fuzzy A no conjunto universo U é o conjunto clássico que contém to-dos os elementos de U que têm grau de pertinência positivo e indicamos:

supA= {x ∈ U | µA(x) > 0} (2.16)

• Cardinalidade de um conjunto Fuzzy - A cardinalidade de um Conjunto Fuzzy A sobre um conjunto universo finito U é a soma dos graus de pertinência de todos os elementos de U em A e indicamos:

|A| = X

x∈U

(32)

• Altura de um conjunto Fuzzy - A altura de um Conjunto Fuzzy A é o maior grau de pertinência, definida por:

maxx(µA(x))

• Conjunto Fuzzy Normal - Um Conjunto Fuzzy A é dito normal se:

∃x ∈ A | µA(x) = 1 (2.18)

O núcleo de um Conjunto Fuzzy A é um conjunto definido por: Se um conjunto não é normal diz-se que ele é subnormal. • Conjunto Fuzzy vazio - Um Conjunto Fuzzy A é vazio se para

todo x do universo de discurso U , o grau de pertinência de x no conjunto A for igual a 0, ou seja:

A = ∅ se ∀x ∈ U, µA(x) = 0 (2.19)

Um conjunto vazio tem um conjunto de suporte vazio.

• Núcleo de um conjunto fuzzy - O núcleo de um Conjunto Fuzzy A é um conjunto definido por:

Core(A) = {x | x ∈ A e µA(x) = 1} (2.20)

• Subconjunto fuzzy - O subconjunto B de um Conjunto Fuzzy A é definido por:

B ⊆ A se µA(x) ≤ µB(x) (2.21)

• Igualdade entre conjuntos fuzzy - A igualdade entre dois Conjun-tos Fuzzy A e B é definida por:

A = B se µA(x) = µB(x), ∀x ∈ U (2.22)

A 6= B se ∃x ∈ U | µA(x) 6= µB(x) (2.23)

2.2.3 Operações Fuzzy básicas

As operações sobre conjuntos nebulosos são definidas com relação às funções de pertinência (REZENDE, 2003).

• Complemento - O complemento de um conjunto fuzzy A do uni-verso de discurso U pode ser denotado por ¬A com uma função

(33)

de pertinência definida por:

µ¬A(x) = 1 − µA(x) (2.24)

Por exemplo, se um elemento x ∈ U tem grau de pertinência 0.8 no conjunto fuzzy A, então seu grau de pertinência em ¬A será 0.2. O complemento corresponde ao conectivo lógico “não”. • União - A união de dois conjuntos fuzzy A e B do universo de

discurso U é definida de diversas formas na literatura. Existe a definição mais geral usando uma família de funções chamada S-Norma definida por:

µA∪B = S(µA(x), µB(x)) (2.25)

e com as seguintes propriedades: – Comutatividade: S(a, b) = S(b, a);

– Associatividade: S(a, S(b, c)) = S(S(a, b), c);

– Monotonicidade: se a ≤ b e c ≤ d, então S(a, c) ≤ S(b, d); – Coerência de contornos: S(a, 1) = 1 e S(a, 0) = a.

Qualquer função que satisfaça as propriedades acima representa a união de dois conjuntos Fuzzy. Por exemplo, a união de A e B pode ser representada por A ∪ B ou A + B pela seguinte função de pertinência:

µA∪B = max[µA(xi), µB(xi)] (2.26)

A união corresponde ao conectivo lógico “ou”.

• Interseção - A interseção entre dois conjuntos fuzzy A e B do universo de discurso U também pode ser definida de diversas for-mas e também pode ser generalizada por meio de uma família específica de funções chamada T-Norma, definida por

µA∩B= T (µA(x), µB(x)) (2.27)

e com as seguintes propriedades: – Comutatividade: T (a, b) = T (b, a);

(34)

– Monotonicidade: se a ≤ b e c ≤ d, então T (a, c) ≤ T (b, d); – Coerência de contornos: T (a, 1) = a e T (a, 0) = 0.

Uma função que satisfaça as propriedades acima representa a In-tersecção na Teoria de Conjuntos Fuzzy. Por exemplo, a inter-secção de dois conjuntos Fuzzy A e B pode ser representada por A ∩ B ou A · B por meio da seguinte função de pertinência:

µA∩B= min[µA(xi), µB(xi)] (2.28)

A interseção corresponde ao conectivo lógico “e”.

2.2.4 Inferência Fuzzy

A Lógica Fuzzy está baseada em variáveis quantitativas expressas linguisticamente.

De acordo com (REZENDE, 2003), uma variável linguística é definida como uma entidade utilizada para representar de modo im-preciso e, portanto, linguístico, um conceito ou uma variável de um dado problema. Ela admite como valores apenas expressões linguísti-cas (frequentemente chamadas de termos primários) como “frio”, “muito grande”, “aproximadamente alto”, etc. Estes valores contrastam com os valores assumidos por uma variável numérica, que admite apenas valo-res precisos.

Um termo primário de uma dada variável linguística pode ser representado por um conjunto Fuzzy existente no universo de discurso onde esta variável está definida. Os termos primários definidos para uma dada variável linguística formam a sua estrutura de conhecimento, chamada de Partição Fuzzy desta variável.

A forma de utilização das variáveis linguísticas depende basica-mente da definição das propriedades sintáticas e semânticas que vão rever o comportamento do sistema de conhecimento Fuzzy. As propri-edades sintáticas definem o formato em que serão armazenadas infor-mações linguísticas Fuzzy. Elas proporcionam a criação de uma Base de Conhecimento contendo sentenças estruturadas, sistematizando os processos de armazenamento, busca e processamento dos dados exis-tentes.

Por outro lado, as propriedades semânticas vão especificar de que modo é extraído e processado o conhecimento, armazenado na forma de declarações condicionais fuzzy ou regras de produção fuzzy, contido

(35)

na estrutura definida pelas propriedades sintáticas. Regras de produção Fuzzy

Segundo (REZENDE, 2003), a forma mais comum de armazenar informações em uma Base de Conhecimento Fuzzy é a representação por meio de regras de produção Fuzzy. Uma regra de produção nor-malmente é formada por duas partes principais:

if <antecendente> then <consequente>

Onde o antecedente é composto por um conjunto de condições que, quando satisfeitas, mesmo que parcialmente, determinam o conse-quente da regra por um mecanismo de Inferência Fuzzy.

Por sua vez, o consequente é composto por um conjunto de ações que são geradas com a execução da regra. Os consequentes das regras disparadas são processados em conjunto para gerar uma resposta de-terminística para cada variável de saída do sistema.

2.2.5 Modelos de inferência fuzzy

De acordo com (REZENDE, 2003), utilizam-se modelos de infe-rência fuzzy como o Modelo de Mamdani e o Modelo de Takagi-Sugeno-Kang, que são específicos de acordo com as propriedades sintáticas de-finidas, ou seja, o modelo de processamento definido para o sistema de conhecimento vai depender da forma de armazenamento da informação escolhida.

2.2.5.1 Modelo de Mamdani

Mamdani (1974) propôs um método de inferência fuzzy que foi por muitos anos um padrão para a utilização dos conceitos de lógica fuzzy em processamento de conhecimento. As regras de produção em um modelo de Mamdani possuem relações fuzzy tanto em seus antece-dentes como em seus consequentes. Uma regra típica deste modelo é mostrada a seguir:

SE Temperatura = AumentandoMuito E Pressão = MuitoAlta, ENTAO PerigoDeExplosão = Grande

(36)

De forma geral, são sistemas baseados em regras fuzzy em que tanto os antecedentes como os consequentes são conjuntos fuzzy.

2.2.5.2 Modelo de Takagi-Sugeno-Kang

Em 1985, Takagi e Sugeno introduziram uma ferramenta para modelagem de sistemas baseada na teoria fuzzy e em 1988, Sugeno e Kang publicaram novos resultados e apresentaram critérios para ajus-tar os parâmetros do método fuzzy. O método de Takagi-Sugeno, tam-bém conhecido como Takagi-Sugeno-Kang, possui aplicações em diver-sas áreas incluindo: automação e controle, previsão de séries temporais, reconhecimento de padrões e biomatemática.

De forma geral, são sistemas baseados em regras fuzzy em que os antecedentes são conjuntos fuzzy mas os consequentes são funções das variáveis independentes.

No modelo de Takagi-Sugeno, as regras são da forma: SE x1 é A1i E x2 é A2i E . . . E xn é Ani

ENTAO y = fi(x1, x2, ..., xn)

em que A1i, A2i, ...Anisão conjuntos fuzzy dos antecedentes enquanto

que o consequente é uma função das variáveis de entrada (REZENDE, 2003).

A seguir são descritos trabalhos que sugerem a aplicação de am-bos os conceitos descritos neste capítulo.

(37)

3 MATERIAIS CORRELATOS

O objetivo deste trabalho é construir um framework que utilize Bayes e Fuzzy para realizar os cálculos cujos resultados possibilitem a inferência nos mais variados contextos que envolvam probabilidade e incerteza. Para isto, este trabalho baseia-se nos estudos de ( BRIG-NOLI et al., 2001), (TIBIRIÇÁ et al., 2005) e (BRIGNOLI et al., 2013), que explicitam e exemplificam a possibilidade desse hibridismo e que são resumidos a seguir.

3.1 MODELO HÍBRIDO COM VARIÁVEIS DICOTÔMICAS

A pesquisa de (BRIGNOLI et al., 2001) foi voltada para a área de Ciência dos Alimentos, mais precisamente focada nos estudos sobre a contaminação do leite de consumo causada por resíduos (desde anti-bióticos administrados aos animais, até agrotóxicos e processos indus-triais). Tendo em vista que as quantidades de resíduos presentes numa amostra de leite analisado possuem imprecisões e, que estas quantida-des são as evidências usadas por uma Rede Bayesiana ao calcular a probabilidade de ocorrência de uma doença decorrente destas evidên-cias, tornava-se oportuno encontrar um qualificador ou ajustador da saída probabilística, pois esta probabilidade estava vinculada a uma imprecisão.

A figura 9 mostra um esquema representativo do modelo pro-posto, envolvendo dois subsistemas: um probabilístico e outro difuso. A ideia do esquema é justamente tornar possível a compreensão da existência de uma fusão entre as duas técnicas, o que caracteriza o hibridismo.

Utilizando-se o modelo acima referido o autor realizou simulações das quais uma saída seria interpretada como a probabilidade qualificada de acontecer um determinado efeito colateral em uma pessoa que con-some uma quantidade de leite que esteja contaminado por resíduos de antibióticos.

A finalidade da rede bayesiana construída para a simulação em (BRIGNOLI et al., 2001) é a de gerar probabilidades de manifestação de efeitos colaterais específicos devido a certos tipos de resíduos. Quando a rede bayesiana calcula uma probabilidade “P” de acontecer a doença “D” caso existam evidências “e” de resíduos, este valor de “P” é funda-mentado de acordo com a teoria da probabilidade, de que:

(38)

Figura 9 – Esquema representativo do modelo híbrido proposto em (BRIGNOLI et al., 2001).

(39)

     P (e) = 1 (existe) ou

P (e) = 0 (não existe)

(3.1)

Sendo assim, a Rede Bayesiana não considera a possibilidade de existir uma gradação para a existência de quantidades de resíduos no leite, pois pode-se dizer que no meio probabilístico o grau de verdade é zero ou 1. Neste contexto, no qual o modelo probabilístico não pode apresentar uma saída considerando não somente os valores 0 e 1, mas sim, os valores compreendidos no intervalo [0, 1], é que propõe-se o uso de conjuntos difusos que possam calcular um valor o qual pode-se chamar de Ajustado ou Qualificado para o probabilístico. Desta forma, se a probabilidade de acontecer a doença “D” for “P”, mas a possibilidade de existência da evidência “e” estiver compreendida no intervalo ]0, 1[, então o valor de “P” sofre uma perturbação de modo a acontecer uma redistribuição das probabilidades no vetor de hipóteses ou saída da rede. Assim, cada nova probabilidade deste vetor está vinculada à imprecisão existente na evidência do resíduo, influenciando o diagnóstico de determinada doença.

(40)

3.2 MODELO HÍBRIDO COM VARIÁVEIS NÃO-DICOTÔMICAS

No trabalho de (BRIGNOLI et al., 2013) é utilizado o cenário de classificação de Risco Metabólico em crianças e adolescentes para tes-tar um modelo que utiliza Redes Bayesianas e Lógica Fuzzy, pois este cenário provê variáveis de natureza probabilísticas para descrever e re-presentar o conhecimento inerente ao domínio, contudo, verifica-se im-precisão existente nos estados que constituem as variáveis de entrada ou evidências apresentadas à Rede Bayesiana.

A fim de verificar a funcionalidade do modelo desenvolvido, o autor faz simulações para comparar três inferências: a inferência reali-zada por uma rede bayesiana, a inferência utilizando o modelo fuzzy-bayesiano desenvolvido e a inferência do ponto de vista de um especi-alista da área (no caso, área médica).

Baseando-se em (BRIGNOLI et al., 2001), o autor constrói o mo-delo matemático, conforme a equação 3.2, que foi utilizado como base para o desenvolvimento deste trabalho.

˜ P Hi| Ejxk = P Hi · m Q j=1 t P k=1 P  Ejxk| Hi  ·  εEjxk  n P i=1 P Hi · m Q j=1 t P k=1 P  Ejxk| Hi  ·  εEjxk  (3.2) Onde:

• ˜P: função de qualificação do raciocinador Fuzzy-Bayesiano; • P : probabilidade obtida de especialistas;

• H: hipóteses a serem verificadas;

• E: evidências de manifestação de cada hipótese; • x: estados imprecisos de cada evidência;

A seguir apresenta-se em detalhes cada uma das variáveis com-ponentes da fórmula 3.2.

˜

P Hi| Ejxk

é a probabilidade de ocorrer determinado estado i da hipótese, dado que k estados de j evidências foram confirmadas (é o valor que o raci-ocinador deseja calcular);

(41)

P Hi



é probabilidade a priori do estado i da hipótese (é inserida pelo usuário no carregamento inicial da rede);

P 

Ejxk | Hi



é a probabilidade de cada estado k da evidência j, dada a confirmação do estado i da hipótese (essa informação é inserida pelo usuário no carregamento inicial da rede);

 εEjxk



é o valor de pertinência Fuzzy do estado k da evidência j;

O cálculo realizado no numerador da fórmula pode ser resumido como: cada probabilidade de cada estado k da evidência fixada j dado o estado i da hipótese é multiplicada pela pertinência fuzzy correspon-dente. A seguir, é realizado um somatório com todos esses resultados dos k estados dessa evidência j. Cada resultado dessa soma é multipli-cado pela probabilidade do estado i da hipótese. A seguir, para melhor visualização, o numerador da fórmula foi separado em 3 partes:

t X k=1 P  Ejxk| Hi  ·  εEjxk  (3.3) Somatório das probabilidades fuzzyficadas dos k estados da evi-dência j. m Y j=1 t X k=1 P  Ejxk | Hi  ·  εEjxk 

Produtório das somas realizadas para as j evidências (conforme 3.3). P Hi · m Y j=1 t X k=1 P  Ejxk | Hi  ·  εEjxk  (3.4) Após o término das iterações do produtório descrito em 3.4, o valor obtido é multiplicado pela probabilidade a priori do estado i da hipótese (P (Hi)). Desta forma, conclui-se a construção do numerador

(42)

da fórmula.

Ao relacionar-se o numerador e o denominador da fórmula, a diferença se dá pelo fato de que, no denominador, o processo é repetido para os i estados da hipótese. Ou seja, é feito o cálculo idêntico ao feito no numerador para todos os estados da hipótese e então, somam-se todos essomam-ses resultados.

n X i=1 P Hi · m Y j=1 t X k=1 P  Ejxk| Hi  ·  εEjxk  (3.5) Denominador da fórmula.

Para chegar nesta fórmula, primeiramente, o autor demonstrou, por indução, que uma adaptação do Teorema Clássico de Bayes poderia ser usada em domínios onde há estados incertos. Ele precisou disso por-que o Teorema de Bayes na forma clássica funciona bem em casos com estados discretos (CRISP) e bem definidos. No caso onde há estados que não ocorrem de forma booleana e a possibilidade de usar estados contínuos fez com que a proposta do autor então convergisse para uma consideração acerca da manifestação semântica sobre o conhecimento da Rede Bayesiana representado por uma distribuição de probabilida-des ajustadas pela imprecisão inerente às variáveis no domínio. E foi por causa dessa manifestação semântica que o autor fez uso da Lógica Fuzzy em seu modelo. Mais especificamente, foi utilizada a estrutura e a funcionalidade do processo de fuzzificação para obter os fatores de ajuste de imprecisão da Rede Bayesiana.

Após concluída a assimilação do modelo, foi desenvolvida a pro-posta de implementação do framework apresentada no capítulo se-guinte.

(43)

4 PROPOSTA

Neste capítulo é descrito o desenvolvimento do framework de Redes Fuzzy-Bayesianas feito com base no modelo matemático desen-volvido por (BRIGNOLI et al., 2013) juntamente com a implementação de uma aplicação que o utiliza.

4.1 ESTRUTURA

A estrutura geral do arcabouço é apresentada na figura 10. Con-tudo, visando facilitar a compreensão, o conjunto de classes que com-põem o sistema será apresentado em partes, visando apresentar os di-ferentes aspectos da aplicação. Inicialmente é apresentado o digrama de classes do sistema, então são mostradas as principais classes relacio-nadas à modelagem do raciocinador Fuzzy-Bayesiano e em seguida, as principais classes relacionadas à Graphical User Interface (GUI) criada para exemplificar um uso do framework.

4.1.1 Diagrama de classes

A figura 10 mostra o diagrama de classes do sistema de forma resumida. Nele são mostrados os nomes das classes utilizadas na im-plementação do sistema. A execução do programa é iniciada através da classe MainBuzzy, que cria uma instância da classe MainScreen, cuja função é gerenciar todas as interações do usuário com a aplicação.

(44)

Figura 10 – Diagrama de classes simplificado

4.1.2 Modelo Fuzzy-Bayesiano

A figura 11 apresenta o diagrama de classes com as represen-tações relevantes para a formação dos cálculos. Os nodos da rede bayesiana são representados pelas classes Hypothesis e Evidence. Seus respectivos estados são representados pelas classes HypothesisState e EvidenceState. A parte fuzzy do sistema também foi representada por nodos, sendo a classe FuzzyEvid usada para representar uma evidência contendo um Array de estados e suas respectivas informações de per-tinência fuzzy. Por sua vez, a classe InputHandler é a classe que faz a leitura dos arquivos de entrada e realiza os cálculos com as informações lidas.

(45)

Figura 11 – Diagrama de classes com as representações relevantes para a formação dos cálculos

4.1.3 Interface gráfica

A figura 12 mostra o diagrama de classes com as classes usadas para implementar a interface gráfica do sistema. Basicamente, cada classe contém os componentes da interface gráfica necessários para a caracterização da rede na tela. Tanto as classes HypNode e EvidNode quanto a FuzzyNode contêm tabelas para armazenar as informações inseridas pelo usuário. A classe MainScreen é a classe principal do sistema.

(46)

Figura 12 – Diagrama de classes da UI simplificado

4.2 FUNCIONALIDADES DO SISTEMA

O sistema permite a modelagem de Redes Bayesianas apenas no formato Naïve Bayes. Essa especificação é feita por meio do formato do arquivo de entrada reconhecido e através do relacionamento entre os componentes modeláveis usando a interface gráfica.

(47)

• Entrada de dados: o sistema funciona com base na entrada de dados de dois tipos distintos: rede bayesiana e conjuntos fuzzy. A entrada de ambos é feita a partir de arquivos de texto ou via interface gráfica. Após o carregamento dos dados, o usuário for-nece uma última informação para poder executar a inferência fuzzy-bayesiana: o valor das medições referentes às evidências que deseja-se considerar (consulta fuzzy).

• Suporte de inferência: o sistema é capaz de processar redes baye-sianas puras (o que ocorre por padrão caso não sejam carregados dados de entrada de conjuntos Fuzzy). Além disso, ao serem in-seridas as informações de redes bayesianas e de conjuntos Fuzzy, o sistema também é capaz de processar Redes Bayesianas sob influência de conjuntos Fuzzy, que representa a principal contri-buição deste trabalho.

4.3 METODOLOGIA DA IMPLEMENTAÇÃO

Para o desenvolvimento deste framework foi utilizada a lingua-gem de programação Java, cujo paradigma é a orientação a objetos. Tal linguagem foi escolhida, principalmente, devido à preocupação com portabilidade e sua popularidade, levando em conta a possibilidade de alteração do código por outros desenvolvedores. O ambiente utilizado para o desenvolvimento foi o NetBeans. Além disso, foram utilizadas bibliotecas de JavaFX na implementação da interface gráfica usando o software Scene Builder1.

4.3.1 Formato do arquivo de entrada da Rede Bayesiana

O arquivo garante a estrutura Naïve Bayes para a Rede Bayesi-ana modelada da seguinte forma: é aceito apenas um nodo de hipótese na rede e não é reconhecida nenhuma interferência das evidências entre si.

O arquivo foi criado de acordo com um exemplo que contém dados hipotéticos sobre a localização de um robô, sabendo-se que o local (hipótese) possui quatro estados possíveis (quarto1, quarto2, corredor1, corredor2). Além disso, a rede contém as informações sobre barulho, iluminação e espaço (evidências), cujos estados são barulho baixo ou alto, iluminação claro ou escuro e espaço apertado ou amplo.

(48)

A formatação do arquivo que modela a Rede Bayesiana é base-ada nos nodos da rede, sendo separbase-ada em blocos delimitados por BE-GIN_HIP e END_HIP (para a hipótese) e BEGIN_EVI e END_EVI (para evidências). Os delimitadores de blocos servem para indicar o tipo do nodo a ser criado (conforme as linhas 1, 5, 7, 11, 13, 17, 19 e 23). Após o delimitador de abertura de um bloco, em uma linha separada, espera-se encontrar o nome do nodo (conforme as linhas 2, 8, 14 e 20). Após a definição do nome do nodo, espera-se encontrar a listagem com os nomes dos estados do nodo, separados por vírgula “,” (conforme as linhas 3, 9, 15, 21). 1 B E G I N _ H I P ; 2 l o c a l ; 3 quarto1 , quarto2 , c o r r e d o r 1 , c o r r e d o r 2 ; 4 0.55 , 0.1 , 0.25 , 0 . 1 ; 5 E N D _ H I P ; 6 7 B E G I N _ E V I ; 8 b a r u l h o ; 9 baixo , a lt o ; 10 0.8 , 0.85 , 0.4 , 0.3 # 0.2 , 0.15 , 0.6 , 0 . 7 ; 11 E N D _ E V I ; 12 13 B E G I N _ E V I ; 14 i l u m i n a c a o ; 15 claro , e s c u r o ; 16 0.65 , 0.51 , 0.55 , 0 . 4 5 # 0.35 , 0.49 , 0.45 , 0 . 5 5 ; 17 E N D _ E V I ; 18 19 B E G I N _ E V I ; 20 e s p a c o ; 21 a p e r t a d o , a m p l o ; 22 0.85 , 0.93 , 0.1 , 0.2 # 0.15 , 0.07 , 0.9 , 0 . 8 ; 23 E N D _ E V I ;

Listing 4.1 – Exemplo de entrada de Rede Bayesiana

4.3.2 Formato do arquivo de entrada Fuzzy

A estrutura do arquivo Fuzzy é baseada nos nodos da Rede Baye-siana, mantendo os mesmos nomes para a hipótese, para as evidências e todos seus estados. A formatação do arquivo de texto salvo com ex-tensão .fcl deve manter o formato aceito pela biblioteca jFuzzyLogic2,

(49)

utilizada para os cálculos das inferências Fuzzy. 1 F U N C T I O N _ B L O C K c l a s s i f i c a r _ e s t r a d a 2 3 V A R _ I N P U T 4 b a r u l h o : R EA L ; 5 i l u m i n a c a o : R E A L ; 6 e s p a c o : RE A L ; 7 E N D _ V A R 8 9 F U Z Z I F Y b a r u l h o 10 T E R M b a i x o := t r i a n 0 10 70; 11 T E R M a l t o := (10 ,0) (70 ,1) (100 ,1) ; 12 E N D _ F U Z Z I F Y 13 14 F U Z Z I F Y i l u m i n a c a o 15 T E R M c l a r o := t r a p e 0 15 27 85; 16 T E R M e s c u r o := (5 ,0) (90 ,1) (100 ,1) ; 17 E N D _ F U Z Z I F Y 18 19 F U Z Z I F Y e s p a c o 20 T E R M a p e r t a d o := (0 , 1) (80 , 0) ; 21 T E R M a m p l o := g a u s s 56 92; 22 E N D _ F U Z Z I F Y 23 24 E N D _ F U N C T I O N _ B L O C K

Listing 4.2 – Exemplo de entrada Fuzzy

O arquivo .fcl é iniciado por FUNCTION_BLOCK e deve ter-minar com END_FUNCTION_BLOCK, as demais declarações do ar-quivo devem estar contidas entre estes dois termos. Imediatamente após o termo FUNCTION_BLOCK, é definido pelo usuário um descritor para o arquivo, que no caso foi escolhido como “classificar_estrada” (por padrão, a entrada de dados via interface gráfica define este descritor com uma referência à hipótese bayesiana). Após o descritor, as variá-veis fuzzy são definidas dentro dos termos VAR_INPUT e END_VAR (neste trecho é importante que os nomes das variáveis fuzzy estejam iguais aos nomes das evidências bayesianas, para garantir a consistên-cia do processamento) - o termo “REAL” após o nome das variáveis é um requisito interno do jFuzzyLogic que deve ser mantido.

Os blocos delimitados por FUZZIFY e END_FUZZIFY definem os pontos e as funções de pertinência para cada estado (TERM) de cada evidência. O input via arquivo permite a inserção de variável fuzzy definindo apenas os pontos, não precisando ser definido o tipo da

(50)

função de pertinência utilizada. Contudo, neste caso, os pontos devem ser escritos utilizando parenteses “(x,y)”. Para o caso em que deseja-se utilizar uma função específica, por exemplo, a triangular, a sintaxe utilizada deve ser como a linha 10 do exemplo, “trian”, seguidos de exa-tamente três valores, separados apenas por um espaço. Essas definições podem ser consultadas na documentação da biblioteca jFuzzyLogic.

4.4 UTILIZAÇÃO DO SISTEMA

A seguir, é feita uma descrição de como utilizar o sistema. Esta descrição se dá a partir de uma série de capturas de tela que demons-tram a aplicação em funcionamento. O passo a passo desde o input de dados até a apresentação dos resultados é apresentado nas subseções a seguir. Como é possível o uso do sistema via carregamento de ar-quivo ou via interface gráfica, as duas formas de uso foram explicadas separadamente.

4.4.1 Execução com entrada de dados via arquivos

Para facilitar a compreensão, é utilizado como exemplo de rede bayesiana o arquivo apresentado na seção 4.3.1.

Ao ser iniciada a execução do programa, nota-se que existem dois botões na janela inicial do sistema que servem para carregar dados de entrada via arquivos. Cada botão é utilizado individualmente para cada tipo de cálculo requerido - ou seja, cálculo de bayes puro (contendo apenas as probabilidades), ou cálculo fuzzy-bayesiano (que acrescenta informações fuzzy às evidências bayesianas).

Para realizar a consulta das probabilidades utilizando apenas Bayes, utiliza-se o botão “Carregar arquivo Bayes” conforme apresen-tado na figura 13 abaixo.

(51)

Figura 13 – Carregamento Bayes via arquivo .txt

Após o usuário clicar em “Carregar arquivo Bayes”, abrirá uma janela para escolha de um arquivo de extensão .txt, conforme apresen-tado na figura 14. A janela já contém um filtro para arquivos desse formato. Vale lembrar que o algoritmo lerá e carregará corretamente as informações somente se o arquivo selecionado estiver no formato especificado na seção 4.3.1.

(52)

Em seguida, é solicitada uma consulta sobre quais das evidências deseja-se confirmar, que pode ser visto na figura 15. Essa seleção de evidências deve estar de acordo com as informações que o usuário deseja confirmar, por exemplo, sabe-se algo sobre “barulho” e “iluminação”.

Figura 15 – Seleção das evidências sobre as quais se tem informação.

Para finalizar a consulta, é solicitada a seleção dos estados de cada evidência que se deseja confirmar, como mostrado na figura 16. Essa seleção dos estados das evidências deve estar relacionada com as informações confirmadas pelo usuário, por exemplo, sabe-se que baru-lho é “baixo” e iluminação é “claro”.

(53)

Por fim, o programa fornece a saída de dados para permitir a inferência Bayesiana, com os valores das probabilidades calculadas para cada estado da hipótese, a partir das evidências confirmadas (conforme representado na figura 17).

Figura 17 – Saída do programa para Bayes puro

No caso de desejar-se trabalhar com a rede bayesiana fuzzyficada, deve-se utilizar especificamente o botão “Carregar arquivo Fuzzy”, des-tacado na figura 18. Este botão pedirá ao usuário que selecione dois arquivos, uma vez que para efetuar o cálculo sobre uma rede fuzzy-bayesiana, o sistema precisa carregar dados tanto das probabilidades dos nodos, obtidas pela rede bayesiana, quanto das informações espe-cíficas sobre as variáveis fuzzy.

(54)

Para isso são abertas, em sequência, duas janelas para seleção dos arquivos. Primeiramente, é aberta uma janela para a escolha do arquivo com a rede bayesiana com extensão .txt, como pode ser observado na figura 19.

Figura 19 – Janela para escolha do arquivo Bayes.

Após a escolha do arquivo com rede bayesiana, é aberta a janela para seleção do arquivo com extensão .fcl (como mostrado na figura 20). Tal arquivo contém as informações fuzzy e deve estar no formato especificado na seção 4.3.2 para ser lido e computado corretamente pelo sistema.

(55)

Após o carregamento dos arquivos, conforme explicado acima, deverá ser aberta uma nova janela para que o usuário digite o número correspondente às evidências da hipótese sobre as quais possui alguma medida, como mostrado na figura 21. Neste exemplo está sendo infor-mado que existem medidas sobre as evidências “barulho” e “iluminação”. Ressalta-se a diferença dessa consulta para a consulta com bayes puro. Neste caso, por exemplo, não se sabe se o barulho é baixo ou alto, mas há medidas sobre tais variáveis e o uso dos conjuntos fuzzy e suas funções de pertinência inseridas no sistema via arquivo, possibilitam os cálculos e as conclusões sobre tais medidas se enquadrarem mais em “barulho alto” ou “barulho baixo”, não precisando estar exclusivamente em um ou outro estado.

Figura 21 – Seleção das evidências sobre as quais tem-se informação

Em seguida, uma nova janela solicitará os valores corresponden-tes às medições referencorresponden-tes a cada evidência escolhida, separados por vírgulas (figura 22). Neste exemplo, está sendo informado que a me-dida para barulho é 10 e a meme-dida para iluminação é 40. Tais meme-didas, neste exemplo, podem ser consideradas como tendo sido obtidas pelo robô através de sensores, conforme ele explora o ambiente ao seu redor.

(56)

Figura 22 – Medidas inseridas para cada evidência escolhida

Uma vez tendo sido realizada a consulta fuzzy, o programa apre-sentará uma saída que contém os gráficos referentes às pertinências das medidas fornecidas (gerada através da biblioteca jFuzzyLogic), junta-mente com os resultados da consulta, conforme a figura 23.

(57)

Na figura 23, pode-se notar que os valores correspondentes às medições fornecidas para as evidências “barulho” e “iluminação” apa-recem no gráfico na cor preta, enquanto os Conjuntos Fuzzy referentes a cada estado das evidências aparecem em azul e vermelho. Como não foi inserida medição referente à evidência "espaço", apenas os Conjuntos Fuzzy de seus estados aparecem no gráfico.

Por fim, destaca-se o resultado final da consulta fuzzy-bayesiana na forma textual, como pode ser observado na janela central. Tal resul-tado pode ser interpreresul-tado no contexto de teste definido como sendo o valor da probabilidade condicional considerando informações fuzzy de que o robô esteja em cada cômodo do ambiente.

4.4.2 Criação da rede via interface gráfica

A seguir apresentaremos como se dá a criação da rede via in-terface gráfica, que facilita a utilização pelo usuário. A interação do usuário com a interface gráfica se dá através de abas, onde cada uma dessas abas corresponde a uma das etapas do trabalho.

• Criação da hipótese: A figura 24 destaca o botão que inicializa a criação da Rede Bayesiana via interface gráfica. É permitida somente a criação de uma hipótese e a criação das evidências só é habilitada depois que o nodo de hipótese está preenchido corretamente.

(58)

• Adicionar estado à hipótese: O botão “+” do nodo da hipó-tese tem a funcionalidade de adicionar estados e suas respectivas probabilidades (Figura 25).

Figura 25 – Utilização do botão para adicionar estados ao nodo de hipótese

• Preenchimento do nodo de hipótese: Na figura 26 é mos-trada a tela com o nodo da hipótese criado mas não preenchido. Três estados foram adicionados, sendo a coluna da esquerda re-servada para o nome de cada estado da hipótese e a coluna da direita para conter as respectivas probabilidades. A soma dos campos da coluna das probabilidades deve totalizar 1. Quando o usuário clica no botão “OK”, a verificação é feita para garantir a consistência do sistema.

(59)

Figura 26 – Preenchimento do nodo de hipótese

• Possíveis erros no preenchimento: São três os possíveis erros no preenchimento detectados pelo sistema e avisados na barra inferior, em vermelho.

(i) Nodo sem nome;

(ii) Campos sem preenchimento;

(iii) Soma das probabilidades (por coluna) diferente de 1. O erro (i) é mostrado na figura 27.

(60)

Além disso, caso o usuário clique para excluir um nodo de hipótese depois que já existe um nodo de evidência, o sistema o avisa3 de que isto excluirá a rede toda. (Figura 28)

Figura 28 – Alerta ao tentar excluir nodo de hipótese

• Exemplo de preenchimento correto de um nodo: A figura 29 exemplifica um preenchimento correto do nodo de hipótese. Ao clicar no botão “OK”, o sistema fez as três verificações no preenchimento e então, habilitou a criação do nodo de evidência.

3FREEPIK - designer do ícone de alerta (www.freepik.com).

(61)

Figura 29 – Exemplo de um nodo de hipótese preenchido corretamente.

• Criação do nodo de evidência: A criação dos nodos de evi-dência é semelhante à criação do nodo de hipótese, pois contém um campo para o nome da evidência, no topo do nodo, e uma coluna com campos para os seus estados. A principal diferença é que esse nodo já vem com colunas pré-estabelecidas pelos estados da hipótese ao qual está ligado, uma vez que é isto que constitui a Rede Bayesiana. Neste caso, cada campo reservado para proba-bilidade deve conter a probaproba-bilidade condicional de determinado estado da evidência ocorrer, quando confirmado determinado es-tado da hipótese (Figura 30).

(62)

A seguir, nas Figuras 31, 32 e 33, são apresentadas capturas de tela do programa que foram editadas graficamente para demonstrarem como a estrutura da rede seria representada no formato de grafo (foram adici-onadas arestas que representam as interações entre os nodos da rede, de acordo com a configuração de rede Naïve Bayes correspondente).

• Exemplo de Rede Bayesiana criada via interface gráfica: Para os nodos de evidência valem as mesmas verificações que ga-rantem a consistência da rede. Quando todos os nodos estiverem corretos, é habilitado o botão “Compilar Rede”, que carrega as informações fornecidas e cria os objetos que possibilitarão os cál-culos através do sistema. Além disso, isto habilita a aba para inserção de informações Fuzzy, localizada na parte inferior da ja-nela. (Figuras 31 e 32).

(63)

Figura 32 – Habilitação do botão para compilar a rede bayesiana Na figura 33 é mostrada a tela quando o usuário confirma o preenchi-mento da rede bayesiana e clica em computar. Uma aba inferior passa a ser clicável, possibilitando a inserção dos valores para as variáveis fuzzy.

(64)

• Conteúdo da aba Pertinências Fuzzy: Ao clicar na aba “Per-tinências Fuzzy”, é apresentada uma área contendo tabelas com as mesmas evidências criadas na Rede Bayesiana. Cada linha de cada tabela dessas evidências contém três tipos de dados: o nome do estado da evidência, o tipo da função de pertinência que será utilizada para representar cada estado, e quatro campos para in-serção dos pontos a serem usados na função escolhida. (Figura 34).

Figura 34 – Conteúdo da aba Pertinências Fuzzy

• Funções de pertinências: A inserção via interface gráfica per-mite a escolha entre cinco tipos de funções de pertinência fuzzy: trapezoidal, triangular, gaussiana, sino e sigmoidal. A seleção do tipo de função faz com que o número de campos disponíveis para digitar os pontos seja alterada. A função trapezoidal (padrão do sistema), necessita de quatro pontos. As funções triangular e sino necessitam de três pontos. Já as funções gaussiana e sigmoidal necessitam de apenas dois pontos. Um exemplo de uma seleção é mostrada na figura 35.

(65)

Figura 35 – Escolha do tipo de função de pertinência fuzzy

• Preenchimento dos nodos Fuzzy: Basicamente, no preenchi-mento dos nodos fuzzy ocorrerá um erro apenas caso o usuário deixe em branco algum campo. Todos os campos numéricos acei-tam valores do tipo float. Quando preenchidos correacei-tamente, o botão “Compilar rede” é habilitado (figuras 36 e 37).

Figura 36 – Erro no preenchimento dos pontos das funções de perti-nência fuzzy

(66)

Figura 37 – Correto preenchimento da aba pertinências fuzzy

• Geração do texto fuzzy: Após o correto preenchimento das ta-belas que contém as informações acerca de fuzzy, o programa gera um texto formatado para ser usado pela biblioteca jFuzzyLogic. (Figura 38).

Figura 38 – Geração do arquivo .fcl

Ao concluir o preenchimento da Rede Bayesiana ou Rede Fuzzy-Bayesiana via interface gráfica e compilá-la corretamente, a aba inferior “Resultados” é ativada. Ao clicar nesta aba, aparecem duas opções de consultas: Teorema de Bayes puro e Modelo Fuzzy-Bayesiano. Através

(67)

destas opções o usuário seleciona a forma como o programa efetuará os cálculos quando o usuário inserir a consulta (figura 39).

Figura 39 – Aba com as opções de consulta Bayes ou Fuzzy-Bayes

4.4.3 Consulta Bayes via interface gráfica

Ao selecionar “Teorema de Bayes”, a seguinte tela é apresentada ao usuário (figura 40). Nela, o usuário deve clicar em “Evidências da Hipótese” e selecionar as evidências sobre as quais possui alguma infor-mação.

Figura 40 – Aba de consultas e apresentação dos resultado para Bayes puro

(68)

Por exemplo, na figura 41 o usuário selecionou a evidência “Ba-rulho”.

Figura 41 – Escolha das evidências para a consulta Bayes puro usando a interface gráfica

Em seguida, para cada evidência selecionada na etapa anterior, o usuário deve selecionar um estado que deseja confirmar. Por exemplo, na figura 42 é confirmado que a evidência “Barulho” é “médio”.

Figura 42 – Escolha do estado de cada uma das evidências selecionadas para a consulta Bayes puro usando a interface gráfica

Feito isso, é habilitado o botão “Consultar Resultados”, na tool-bar superior da janela, que, quando clicado, mostrará os resultados da

(69)

consulta Bayes puro na forma de texto na área à direita da tela (figura 43).

Figura 43 – Habilitação da apresentação dos resultados após realização da consulta Bayes puro

Tais resultados podem ser lidos como: “Sabendo que o barulho é médio, a probabilidade de que esteja no Quarto é igual a 0, 1935484, a de que esteja na Sala é igual a 0, 32258064 e a de que esteja na Cozinha é igual a 0, 48387098.”

4.4.4 Consulta Fuzzy-Bayesiana via interface gráfica

Ao selecionar “Modelo Fuzzy-Bayesiano”, é solicitada a seleção das evidências sobre as quais é conhecida uma medida, conforme ilus-trado na figura 44.

(70)

Figura 44 – Opções de seleção para a consulta Fuzzy-Bayes usando a interface gráfica

Na figura 45 é mostrado um exemplo, onde foi selecionada a evidência Barulho, o que indica que o usuário conhece uma medida que será atribuída à essa variável.

Figura 45 – Escolha das evidências para a consulta Fuzzy-Bayes usando a interface gráfica

Na figura 46 é apresenta a tela com os campos para preenchi-mento das medidas para as evidências selecionadas na etapa anterior.

(71)

Figura 46 – Inserção das medidas sobre das evidências para a consulta Fuzzy-Bayes usando a interface gráfica

Neste exemplo é mostrado o preenchimento da consulta Fuzzy-Bayesiana no caso em que o usuário possui a medida 36 para a variável Barulho.

Figura 47 – Exemplo de inserção das medidas sobre das evidências para a consulta Fuzzy-Bayes usando a interface gráfica

Feito isso, é habilitado o botão “Consultar Resultados”, na toolbar superior da janela, que ao ser clicado mostrará os resultados da consulta

(72)

Fuzzy-Bayesiana na forma de texto na área à direita da tela, como ilustrado na figura 48.

Figura 48 – Exemplo de apresentação de resultados após consulta uti-lizando o modelo Fuzzy-Bayesiano

Os gráficos ilustram a definição de cada estado da variável e a medida fuzzy inserida. Por padrão da biblioteca jFuzzyLogic, são mos-trados os gráficos referentes a todas as evidências. No caso de não haver medida alguma sobre ela, há uma área em cinza, como pode ser observado no gráfico da evidência “Iluminação”. Já no gráfico da evi-dência “Barulho”, sobre a qual foi inserida a medida “barulho=36”, é ilustrado numa linha vertical preta a medida inserida, ficando visível que está somente sobre o conjunto Barulho alto. Os resultados calcu-lados utilizando o Modelo Fuzzy-Bayesiano são apresentados na forma de texto. Tal resultado por ser lido como “Sabendo que a medida para a variável barulho é igual a 36, a probabilidade de estar no Quarto é igual a 0, 10526315, a de estar na Sala é de 0, 65789473 e a de estar na Cozinha é de 0, 23684213.

4.4.5 Possíveis exceções

Durante o desenvolvimento do presente trabalho visou mitigar ao máximo a chance de que problemas ocorressem em meio à sua uti-lização, porém, devido a limitações lógico-técnicas das ferramentas e métodos envolvidos no trabalho, algumas incongruências não puderam

Referências

Documentos relacionados

Os elementos caracterizadores da obra são: a presença constante de componentes da tragédia clássica e o fatalismo, onde o destino acompanha todos os momentos das vidas das

A Figura 17 apresenta os resultados obtidos por meio da análise de DSC para a amostra inicial da blenda PBAT/PHBH-0 e para as amostras PBAT/PHBH-4, PBAT/PHBH-8 e

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

O estudo múltiplo de casos foi aplicado para identificar as semelhanças e dissemelhanças na forma como as empresas relacionam seus modelos de negócios e suas

Para identificar quais treinamentos serão necessários para cada trabalhador ou equipe dentro de uma organização desenvolver um programa eficaz de T&amp;D, pode-se buscar

obtidas em cada base, também são registradas, elas são utilizadas para dar volume ao sistema subterrâneo.. Trabalhos sobre levantamentos topográficos em cavernas [1,2] discutem

O segundo Beneficiário será designado pelo Segurado na Proposta de Adesão, podendo ser substituído a qualquer tempo, mediante solicitação formal assinada pelo próprio Segurado, para

O presente trabalho tem como objetivo geral caracterizar as comunidades de invertebrados terrestres associadas a nove cavidades naturais localizadas no município