• Nenhum resultado encontrado

UM ALGORITMO PARA AGRUPAMENTO DE DADOS UTILIZANDO INTERAC ¸ ˜ AO ENTRE AGENTES

N/A
N/A
Protected

Academic year: 2021

Share "UM ALGORITMO PARA AGRUPAMENTO DE DADOS UTILIZANDO INTERAC ¸ ˜ AO ENTRE AGENTES"

Copied!
57
0
0

Texto

(1)

PROGRAMA DE P ´ OS-GRADUAC ¸ ˜ AO EM MODELAGEM COMPUTACIONAL

UM ALGORITMO PARA AGRUPAMENTO DE DADOS UTILIZANDO INTERAC ¸ ˜ AO ENTRE AGENTES

por

Lutiele Machado Godois

Disserta¸c˜ ao para obten¸c˜ ao do T´ıtulo de Mestre em Modelagem Computacional

Rio Grande, fevereiro, 2018

(2)
(3)

Ficha catalográfica

S586p Godois, Lutiele Machado.

Um algoritmo para agrupamento de dados utilizando interação entre agentes / Lutiele Machado Godois. – 2018.

56 p.

Dissertação (mestrado) – Universidade Federal do Rio Grande – FURG, Programa de Pós-graduação em Modelagem Computacional, Rio Grande/RS, 2018.

Orientador: Dr. Leonardo Ramos Emmendorfer.

1. Algoritmos de clustering 2. Sistemas multiagente 3. Validação de agrupamento I. Emmendorfer, Leonardo Ramos II. Título.

CDU 004.891

Catalogação na Fonte: Bibliotecário Me. João Paulo Borges da Silveira CRB 10/2130

(4)

mais uma etapa da minha vida acadˆ emica.

(5)

Agrade¸co primeiramente a Deus, por estar sempre ao meu lado, me dando sabedoria e dis- cernimento.

Aos meus pais amados, pelo amor, apoio e compreens˜ ao da minha ausˆ encia f´ısica em muitas datas importantes durantes estes dois anos.

Aos meus irm˜ aos, sobrinha, av´ os e tios pelo incentivo e confian¸ca nas minhas decis˜ oes.

Aos meus orientadores, Prof

a

. Diana Francisca Adamatti e Prof. Leonardo Ramos Em- mendorfer, pela amizade, contribui¸c˜ ao para o meu crescimento acadˆ emico, paciˆ encia e pela disponibilidade sempre quando precisava.

Aos meus amigos, principalmente a Ana Paula, Mariely e Nitiele, pela convivˆ encia, compa- nhia e conselhos em todos os momentos.

Agrade¸co tamb´ em, a CAPES (Coordena¸c˜ ao de Aperfei¸coamento de Pessoal de N´ıvel Supe-

rior) pelo apoio financeiro, colaborando assim para a realiza¸c˜ ao da pesquisa, e a Universidade

Federal do Rio Grande (FURG) pelo oportunidade de cursar o Mestrado em Modelagem Com-

putacional.

(6)

Os Algoritmos de Clustering possuem como um de seus principais objetivos a forma¸c˜ ao de grupos de forma que os objetos de dados pertencentes a esse grupos s˜ ao semelhantes entre si.

Muitas t´ ecnicas de agrupamento foram propostas em trabalhos encontrados na literatura nas

´

areas de Minera¸c˜ ao de Dados e Estat´ıstica, a maioria delas se baseia em informa¸c˜ oes a priori para obter os resultados, como o n´ umero desejado de grupos. Assim, este trabalho apresenta a implementa¸c˜ ao e avalia¸c˜ ao de um Algoritmo de Clustering baseado nas caracter´ısticas de agentes, que detecta o n´ umero de grupos para um determinado conjunto de dados. Os grupos formados durante o processo de agrupamento s˜ ao, assim, padr˜ oes emergentes da intera¸c˜ ao entre agentes. Dessa forma, o algoritmo ´ e testado para diferentes conjuntos de dados, al´ em de sua compara¸c˜ ao com algoritmos de agrupamento K-means e DBSCAN, e seus resultados validados utilizando as seguintes formula¸c˜ oes matem´ aticas definidas para esse fim: Silhouette, Davies Bouldin, Dunn, Dunn Generalizado e DBCV.

Palavras-chaves: Algoritmos de Clustering, Sistemas Multiagente, Valida¸c˜ ao de Agrupa-

mentos.

(7)

The Clustering Algorithms have as one of their main objectives the formation of groups so that the data objects belonging to these groups are similar to each other. Many grouping techniques have been proposed in works found in the literature in the areas of Data Mining and Statistics, most of them are based on a priori information to obtain the results, such as the desired number of groups. Thus, this work presents the implementation and evaluation of a Clustering Algorithm based on the characteristics of agents, which detects the number of groups for a given set of data. The groups formed during the clustering process are thus emerging patterns of agent interaction. Thus, the algorithm is tested for different data sets, in addition to its comparison with clustering algorithms K-means and DBSCAN, and its results validated using the following mathematical formulations defined for this purpose: Silhouette, Davies Bouldin, Dunn, Dunn Generalized e DBCV.

Keywords: Clustering Algorithms, Multi-Agent System, Cluster Validation.

(8)

1 INTRODUC ¸ ˜ AO . . . . 11

1.1 Objetivos . . . . 12

1.1.1 Objetivo Geral . . . . 12

1.1.2 Objetivos Espec´ıficos . . . . 12

1.2 Estrutura do trabalho . . . . 12

2 REFERENCIAL TE ´ ORICO . . . . 13

2.1 Minera¸c˜ ao de Dados . . . . 13

2.2 Agrupamento de Dados . . . . 14

2.3 T´ ecnicas de Agrupamentos de Dados . . . . 15

2.3.1 K -means . . . . 15

2.3.2 DBSCAN . . . . 17

2.4 ´Indices de Valida¸c˜ao de Agrupamentos . . . . 19

2.4.1 Silhouette . . . . 19

2.4.2 Davies-Bouldin . . . . 20

2.4.3 Dunn . . . . 20

2.4.4 Dunn Generalizado . . . . 21

2.4.5 DBCV . . . . 24

2.4.6 F1-Score . . . . 25

2.5 Sistemas Multiagente . . . . 26

2.6 Trabalhos Relacionados . . . . 29

3 ALGORITMO DESENVOLVIDO . . . . 33

3.1 O Algoritmo DL3 . . . . 33

3.2 Metodologia Adotada . . . . 35

4 AN ´ ALISE DOS RESULTADOS . . . . 40

4.1 Compara¸c˜ ao com o K-means . . . . 41

4.2 Compara¸c˜ ao com o DBSCAN . . . . 47

5 CONSIDERAC ¸ ˜ OES FINAIS E TRABALHOS FUTUROS . . . . 53

6 REFER ˆ ENCIAS . . . . 54

(9)

Figura 2.1: Algoritmo K-means . . . . 16

Figura 2.2: Exemplo do comportamento do Algoritmo K-means. . . . 17

Figura 2.3: DBSCAN . . . . 18

Figura 2.4: Algoritmo DBSCAN em um conjunto de 3000 dados e duas dimens˜ oes. . . 18

Figura 2.5: Exemplos de Grafos. . . . 21

Figura 2.6: Grafos de vizinhan¸ca relativa (RGN). . . . . 22

Figura 2.7: Grafos de Gabriel (GG). . . . 22

Figura 2.8: ´ Arvore Geradora M´ınima (MST). . . . 23

Figura 2.9: Representa¸c˜ ao gen´ erica de agente. . . . . 28

Figura 3.1: Representa¸c˜ ao de como cada objeto analisa os setores de vis˜ ao. . . . 34

Figura 3.2: DL3 . . . . 35

Figura 3.3: Etapas do trabalho . . . . 36

Figura 3.4: Interface do NetLogo . . . . 37

Figura 3.5: Conjuntos de dados utilizados no trabalho. . . . . 39

Figura 3.6: Exemplo do comportamento do DL3 em sua aplica¸c˜ ao no conjunto de dados Lsun. . . . 40

Figura 4.1: Agrupamentos gerados para os conjuntos de dados Aggregation e Jain, e os seus respectivos valores de F1-Score, considerando os algoritmos K -means e DL3. . . . 44

Figura 4.2: Agrupamentos gerados para os conjuntos de dados Lsun e Target, e os seus respectivos valores de F1-Score, considerando os algoritmos K-means e DL3. . . . 45

Figura 4.3: Agrupamentos gerados para os conjuntos de dados Face e Flame, e os seus respectivos valores de F1-Score, considerando os algoritmos K-means e DL3. . . . 46

Figura 4.4: Agrupamentos gerados para os conjuntos de dados Aggregation e Jain, e os seus respectivos valores de F1-Score, considerando os algoritmos DBSCAN e DL3. . . . 49

Figura 4.5: Agrupamentos gerados para os conjuntos de dados Lsun e Target, e os seus respectivos valores de F1-Score, considerando os algoritmos DBSCAN e DL3. . . . 50

Figura 4.6: Agrupamentos gerados para os conjuntos de dados Face e Flame, e os seus

respectivos valores de F1 - Score, considerando os algoritmos DBSCAN e

DL3. . . . 51

(10)

Tabela 1: Alguns Crit´ erios de Valida¸c˜ ao de Clusters . . . . 27

Tabela 2: Tabela resumo de trabalhos relacionados . . . . 31

Tabela 3: Valores para os ´ındices . . . . 43

Tabela 4: Valores para o ´ındice DBCV . . . . 48

(11)

1 INTRODUC ¸ ˜ AO

A ideia primitiva de agrupamento surge da uni˜ ao de objetos que apresentam algum tipo de semelhan¸ca, sendo desde os prim´ ordios uma das habilidades b´ asicas dos seres humanos.

Passando para o vi´ es cientif´ıco se tem o conceito de Minera¸c˜ ao de Dados, sendo um processo de obten¸c˜ ao de conhecimentos a partir de uma base de dados de modo que o agrupamento de dados ´ e uma das suas tarefas mais importantes, com muitos estudos nas ´ areas da computa¸c˜ ao e estat´ıstica, se caracterizando assim, como uma ´ area prop´ıcia para pesquisas (Tan; Steinbach;

Kumar, 2006). Dessa forma, Clustering ou Agrupamento de Dados tornou-se um tema cada vez mais importante nos ´ ultimos anos, devido ao grande n´ umero de dados utilizados em diversas

´

areas como biologia, medicina, psicologia e processamento de imagens.

Os algoritmos de agrupamentos de dados particionam objetos de dados (padr˜ oes, entida- des, instˆ ancias, observa¸c˜ oes, unidades) em um n´ umero de clusters (grupos, subconjuntos ou categorias) (Xu; Wunsch, 2009). Devido a esse grande n´ umero de aplica¸c˜ oes, dificilmente se encontrar´ a uma t´ ecnica de Clustering aplic´ avel de forma satisfat´ oria a todos os tipos de dados, nos diferentes contextos. Logo, existem muitos algoritmos para este fim, sendo exemplos as t´ ecnicas descritas nos trabalhos de MacQueen (1967) e Ester et al. (1996).

E importante salientar que o uso dessas diferentes t´ ´ ecnicas em um mesmo conjunto de dados podem gerar resultados finais discordantes. Uma justificativa para essa ocorrˆ encia de solu¸c˜ oes diversas ´ e o fato que cada algoritmo possui procedimentos de agrupamento pr´ oprios.

Outro fator influenciador, na gera¸c˜ ao de agrupamentos de alguns algoritmos, ´ e a defini¸c˜ ao de parˆ ametros de entrada, como o n´ umero desejado de grupos ou a fixa¸c˜ ao de objetos centrais para caracterizar cada grupo da amostra. Logo, esses fatores prejudicam a formaliza¸c˜ ao de uma ´ unica metodologia capaz de realizar essa tarefa.

Diante das afirma¸c˜ oes anteriores, existe a necessidade de desenvolvimento de novas t´ ecnicas com um n´ umero pequeno de parˆ ametros, pois algoritmos com muitos dados de entrada pode gerar alto tempo computacional ate encontrar a melhor solu¸c˜ ao de agrupamento. Assim, muitas pesquisas focam em apresentar m´ etodos para encontrar valores “´ otimos”para essas informa¸c˜ oes pr´ evias. Nesse trabalho, por sua vez, se prop˜ oe a investiga¸c˜ ao, implementa¸c˜ ao e a avalia¸c˜ ao de um algoritmo de agrupamento que parte dessas justificativas. Para o cumprimento dos objetivos propostos essa nova t´ ecnica se baseia, resumidamente, na utiliza¸c˜ ao de um Sistema Multiagente para solucionar problemas t´ıpicos em agrupamento de dados.

Os Sistemas Multiagente s˜ ao compostos por m´ ultiplos elementos computacionais que inte-

ragem, conhecidos como agentes. Eles, por sua vez, possuem a capacidade de a¸c˜ ao autˆ onoma,

de decidir por si mesmos o que precisam fazer para satisfazer seus objetivos e a capacidade

de interagir com outros agentes (Wooldridge, 2002). Assim, ´ e justamente essa possibilidade de

intera¸c˜ ao, coopera¸c˜ ao e troca de informa¸c˜ oes entre agentes, e principalmente de autonomia que

a t´ ecnica de agrupamento proposta se baseia, no desenvolvimento de um algoritmo capaz de

realizar a auto-organiza¸c˜ ao de diferentes conjuntos de objetos de dados.

(12)

No algoritmo implementado, cada agente (objeto de dado) realiza certa tarefa com alguns crit´ erios definidos para formar grupos com outros agentes, baseado apenas em sua localiza¸c˜ ao espacial e sua capacidade de “enxergar” seus vizinhos. O crit´ erio principal utilizado ´ e que o agente escolha o grupo com o maior n´ umero de agentes para se agrupar de acordo com um raio de vis˜ ao definida.

As principais etapas do trabalho desenvolvido s˜ ao: desenvolvimento do algoritmo e a sua implementa¸c˜ ao, testes utilizando diferentes conjuntos de dados; e por fim a fase de avalia¸c˜ ao usando alguns crit´ erios de valida¸c˜ ao de clusters encontrados na literatura e a compara¸c˜ ao com outros algoritmos populares em realizar tamb´ em a tarefa de Clustering.

1.1 Objetivos

1.1.1 Objetivo Geral

Desenvolver um algoritmo de agrupamento de dados de baseado nas caracter´ısticas de agen- tes, apresentando-o sua dinˆ amica e progresso, e avaliando seu desempenho com algoritmos conhecidos e valida¸c˜ ao dos resultados obtidos atrav´ es de diferentes formula¸c˜ oes matem´ aticas encontradas na literatura.

1.1.2 Objetivos Espec´ıficos

• Desenvolver um algoritmo de agrupamento de dados de forma automatizada com poucos parˆ ametros.

• Investigar a nova t´ ecnica, demostrando a eficiˆ encia do algoritmo em problemas de agru- pamento.

• Comparar o algoritmo desenvolvido com as t´ ecnicas populares em Minera¸c˜ ao de Dados, K-means e DBSCAN (Density Based Spatial Clustering of Applications with Noise ).

• Validar os agrupamentos gerados pelo algoritmo atrav´ es do c´ alculo dos ´ındices, Silhouette, Davies Bouldin, Dunn, Dunn Generalizado e DBCV.

1.2 Estrutura do trabalho

A disserta¸c˜ ao est´ a estruturada da seguinte maneira: no primeiro Cap´ıtulo apresentam-se os objetivos do trabalho e a justificativa para realiza¸c˜ ao da pesquisa; no Cap´ıtulo 2 ´ e exposto o referencial te´ orico e trabalhos relacionados com o tema; no Cap´ıtulo 3 se tem a descri¸c˜ ao da metodologia seguida para o cumprimento dos objetivos fixados. No Cap´ıtulo 4 s˜ ao apresentados os resultados finais ap´ os a execu¸c˜ ao de todas as atividades previstas. E por fim, no Cap´ıtulo 5 s˜ ao relatados as considera¸c˜ oes finais abrangendo as vantagens e desvantagens da nova t´ ecnica;

e os trabalhos futuros, destacando poss´ıveis modifica¸c˜ oes e outras aplica¸c˜ oes para o algoritmo.

(13)

2 REFERENCIAL TE ´ ORICO

Neste cap´ıtulo, s˜ ao abordados conceitos relacionados ao desenvolvimento do trabalho, com o intuito de facilitar a compreens˜ ao dos principais temas contemplados pela proposta apresentada.

2.1 Minera¸ c˜ ao de Dados

Historicamente, a no¸c˜ ao de encontrar padr˜ oes ´ uteis em dados tem recebido uma varie- dade de nomes, incluindo minera¸c˜ ao de dados, extra¸c˜ ao de conhecimento, descoberta de in- forma¸c˜ oes, colheita de informa¸c˜ oes, arqueologia de dados e processamento de padr˜ oes de dados.

O termo minera¸c˜ ao de dados tem sido usado principalmente por estat´ısticos, analistas de dados e as comunidades de Sistemas de Informa¸c˜ ao de Gest˜ ao (MIS - Management Information Sys- tems ). Tamb´ em ganhou popularidade no campo do banco de dados (Fayyad; Piatetsky-Shapiro;

Smyth, 1996).

A minera¸c˜ ao de dados ´ e definida como o processo de descobrir padr˜ oes novos, perceptivos e relevantes, bem como modelos preditivos e descritivos a partir de dados em larga escala (Zaki; Meira JR., 2014). De acordo com essa defini¸c˜ ao, a minera¸c˜ ao de dados apresenta os dois objetivos prim´ arios na pr´ atica: a previs˜ ao e a descri¸c˜ ao. A previs˜ ao envolve o uso de algumas vari´ aveis ou campos no banco de dados para prever valores desconhecidos ou futuros de outras vari´ aveis de interesse; e a descri¸c˜ ao se concentra em encontrar padr˜ oes descrevendo os dados e e seguida pela apresenta¸c˜ ao ao usu´ ario para a realiza¸c˜ ao da interpreta¸c˜ ao (Fayyad;

Piatetsky-Shapiro; Smyth, 1996).

Os pontos de vista alg´ ebricos, geom´ etricos e probabil´ısticos dos dados desempenham um papel fundamental na minera¸c˜ ao de dados. Dado um conjunto de dados de n pontos em um espa¸co d-dimensional, a an´ alise fundamental e as tarefas de minera¸c˜ ao abordadas incluem: a an´ alise explorat´ oria de dados, a minera¸c˜ ao de padr˜ oes frequentes, agrupamento de dados ou Clustering e modelos de classifica¸c˜ ao. A seguir s˜ ao definidas essas tarefas, de acordo com Zaki;

Meira JR. (2014):

• An´ alise explorat´ oria de dados: Tem como objetivo explorar os atributos num´ ericos e categ´ oricos dos dados individualmente ou em conjunto para extrair caracter´ısticas-chaves da amostra de dados atrav´ es de estat´ısticas que fornecem informa¸c˜ oes sobre a centralidade e dispers˜ ao, por exemplo.

• Minera¸ c˜ ao de padr˜ oes frequentes: Refere-se ` a tarefa de extrair padr˜ oes informativos

e ´ uteis em conjuntos de dados maci¸cos e complexos. Padr˜ oes compreendem conjuntos de

valores de atributos co-ocorrentes, chamados conjuntos de itens, ou padr˜ oes mais comple-

xos, tais como sequˆ encias, que consideram rela¸c˜ oes de precedˆ encia expl´ıcitas (posicionais

ou temporais) e gr´ aficos que consideram rela¸c˜ oes arbitr´ arias entre pontos. O objetivo prin-

cipal ´ e descobrir tendˆ encias e comportamentos ocultos nos dados para entender melhor

as intera¸c˜ oes entre os pontos e atributos.

(14)

• Agrupamento de dados ou Clustering : E a tarefa de particionar os pontos em grupos ´ naturais chamados clusters, de tal forma que os pontos dentro de um grupo s˜ ao muito semelhantes, enquanto que os pontos em clusters distintos s˜ ao t˜ ao dissimilares quanto poss´ıvel.

• Classifica¸ c˜ ao: A tarefa de classifica¸c˜ ao ´ e prever o r´ otulo ou a classe para um determi- nado ponto n˜ ao marcado. Formalmente, um classificador ´ e um modelo ou fun¸c˜ ao M que prediz o r´ otulo de classe ˆ y para um dado exemplo de entrada x, isto ´ e, ˆ y = M (x), onde ˆ y ∈ {c

1

, c

2

, ..., c

k

} e cada c

i

´ e um r´ otulo de classe (um valor de atributo categ´ orico). Para cons- truir o modelo precisamos de um conjunto de pontos com seus r´ otulos de classe corretos, que ´ e chamado de conjunto de treinamento. Depois de aprender o modelo M , podemos prever automaticamente a classe para qualquer novo ponto. Muitos tipos diferentes de modelos de classifica¸c˜ ao foram propostos, como ´ arvores de decis˜ ao, classificadores proba- bil´ısticos e m´ aquinas de vetores de suporte.

Neste trabalho, a ˆ enfase ´ e na t´ ecnica de Agrupamento de Dados. Desta forma, na pr´ oxima se¸c˜ ao, o conceito ´ e abordado mais detalhadamente.

2.2 Agrupamento de Dados

Provavelmente, agrupamento de dados ´ e um dos problemas mais amplamente estudados pelas comunidades de minera¸c˜ ao de dados e aprendizagem de m´ aquina por causa de suas nu- merosas aplica¸c˜ oes. O problema b´ asico de agrupamento de dados pode ser definido da seguinte forma : Dado um conjunto de pontos de dados, divida-os em um conjunto de grupos que s˜ ao t˜ ao semelhantes quanto poss´ıvel (Aggarwal; Reddy, 2014).

Por´ em, essa defini¸c˜ ao de problema pode sofrer algumas altera¸c˜ oes dependendo do modelo espec´ıfico e/ou do tipo de dado utilizado. Por exemplo, um modelo generativo pode definir similaridade com base em um mecanismo generativo probabil´ıstico, enquanto que uma abor- dagem baseada em distˆ ancia utilizar´ a uma fun¸c˜ ao de distˆ ancia tradicional para quantifica¸c˜ ao (Aggarwal; Reddy, 2014).

Basicamente, o objetivo dos algoritmos dessa tarefa de minera¸c˜ ao de dados ´ e agrupar dados em um certo n´ umero de clusters (que podem ser grupos, subconjuntos ou categorias), sendo que os padr˜ oes no mesmo grupo devem ser semelhantes entre si, enquanto os padr˜ oes em diferentes clusters n˜ ao devem ser. Tanto a semelhan¸ca como a dissimilaridade devem ser investigadas de forma clara e significativa (Xu; Wunsch, 2009).

A seguir s˜ ao expostas algumas descri¸c˜ oes matem´ aticas simples de v´ arios tipos de agrupa- mento, com base nas discuss˜ oes de Hansen; Jaumard (1996).

Considere uma amostra O = {O

1

, O

2

...O

N

} de N entidades entre as quais os clusters devem ser encontrados. Logo, os tipos de agrupamento de dados que podem ser identificados pelos algoritmos s˜ ao:

(i) Subconjunto C de O;

(15)

(ii) Parti¸c˜ ao P

M

= {C

1

, C

2

, ..., C

M

} de O em M grupos:

(a) C

j

6= ∅ j = 1, 2, ..., M ;

(b) C

i

∩ C

j

= ∅ i, j = 1, 2, ..., M e i 6= j (c) S

M

i=1

C

j

= O

(iii) Empacotamento (Packing) P a

M

= {C

1

, C

2

, ..., C

M

} de O com M grupos como (ii) mas sem considerar (c);

(iv) Cobertura Co

M

= {C

1

, C

2

...C

M

} de O por M clusters como (ii) mas sem considerar (b);

(v) Hierarquia H = {P

1

, P

2

, ..., P

q

} de q ≤ N parti¸c˜ oes de O.

Conjunto de parti¸c˜ oes P

1

, P

2

, ..., P

q

de O tal que C

i

∈ P

k

, C

i

∈ P

l

e k > l implica C

i

⊂ C

j

= ∅ ou C

i

∩ C

i

= ∅ para todo i, j 6= i, k, l = 1, 2, ..., q.

Entre esses tipos de agrupamentos os mais usados s˜ ao os particionais e hier´ arquicos. Al´ em dos citados ainda, existem os m´ etodos de agrupamento fuzzy, baseados na Teoria dos Conjuntos Fuzzy (Zadeh, 1965), que permitem que os objetos perten¸cam a v´ arios grupos simultaneamente, com diferentes graus de associa¸c˜ ao, ou seja, os objetos nos limites entre v´ arias classes n˜ ao s˜ ao for¸cados a pertencer completamente a uma das classes, mas sim s˜ ao atribu´ıdos graus de associa¸c˜ ao entre 0 e 1 indicando sua associa¸c˜ ao parcial.

Xu; Wunsch (2009) descrevem o procedimento de an´ alise de agrupamento de dados em quatro passos b´ asicos: Sele¸c˜ ao ou extra¸c˜ ao de recursos, Projeto ou sele¸c˜ ao do algoritmo de agrupamento; Valida¸c˜ ao dos grupos; Interpreta¸c˜ ao dos resultados. ´ E necess´ ario enfatizar que a an´ alise de agrupamento n˜ ao ´ e um processo de dire¸c˜ ao ´ unica. Em muitas circunstˆ ancias, ´ e necess´ ario uma s´ erie de testes e repeti¸c˜ oes.

Nas pr´ oximas se¸c˜ oes s˜ ao apresentados alguns algoritmos de agrupamento de dados mais co- mumente encontrados na literatura e que servir˜ ao de compara¸c˜ ao com a nova proposta descrita neste trabalho.

2.3 T´ ecnicas de Agrupamentos de Dados

Os algoritmos de agrupamentos dados s˜ ao utilizados em muitas aplica¸c˜ oes de diferentes

´

areas, de forma que as heur´ısticas desenvolvidas normalmente consideram apenas alguns proble- mas espec´ıficos. Assim, se torna dif´ıcil encontrar uma t´ ecnica gen´ erica para todas as aplica¸c˜ oes.

Apresenta-se aqui, duas dessas t´ ecnicas bastante tradicionais em agrupamento de dados, utilizados para fins de compara¸c˜ ao com o algoritmo descrito nesse trabalho.

2.3.1 K -means

O Algoritmo K-means, foi primeiramente empregado por MacQueen (1967) e ´ e um dos

mais conhecidos algoritmos de agrupamento de dados. O K-means trata-se de uma t´ ecnica de

(16)

agrupamento particional que tenta encontrar um n´ umero de grupos k, especificado pelo usu´ ario, que s˜ ao representados por seus centroides (Tan; Steinbach; Kumar, 2006).

Para o c´ alculo da medida de similaridade, utilizado pelo m´ etodo, pode ser utilizada a tra- dicional Distˆ ancia Euclidiana, ou outra, como as Distˆ ancias de Manhattan e de Chebyshev.

Essa medida de similaridade, entre o centroide e o dado, define a qual grupo o respectivo dado pertencer´ a. Um dos crit´ erios de parada para o algoritmo que pode ser considerado ´ e a n˜ ao varia¸c˜ ao dos dados entre os grupos, em outras palavras, quando o valor dos centroides n˜ ao variarem mais, ent˜ ao o m´ etodo encontrou um resultado convergente.

Logo, o algoritmo K-means visa minimizar uma fun¸c˜ ao objetivo, nessa conjuntura uma fun¸c˜ ao de erro quadr´ atico. Na equa¸c˜ ao (2.1) tem-se a fun¸c˜ ao objetivo a ser minimizada.

min =

k

X

i=1 n

X

j=1

d(X

i

, C

j

)

2

(2.1)

Onde d(X

i

, C

j

) ´ e a distˆ ancia entre um i-´ esimo dado (X

i

) e o centroide do j-´ esimo cluster (C

j

), n ´ e o n´ umero de instˆ ancias e k ´ e o n´ umero de grupos considerados no algoritmo que dever´ a ser escolhido antes da sua execu¸c˜ ao.

Existem v´ arios algoritmos que representam o m´ etodo K-means, a Figura 2.1 apresentam uma dessas representa¸c˜ oes encontrado em Tomasini (2015). Al´ em disso, a Figura 2.2 mostra um exemplo do comportamento do algoritmo:

Entrada: Um conjunto de dados X

nxd

e o N´ umero de clusters k desejado.

Sa´ıda: Uma parti¸c˜ ao X em k grupos.

Escolher aleatoriamente k valores para centroides dos grupos.

In´ıcio repita

para cada x

i

∈ X e clusters C

j

, j = 1, ..., k fa¸ ca

Calcular a distˆ ancia entre x

i

e o centroide do grupo x

j

: d(x

i

, x

j

) fim

para cada objeto x

i

fa¸ ca

Associar x

i

com o centroide mais pr´ oximo fim

para cada grupo C

j

, j = 1, ..., k fa¸ ca Recalcular o centroide

fim at´ e;

N˜ ao haver mais altera¸c˜ ao na associa¸c˜ ao.

Fim

Figura 2.1: Algoritmo K-means

(17)

Figura 2.2: Exemplo do comportamento do Algoritmo K-means.

(Tan; Steinbach; Kumar, 2006)

A popularidade do algoritmo K-means ´ e explicada pela baixa complexidade, agilidade de desenvolvimento e a f´ acil compreens˜ ao das propriedades matem´ aticas, possuindo um tempo de fun¸c˜ ao linear em fun¸c˜ ao do tamanho do conjunto de padr˜ oes. Por´ em, esse m´ etodo tamb´ em possui algumas desvantagens, como a necessidade de estabelecer a priori o n´ umero de classes.

Dessa forma, o K-means produz uma solu¸c˜ ao baseada na escolha inicial dos centroides que representam cada grupo. Em rela¸c˜ ao ao tempo de execu¸c˜ ao, ele est´ a relacionado de forma direta com o conjunto de dados em quest˜ ao e a escolha do parˆ ametro k sendo um fator importante para o sucesso do desempenho final do algoritmo.

2.3.2 DBSCAN

O DBSCAN - Density Based Spatial Clustering of Applications with Noise (Agrupamento Espacial Baseada em Densidade de Aplica¸c˜ oes com Ru´ıdo) fundamenta-se em uma no¸c˜ ao base- ada em densidade de grupos, que ´ e projetada para descobrir clusters de forma arbitr´ aria (Ester et al., 1996). Nesse contexto, a densidade se define como o n´ umero de pontos dentro de um raio espec´ıfico, Eps, que ´ e um parˆ ametro do algoritmo, al´ em do M inP ts que ´ e o n´ umero m´ınimo de pontos. Baseia-se na abordagem centralizada, onde a densidade ´ e estimada para um ponto espec´ıfico no conjunto de dados contando o n´ umero de pontos dentro do raio especificado Eps.

Isso permite classificar um ponto como central, de fronteira e ou ru´ıdo. Resumidamente, a ideia principal do algoritmo ´ e que para cada ponto de um cluster a vizinhan¸ca de acordo com um raio (Eps) pr´ e-determinado, deve conter pelo menos um n´ umero m´ınimo de pontos (M inP ts) (Ahmed; Razak, 2016).

A representa¸c˜ ao do algoritmo DBSCAN, apresentado na Figura 2.3, ´ e encontrada em Toma-

sini (2015) e a Figura 2.4 exemplifica a aplica¸c˜ ao do DBSCAN em um conjunto de dados.Desta

forma, o DBSCAN produz um agrupamento particional, em que o n´ umero de grupos ´ e deter-

minado automaticamente pelo algoritmo, sendo que pontos em regi˜ oes de baixa densidade s˜ ao

omitidos, pois s˜ ao classificados como ru´ıdos. Assim, o DBSCAN n˜ ao produz um agrupamento

completo (Tan; Steinbach; Kumar, 2006).

(18)

Entrada: Um conjunto de dados X e os parˆ ametros Eps e MinPts.

Sa´ıda: Uma parti¸c˜ ao X em k grupos.

In´ıcio

1. Classificar todas as instˆ ancias como objetos do tipo: centro, limite ou ru´ıdo;

2. Eliminar os objetos rotulados como ru´ıdo;

3. Colocar uma aresta entre todos os objetos de centro que estejam dentro do Eps uns dos outros;

4. Tornar cada grupo de Objetos de centro um grupo separado;

5. Atribuir cada objeto limite a um dos grupos dos seus objetos de centro associados;

Figura 2.3: DBSCAN

Figura 2.4: Algoritmo DBSCAN em um conjunto de 3000 dados e duas dimens˜ oes.

Tan; Steinbach; Kumar (2006)

(19)

2.4 ´ Indices de Valida¸ c˜ ao de Agrupamentos

O problema principal na tarefa de Clustering ´ e a defini¸c˜ ao do n´ umero “´ otimo”de grupos e a an´ alise do resultado final. Existem alguns algoritmos que procuram a defini¸c˜ ao autom´ atica desse n´ umero de grupos. Por´ em, muitas vezes dependem do ajustamento de um parˆ ametro limiar.

Dessa forma, ´ e comum validar os resultados gerados por algum algoritmo de agrupamento, dado um conjunto de dados. A valida¸c˜ ao consiste em quantificar a qualidade desses resultados, considerando em muitos casos as distˆ ancias intra e inter-grupos, com a pretens˜ ao de encontrar compactabilidade e separabilidade nos grupos.

Existem trˆ es abordagens para analisar a valida¸c˜ ao de um agrupamento. A primeira ´ e ba- seada em crit´ erios externos. Isso implica que avalia-se os resultados de um algoritmo de agru- pamento baseado em uma estrutura pr´ e-especificada, que ´ e imposta a um conjunto de dados e reflete a uma intui¸c˜ ao sobre a estrutura de agrupamento do conjunto de dados considerado. A segunda abordagem baseia-se em crit´ erios internos, a qual avalia os resultados de um algoritmo de agrupamento em termos de quantidades que envolvem os vetores do pr´ oprio conjunto de dados (por exemplo, a matriz de proximidade). A terceira abordagem ´ e baseada em crit´ erios relativos, sendo a ideia b´ asica a avalia¸c˜ ao de uma estrutura de agrupamento, comparando-a com outros esquemas de agrupamento, resultante do mesmo algoritmo mas com diferentes valores de parˆ ametro (Halkidi; Batistakis; Vazirgiannis, 2001).

Na sequˆ encia s˜ ao apresentadas algumas abordagens de ´ındice para medir a validade dos grupos formados por algoritmos de agrupamento propostas na literatura e que serviram de referˆ encia para analisar os resultados desta pesquisa.

2.4.1 Silhouette

Proposto por Rousseeuw (1987) o ´Indice Silhouette de valida¸c˜ ao de consistˆ encia no interior de agrupamentos de dados ´ e dado pela formula¸c˜ ao da equa¸c˜ ao (2.2).

s(v

i

) = d(v

i

, C

h

) − d(v

i

, C

j

)

max(d(v

i

, C

j

), d(v

i

, C

h

)) (2.2) Onde:

• d(v

i

, C

h

) ´ e a dissimilaridade m´ınima do objeto v

i

em rela¸c˜ ao a todos os outros objetos do grupo mais pr´ oximo C

h

(vizinho do objeto v

i

).

• d(v

i

, C

j

) ´ e a dissimilaridade m´ edia do objeto v

i

em rela¸c˜ ao a todos os outros objetos do grupo C

j

, que cont´ em v

i

.

• s(v

i

) varia entre o intervalo fechado [-1, 1], de tal forma que mais pr´ oximo de 1, melhor

a aloca¸c˜ ao do objeto no grupo.

(20)

Ap´ os esse c´ alculo para os pontos de dados do agrupamento, ´ e necess´ ario calcular a m´ edia para o grupo (S

j

) e para o agrupamento como um todo (GS), as equa¸c˜ oes s˜ ao apresentadas na equa¸c˜ oes (2.3) e (2.4).

S

j

=

Nj

P

i=1

s(v

i

) N

j

(2.3)

GS =

k

P

j=1

S

j

K (2.4)

Onde:

• N

j

´ e o n´ umero de pontos do grupo j.

• K ´ e o n´ umero de grupos 2.4.2 Davies-Bouldin

O ´Indice Davies-Bouldin (Davies; Bouldin, 1979) avalia a separa¸c˜ ao dos clusters formados pelas t´ ecnicas agrupamentos de dados, atrav´ es da equa¸c˜ ao (2.5).

DB = 1 K

K

X

i=1

max

j6=i

diam(C

i

) + diam(C

j

) d(C

i

, C

j

)

(2.5)

Onde:

• diam(C

i

) distˆ ancia m´ edia dentro do grupo C

i

.

• diam(C

j

) distˆ ancia m´ edia dentro do grupo C

j

.

• d(C

i

, C

j

) distˆ ancia inter-clusters desses grupos.

Nesse caso, quanto menor o valor do ´ındice, melhor o resultado, significando, baixas medidas de dispers˜ ao intragrupo e grandes distˆ ancias intergrupo.

2.4.3 Dunn

Introduzido por Dunn (1973), o ´Indice Dunn valida os resultados dos algoritmos de agru- pamento de dados a partir da equa¸c˜ ao (11).

Dn = min

1≤i≤q

min

1≤j≤q e j6=i

d(C

i

, C

j

) max

1≤h≤q

{diam(C

h

)}

(2.6)

(21)

Onde:

• q ´ e o n´ umero de grupos no agrupamento.

• d(C

i

, C

j

) representa a distˆ ancia entre os grupos C

i

e C

j

.

• diam(C

h

) ´ e o diˆ ametro de um grupo, o que pode ser considerado como uma medida de dispers˜ ao de agrupamento.

O ´ındice se caracteriza na compara¸c˜ ao das distˆ ancias intergrupos com o tamanho do grupo mais disperso. O valor resultante est´ a no intervalo [0, ∞), de tal modo que quanto maior o valor obtido mais separados e compactos s˜ ao os grupos.

2.4.4 Dunn Generalizado

Pal; Biswas (1997) apresentam uma generaliza¸c˜ ao do ´Indice Dunn usando algumas estru- turas de grafos. Ao contr´ ario do ´Indice de Dunn tradicional, a reformula¸c˜ ao n˜ ao ´ e sens´ıvel a pontos ruidosos e pode ser aplic´ avel a clusters hiperesf´ ericos (induzidos quando a medida de distˆ ancia utilizada pelo algoritmo ´ e a Norma Euclidiana) e estruturais.

Para a explica¸c˜ ao do ´Indice Dunn Generalizado ´ e importante salientar, primeiramente, alguns conceitos da Teoria de Grafos que s˜ ao utilizados na sua formula¸c˜ ao. Tais conceitos s˜ ao:

• Grafos: Seja V um conjunto finito e n˜ ao vazio, e E uma rela¸c˜ ao bin´ aria sobre V . Os elementos de V s˜ ao representados por pontos. O par ordenado (v, w) ∈ E, tamb´ em podendo ser denotado como vw, de forma que v, w ∈ V , ´ e representado por uma linha que liga v a w. Tal representa¸c˜ ao de um conjunto V e uma rela¸c˜ ao bin´ aria sobre o mesmo

´ e denominada um grafo G(V, E) (Rabuske, 1992). Os elementos de V s˜ ao denominados v´ ertices e os pontos ordenados de E demoninam-se arestas dos grafos. A Figura 2.5 mostra dois exemplos de grafos (a) e (b), sendo que em (a) se tem V = {a, b, c, d} e E = {ab, ac, ad, bc, bd, cd}, e em (b), tem-se V = {a, b, c, d} e E = {ad, ad, db, dc, cc}.

Figura 2.5: Exemplos de Grafos.

Costa (2011)

• Grafo de Vizinhan¸ ca Relativa (RNG): Dois pontos x

i

e x

j

s˜ ao conectados em RGN

se d(x

i

, x

j

) ≤ max{d(x

i

, x

k

), d(x

j

, x

k

) para todo k, k 6= i; k 6= j}, isto ´ e, x

i

e x

j

est˜ ao

(22)

conectados em RGN se nenhum outro ponto cair em LU N E(x

i

, x

j

), onde LU N E(x

i

, x

j

)

´ e a intersec¸c˜ ao de dois discos de raios d(x

i

, x

j

) e com centros em x

i

e x

j

. Na Figura 2.6, (a) mostra LU N E(x

i

, x

j

) e (b) apresenta o RGN de (c).

Figura 2.6: Grafos de vizinhan¸ca relativa (RGN).

Pal; Biswas (1997)

• Grafo de Gabriel: Dois pontos x

i

e x

j

s˜ ao conectados em GG se d

2

(x

i

, x

j

) < d

2

(x

i

, x

k

)+

d

2

(x

j

, x

k

) para todo k, k 6= i; k 6= j onde d(x

i

, x

j

), ´ e a distˆ ancia Euclidiana entre x

i

e x

j

, isto ´ e, x

i

e x

j

est˜ ao conectados em GG se n˜ ao houver outros pontos em DISK(x

i

, x

j

), onde DISK(x

i

, x

j

) ´ e o disco com diˆ ametro d(x

i

, x

j

) centrado no ponto m´ edio de x

i

e x

i

. Na Figura 2.7, (a) mostra DISK(x

i

, x

j

) para um par (x

i

, x

j

) e (b) apresenta o GG de (c).

Figura 2.7: Grafos de Gabriel (GG).

Pal; Biswas (1997)

• Arvore Geradora M´ınima (MST): ´ Uma ´ arvore geradora em um grafo G ´ e um subgrafo m´ınimo que conecta todos os v´ ertices de G. Se G ´ e um grafo ponderado (isto ´ e, h´ a um n´ umero real associado a cada extremidade de G), ent˜ ao o peso da ´ arvore geradora T de G ´ e definido como a soma dos pesos de todos os ramos em T. Em geral, diferentes

´

arvores geradoras de G ter˜ ao pesos diferentes. Uma ´ arvore geradora com o menor peso em um grafo ponderado ´ e chamado de ´ Arvore Geradora M´ınima (MST). Na Figura 2.8, (b) representa um MST do grafo (a).

Logo, os m´ etodos propostos s˜ ao descritos da seguinte maneira:

Suponha um conjunto de dados X ∈ R

p

agrupado em c classes, X

1

, X

2

, X

c

. Para definir

´ındices de validade dos clusters, ´ e necess´ ario definir o diˆ ametro de uma classe e a separa¸c˜ ao

entre classes. Assim, estes ´ındices ser˜ ao definidos em termos de arestas dos trˆ es tipos de grafos

mencionados anteriormente. A seguir, os diferentes ´ındices s˜ ao definidos em termos de GG,

mas os ´ındices podem ser escritos usando MST e RNG de forma similar.

(23)

Figura 2.8: ´ Arvore Geradora M´ınima (MST).

Pal; Biswas (1997)

Seja E

iGG

= {e

GGij

, 1 ≤ j ≤ l

i

, onde l

i

´ e |E

i

|; 1 ≤ i ≤ c} o conjunto de arestas do GG calculado em X

i

.

O diˆ ametro d

GGi

do cluster X

i

´ e definido conforme equa¸c˜ ao (2.7).

d

GGi

= max

j

{e

GGi

, j = 1, 2, ..., l

i

}. (2.7) O m´ aximo de todos os diˆ ametros representa a extens˜ ao m´ axima poss´ıvel D de todos os clusters na divis˜ ao, isto ´ e, D

GG

= max{d

i

, 1 ≤ i ≤ c}.

E not´ ´ avel que para uma boa parti¸c˜ ao, D ter´ a um valor menor em compara¸c˜ ao com uma parti¸c˜ ao ruim. Se dois clusters separados forem mesclados em uma parti¸c˜ ao, ent˜ ao D ser´ a maior para essa parti¸c˜ ao. O diˆ ametro de um conjunto como definido no ´ındice Dunn tradicional ´ e fortemente influenciado pela presen¸ca de pontos ruidosos, enquanto n˜ ao h´ a muito efeito de pontos ruidosos na equa¸c˜ ao (2.7).

A separa¸c˜ ao d

ij

= dist(X

i

, X

j

) entre dois clusters X

i

e X

j

´ e definida pela distˆ ancia entre os centros dos clusters das classes i e j, conforme equa¸c˜ ao (2.8).

d

ij

= kv

i

− v

j

k (2.8)

Pode-se definir um ´ındice de valida¸c˜ ao de clusters considerando a equa¸c˜ ao (2.9):

Dn

GG

= min

1≤i≤c

min

1≤j≤c e j6=i

d

ij

max

1≤k≤c

{d

GGk

}

(2.9) Da mesma forma, s˜ ao definidos dois outros ´ındices considerando as estruturas geom´ etricas de grafos RNG e MST (equa¸c˜ oes 2.10 e 2.11).

Dn

RGN

= min

1≤i≤c

min

1≤j≤c e j6=i

d

ij

max

1≤k≤c

{d

RGNk

}

(2.10)

(24)

Dn

M ST

= min

1≤i≤c

min

1≤j≤c e j6=i

d

ij

max

1≤k≤c

{d

M STk

}

(2.11) 2.4.5 DBCV

O trabalho proposto por Moulavi et.al (2014) apresenta um ´ındice de valida¸c˜ ao relativo para clusters baseados em densidade, arbitrariamente formados, denominado Density Based Clustering Validation (DBCV ). O ´ındice avalia a qualidade do agrupamento com base na conex˜ ao de densidade relativa entre pares de objetos. Para esse fim, emprega o conceito do modelo de ´ arvores de contorno de densidade proposto em Hartigan (1975). Nesse modelo, se os objetos s˜ ao pontos distribu´ıdos em um espa¸co N -dimensional (uma dimens˜ ao para cada vari´ avel), os clusters s˜ ao definidos como regi˜ oes de alta densidade separadas de outras regi˜ oes atrav´ es das regi˜ oes de baixa densidade.

Para a formula¸c˜ ao do DBCV ´ e necess´ ario definir as seguintes ideias: a

pts

coredist ´ e definido como a inversa da densidade de cada objeto em rela¸c˜ ao a todos os outros objetos dentro de seu cluster, atrav´ es disso ´ e definida uma distˆ ancia de alcance sim´ etrica que ´ e ent˜ ao empregada para construir uma ´ Arvore Geradora M´ınima (MST) - como discutido na se¸c˜ ao 2.4.4 - dentro de cada cluster. O uso da MST detecta a forma e a densidade de cada cluster, pois ´ e constru´ıdo sobre o espa¸co transformado com a distˆ ancia de alcance sim´ etrica.

Assim, considerando a entrada de uma parti¸c˜ ao, calcula-se a

pts

coredist sendo a inversa da densidade do objeto x

i

em seu cluster a partir da equa¸c˜ ao (2.12).

a

pts

coredist(x

i

) =

 P

ni

j=2

1 d(xi,xj)

M

n

i

− 1

M1

(2.12)

Onde:

• M ´ e a dimensionalidade dos dados;

• n

i

´ e o tamanho do i-´ esimo cluster ;

• d(x

i

, x

j

) ´ e a distˆ ancia entre os objetos x

i

e o seu j -´ esimo vizinho mais pr´ oximo no respec- tivo cluster.

Uma vez que todos os objetos tˆ em seu a

pts

coredist calculado, se constr´ oi uma matriz de acessibilidade m´ utua dos objetos do cluster usando a defini¸c˜ ao de distˆ ancia de acessibilidade m´ utua (equa¸c˜ ao (2.13)).

d

mreach

(x

i

, x

j

) = max(a

pts

coredist(x

i

), a

pts

coredist(x

j

), d(x

i

, x

j

)) (2.13)

(25)

A partir da matriz d

m

reach de cada cluster, um M ST

M RD

´ e constru´ıdo para capturar a estrutura subjacente dos dados. Considerando um M ST

M RD

como a ´ Arvore Geradora M´ınima constru´ıda usando a

pts

coredist considerando os objetos do cluster considerado. Assim, a partir do M ST

M RD

´ e poss´ıvel calcular a Escassez de Densidade do Cluster (DSC), que ´ e definida como o peso m´ aximo de borda entre todas as bordas internas em M ST

M RD

do cluster. Tamb´ em se pode definir a Separa¸c˜ ao de Densidade de um Par de Clusters (DSPC) como a distˆ ancia de alcance m´ınimo entre os n´ os internos dos M ST

M RD

entre dois clusters. Utilizando essas defini¸c˜ oes se pode calcular a validade de um cluster, considerando C

i

e C

j

dois clusters distintos, atrav´ es da equa¸c˜ ao (2.14).

V C(C

i

) = min

1≤j≤l, j6=i

(DSP C(C

i

, C

j

) − DSC (C

i

))

max(min

1≤j≤l, j6=i

(DSP C (C

i

, C

j

)), DSC(C

i

)) (2.14) Por fim ´ e definido o ´ındice de validade da solu¸c˜ ao para todo o agrupamento C como sendo a m´ edia ponderada do ´ındice de validade de todos os clusters em C (equa¸c˜ ao (2.15)).

DBCV (C) =

l

X

i=1

|C

i

|

|N| V C(C

i

) (2.15)

Onde:

• l ´ e o n´ umero de clusters;

• N ´ e o n´ umero total de objetos em avalia¸c˜ ao, incluindo os ru´ıdos.

O ´ındice DBCV gera valores entre -1 e +1, sendo que valores maiores indicam melhores solu¸c˜ oes de clustering baseadas em densidade.

2.4.6 F1-Score

O F1-Score deriva da m´ edia harmˆ onica da precis˜ ao e revoca¸ c˜ ao. O objetivo desse crit´ erio externo de valida¸c˜ ao ´ e avaliar a efic´ acia dos algoritmos de agrupamento de dados quando apli- cados nos conjuntos. Desta forma, ´ e necess´ ario conceituar primeiramente precis˜ ao e revoca¸c˜ ao.

Precis˜ ao representa a propor¸c˜ ao de itens classificados como corretos, neste caso r´ otulos que o algoritmo de agrupamento de dados retorna, que realmente est˜ ao corretos, considerando os resultados adequados para os conjuntos de dados, encontrados na literatura, descartando qualquer coisa que possa n˜ ao estar correta. ´ E definido conforme a equa¸c˜ ao (2.16):

P (L

r

, G

i

) = |L

r

∩ G

i

|

|G

i

| (2.16)

Onde:

(26)

• L

r

´ e a informa¸c˜ ao externa sobre o conjunto de dados considerado, ou seja, a resposta encontrada na literatura;

• G

i

´ e a predi¸c˜ ao feita pelo algoritmo de clustering para L

r

Revoca¸c˜ ao indica quanto de todos os itens que deveriam ter sido classificados como corre- tos, foram realmente classificados como corretos. Nenhum item correto ´ e deixado de fora. A revoca¸c˜ ao ´ e definido pela equa¸c˜ ao (2.17) e utiliza as mesmas vari´ aveis da precis˜ ao.

R(L

r

, G

i

) = |L

r

∩ G

i

|

|L

i

| (2.17)

Logo, define-se F1-Score como apresentada na equa¸c˜ ao (2.18).

F (L

r

, G

i

) = 2 ∗ P (L

r

, G

i

) ∗ R(L

r

, G

i

)

P (L

r

, G

i

) + R(L

r

, G

i

) ∈ [0, 1] (2.18) Conforme o algoritmo consegue reconstruir a informa¸c˜ ao dos grupos predeterminadas para um conjunto, o valor de F1-Score se aproxima de 1. Caso contr´ ario, a F1-Score ´ e pr´ oximo do valor 0. A Tabela 1 sumariza os crit´ erios de valida¸c˜ ao de clusters, gerados a partir de algoritmos de agrupamentos de dados, apresentados anteriormente.

2.5 Sistemas Multiagente

Antes de conceituar um Sistemas Multiagente, ´ e importante apresentar, primeiramente, o que ´ e um agente dentro dessa perspectiva. Wooldridge; Jennings (1995) aprensentam dois usos gerais do termo agente, o primeiro considerado fraco e um pouco incontest´ avel e o segundo mais forte, e talvez mais amb´ıguo.

A no¸c˜ ao fraca de agente ´ e usada para denotar um hardware ou, mais usual, um software baseado em sistema de computador que possui as seguintes propriedades:

• Autonomia: capacidade dos agentes em operar sem a interven¸c˜ ao direta de seres hu- manos ou de outros, possuindo assim algum tipo de controle sobre suas a¸c˜ oes e estado interno.

• Habilidade social: capacidade dos agentes em interagir com outros agentes e talvez com seres humanos tamb´ em por interm´ edio de algum tipo de linguagem de comunica¸c˜ ao de agentes.

• Reatividade: os agentes s˜ ao capazes de perceber seu ambiente e responder de forma

adequada ` as mudan¸cas que ocorrem.

(27)

Tabela 1: Alguns Crit´ erios de Valida¸c˜ ao de Clusters

Crit´ erios de Valida¸ c˜ ao de Clusters Nome do ´ Indice Descri¸ c˜ ao

Silhouette Esse ´ındice determina a qualidade dos agrupamentos baseado na proximidade entre os objetos de um determinado grupo, al´ em da proximidade desses objetos ao grupo que est´ a mais pr´ oximo. Re- sulta em valores que variam entre [-1, 1]. Quanto mais pr´ oximo de 1 melhor o objeto est´ a alocado no grupo.

Davies-Bouldin O c´ alculo do ´ındice est´ a em fun¸c˜ ao da raz˜ ao entre a soma da dispers˜ ao interna dos agrupamentos e a distˆ ancia entre dos re- feridos agrupamentos. Logo, como resultados desej´ aveis se tem que menores valores desse ´ındice correspondem a agrupamentos compactos e com os centroides distantes entre si.

Dunn O ´ındice ´ e calculado pela raz˜ ao entre a menor distˆ ancia inter- grupo e a maior distˆ ancia intragrupo. O resultado varia no in- tervalo [0, 1), de tal forma que quanto maior o valor resultante mais compactos e bem separados s˜ ao os grupos.

Dunn Generalizado Introduzido por Pal; Biswas (1997) reescreve o ´Indice Dunn em fun¸ c˜ ao de trˆ es estruturas geom´ etricas de grafos (GG, RNG e MST).

DBCV E um ´ındice de valida¸ ´ c˜ ao relativo para agrupamentos basea- dos em densidade, arbitrariamente formados, ou seja, avalia a qualidade de agrupamento com base na conex˜ ao da densidade relativa entre pares de objetos.

F1 - Score E um crit´ ´ erio externo de valida¸ c˜ ao que avalia a efic´ acia dos al- goritmos de agrupamento de dados quando aplicados em con- juntos. O resultado varia no intervalo [0, 1], de tal forma que quanto maior o valor resultante mais correto ´ e considerado o agrupamento predito pelo algoritmo.

• Pr´ o-atividade: capacidade dos agentes de exibir o comportamento orientado por algum objetivo e tomada de iniciativa.

Por sua vez, a no¸c˜ ao mais forte compreende o agente como um sistema de computador que, al´ em de possuir as propriedades citadas acima, na no¸c˜ ao fraca, tamb´ em abrange conceitos que s˜ ao mais comuns em seres humanos como, por exemplo, as no¸c˜ oes mental´ısticas: conhecimento, cren¸ca, inten¸c˜ ao e obriga¸c˜ ao.

Al´ em das propriedades citadas, os autores apontam tamb´ em outros atributos: a capacidade de mobilidade do agente, a veracidade de suas informa¸c˜ oes utilizada na comunica¸c˜ ao, a bene- volˆ encia com que lhe ´ e pedido e a racionalidade como suposi¸c˜ ao de que um agente agir´ a para atingir seus objetivos.

Em Russell; Norvig (1995) encontra-se a seguinte defini¸c˜ ao de agente como qualquer entidade que pode perceber seu ambiente atrav´ es de sensores e agindo sobre esse ambiente por meio de efetores. A Figura 2.9 mostra uma representa¸c˜ ao gen´ erica de agente produzida pelos autores.

Nos ´ ultimos anos, a tendˆ encia em computa¸c˜ ao ´ e de sistemas de computador cada vez mais globais e interligados. O desenvolvimento de paradigmas de software que s˜ ao capazes de explorar o potencial de tais sistemas ´ e talvez o maior desafio na computa¸c˜ ao nesse s´ eculo e a no¸c˜ ao de agentes parece ser uma forte candidata a esse paradigma (Wooldridge, 2002).

Com base nos conceitos apresentados, define-se Sistemas Multiagente como sistemas com-

(28)

Figura 2.9: Representa¸c˜ ao gen´ erica de agente.

Russell; Norvig (1995)

postos por elementos computacionais chamados agentes. Logo, consiste em agentes que se interagem uns com os outros tipicamente atrav´ es de trocas de mensagens. Para interagir com sucesso, esses agentes ter˜ ao as capacidades de cooperar, coordenar e negociar uns com os outros, da mesma forma as pessoas realizam no cotidiano (Wooldridge, 2002).

Stone; Veloso (2000) citam as seguintes raz˜ oes para o uso de Sistemas Multiagente: Exigˆ encia de alguns dom´ınios; Paralelismo; Robustez; Escalabilidade; Programa¸c˜ ao mais simples; Estudo da inteligˆ encia; Distribui¸c˜ ao geogr´ afica; e custo-benef´ıcio. Al´ em disso, o campo dos sistemas multiagente ´ e altamente interdisciplinar, com aplica¸c˜ oes em ´ areas diversas como: economia, filosofia, l´ ogica, ecologia e ciˆ encias sociais. Possuindo assim, muitas vis˜ oes diferentes como:

Agentes como um paradigma para engenharia de software e Agentes como uma ferramenta para compreender as sociedades humanas (Wooldridge, 2002).

A informa¸c˜ ao coletiva que atinge os sensores dos agentes em um Sistema Multiagente ´ e ti- picamente distribu´ıda: os agentes podem observar dados que diferem espacialmente (aparecem em locais distintos), temporalmente (chegam em tempos diferentes), ou mesmo semanticamente (requerem interpreta¸c˜ oes diferentes). Isso, automaticamente torna o estado de mundo parcial- mente observ´ avel para cada agente, apresentando consequˆ encias nas suas tomadas de decis˜ oes . Tamb´ em ´ e poss´ıvel a fus˜ ao de sensores, ou seja, os agentes podem combinar suas percep¸c˜ oes de forma otimizada para aumentar seu conhecimento coletivo a cerca do estado atual (Stone; Ve- loso, 2000). Assim, em Sistemas Mutiagente, m´ ultiplos agentes existem de maneira simultˆ anea em um mesmo ambiente, onde eles se cooperam mutuamente para atingir uma determinada meta.

Baseando-se no que foi descrito at´ e aqui, um dos objetivos deste trabalho ´ e a utiliza¸c˜ ao

uma esp´ ecie de sistema de agentes para resolver problemas de agrupamento de dados, ou seja,

a formula¸c˜ ao do algoritmo de clustering se apropria de algumas caracter´ısticas desses elementos

computacionais.

(29)

2.6 Trabalhos Relacionados

Para colaborar com o desenvolvimento e fundamenta¸c˜ ao da pesquisa, realizou-se uma busca, em plataformas digitais, por trabalhos publicados que envolvessem concomitantemente os res- pectivos t´ opicos: Algoritmos de agrupamento de dados, Sistemas Multiagente e comportamento coletivo.

Entre os trabalhos encontrados destacam-se aqueles que se apropiam de comportamentos coletivos t´ıpicos de popula¸c˜ oes, conhecidos tamb´ em como algoritmos bioinspirados. Algoritmos inspirados em colˆ onia de formigas, colˆ onia de abelhas, otimiza¸c˜ ao por enxame de part´ıculas - PSO, bando de p´ assaros, est˜ ao entre os mais comuns na literatura e possuindo diversas adapta¸c˜ oes.

Deneubourg et al. (1991) apresenta um modelo inspirado no agrupamento de corpos mor- tos da esp´ ecie de formiga Pheidole pallidula. Nesse modelo, as formigas se movem de forma randˆ omica, e baseia-se em duas probabilidades, uma relacionada a formiga pegar um objeto e outra para ela deix´ a-lo, sendo que a de pegar ´ e maior quando o respectivo objeto est´ a isolado e a de deixar ´ e mais elevada quando o objeto est´ a em um local com outros objetos em suas proximidades. Alicer¸cadas nesse trabalho, outras pesquisas em computa¸c˜ ao, com o intuito de agrupamento de objetos foram desenvolvidas. Lumer; Faieta (1994), por exemplo, descrevem o Algoritmo Simples de Clustering por Formiga (Standart Ant Clustering Algorithm - SACA) op- tando apenas pela utiliza¸c˜ ao de uma fun¸c˜ ao de similaridade cont´ınua para avaliar a similaridade entre diferentes objetos. Outras altera¸c˜ oes no SACA foram propostas, como em Monmarch´ e (1999), Handl (2003), Hartmann (2005), Vizine et al. (2005), Aranha; Iba (2006).

Colˆ onia de abelhas tamb´ em inspiraram a implementa¸c˜ ao de algoritmos de clustering, os trabalhos de Karaboga; Ozturk (2009) e de Santos (2009) s˜ ao exemplos. O primeiro chamado Algoritmo Artificial Bee Colony - ABC, basea-se nos comportamentos das abelhas para a coleta de alimentos e serve como base de outras pesquisas realizadas (Zhang; Ouyang; Ning (2010), Andrade; Cunha (2011) e Ranjbar; Azami; Rostammi (2015) ). O segundo, por sua vez, nomeado Bee Clustering, a principal inspira¸c˜ ao para a forma¸c˜ ao de novos grupos ´ e o movimento realizado durante a “dan¸ca”das abelhas para recrutamento de novos agentes.

A Otimiza¸c˜ ao por Enxame de Part´ıculas - PSO tem como um dos “pontap´ es”iniciais o trabalho de Kennedy; Eberhart (1995), que descrevem comportamentos sociais entre indiv´ıduos, como em um bando de p´ assaros e em cardumes de peixes. A pesquisa de Reynolds (1987) foi uma referˆ encia para os autores durante a simula¸c˜ ao computacional do movimento de indiv´ıduos pertencentes a um bando de p´ assaros. Destacam-se tamb´ em os trabalhos de Merwe; Engelbrecht (2003) e Cohen; de Castro (2003), como exemplos do uso de PSO em clustering.

Em um contexto diferente de algoritmos bioinspirados, a utiliza¸c˜ ao de Multiagente na ta-

refa de agrupamento de dados tamb´ em s˜ ao descritos nos trabalhos de Agogino; Tumer (2010)

e Chaimontree; Atkinson; Coenen (2011). Agogino; Tumer (2010) apresentam um m´ etodo

baseado em agente com o objetivo de combinar muitas bases de agrupamentos em um ´ unico

agrupamento unificado de “consenso”que ´ e robusto contra v´ arios tipos de falhas e n˜ ao requer

(30)

sincroniza¸c˜ ao espacial ou temporal. Nesta abordagem, os agentes processam agrupamentos provenientes de fontes separadas e agrupam-nas para produzir um consenso unificado. Os re- sultados dessa pesquisa mostram que o m´ etodo alcan¸ca um desempenho melhor ou equivalente aos m´ etodos tradicionais de agrupamento de consenso n˜ ao-agente em condi¸c˜ oes sem falhas e permanece eficiente em uma ampla gama de cen´ arios de falha que prejudicam o desempenho de m´ etodos tradicionais.

Chaimontree; Atkinson; Coenen (2011) descrevem um framework para agrupamento com v´ arios agentes ´ e descrito, onde cada agente individual representa um cluster individual. A par- tir da cria¸c˜ ao de uma configura¸c˜ ao inicial do cluster, os agentes podem negociar com o intuito de melhorar esse agrupamento inicial. O framework ´ e usado nos seguintes paradigmas de agru- pamento: K-means e KNN. A avalia¸c˜ ao relatada, pelos autores, demonstra que a negocia¸c˜ ao pode servir para melhorar uma configura¸c˜ ao de cluster inicial.

Em rela¸c˜ ao a comportamento coletivo e clustering, enfatiza-se o trabalho de disserta¸c˜ ao de Gueleri (2013). Na pesquisa, o autor desenvolveu t´ ecnicas de agrupamento baseadas em comportamento coletivo e auto-organiza¸c˜ ao. Nessas t´ ecnicas cada objeto do conjunto de dados corresponde a um indiv´ıduo do sistema, os quais interagem um com os outros, de forma que os grupos apare¸cam a partir de uma organiza¸c˜ ao promovida por pr´ oprios. Os objetos s˜ ao mantidos fixos em seu espa¸co de atributos, mas carregam certo tipo de “energia”. Tal energia ser´ a trocada gradualmente entre eles. Logo os grupos ser˜ ao formados por objetos que possuem energias semelhantes.

Tamb´ em foram encontrados trabalhos que utilizam algoritmos de clustering para a oti-

miza¸c˜ ao da distribui¸c˜ ao de agentes e o emprego dessas duas estrat´ egias em algumas aplica¸c˜ oes,

como em imagens digitais (Kubal´ık et al. (2010), Minden; Youn; Khan (2012), Xin; Sagan

(2016)). Por fim, a Tabela 2 sumariza os algoritmos de agrupamentos de dados que foram

mencionados anteriormente.

(31)

31

Inspira¸ c˜ ao Principais trabalhos Descri¸ c˜ ao

Colˆ onia de formigas Deneubourg et al. (1991), Lumer; Faieta (1994), Monmarch´ e (1999), Handl (2003), Hartmann (2005), Vizine et al. (2005) e Aranha; Iba (2006).

Esses trabalhos apresentam modelos matem´ aticos que descrevem o comportamento em colˆ onia de formigas, principalmente aquele ocasionado pela forma¸ c˜ ao de cemit´ erios. Baseados nesses modelos v´ arios algoritmos de agrupamento de dados foram desenvolvidos, o principal deles ´ e o SACA, que motivou outros trabalhos nessa mesma perspectiva.

Colˆ onia de abelhas Karaboga; Ozturk (2009), Santos (2009), Zhang;

Ouyang; Ning (2010), Andrade; Cunha (2011) e Ranjbar; Azami; Rostammi (2015)

Colˆ onias de abelhas tamb´ em serviram de inspira¸c˜ ao para novos algoritmos de agrupamentos de dados.

Os principais comportamentos modelados s˜ ao os realizados para a coleta de alimentos e a dan¸ ca para o recrutamento de abelhas.

Otimiza¸ c˜ ao por enxame de part´ıculas - PSO Kennedy; Eberhart (1995), Reynolds (1987), Merwe; Engelbrecht (2003) e Cohen; de Castro (2003)

Os algoritmos de clustering inspirados em PSO, utilizam os modelos que descrevem os comporta- mentos em bandos de pass´ aros.

Multiagente Agogino; Tumer (2010), Chaimontree; Atkinson;

Coenen (2011), Kubal´ık et al. (2010), Minden;

Youn; Khan (2012) e Xin; Sagan (2016)

S˜ ao nesses trabalhos que s˜ ao efetivamente utilizado o conceito de multiagente em clustering ou o uso de um algoritmo para algumas aplica¸ c˜ oes que baseam- se em agentes.

Troca de energia e coletividade Gueleri (2013) Nesse trabalho, s˜ ao propostos trˆ es algoritmos de

agrupamento de dados baseando-se na coletividade

e auto-organiza¸c˜ ao, atrav´ es de troca de energia

entre os objetos considerados.

(32)

Ap´ os essas considera¸c˜ oes, a proposta apresentada nesse trabalho relata o desenvolvimento

e avalia¸c˜ ao de um novo algoritmo de agrupamento de dados, baseando-se em algumas propri-

edades de agentes como a autonomia, a capacidade de rea¸c˜ ao e troca de informa¸c˜ oes que s˜ ao

caracter´ısticas j´ a testada por alguns dos trabalhos relatados anteriormente. Por´ em, ao contr´ ario

de algumas propostas, a nova t´ ecnica n˜ ao se baseia em algum comportamento bioinspirado, as

caracter´ısticas para cada agente, que representa um objeto de dado, s˜ ao formuladas de maneira

artificial e os grupos ser˜ ao formados a partir da capacidade visual de cada agente e de suas

movimenta¸c˜ oes durante o processo de agrupamento.

(33)

3 ALGORITMO DESENVOLVIDO

Este trabalho apresentou inicialmente um estudo amplo do problema de agrupamento de dados e alguns ´ındices de valida¸c˜ ao, passando tamb´ em por outros temas relevantes para a nova proposta, como a defini¸c˜ ao de agentes e pesquisas que possuem objetivos semelhantes.

Durante essa revis˜ ao t´ eorica percebe-se algumas desvantagens de determinados algoritmos de clustering, tais como a defini¸c˜ ao a priori de quantos grupos a serem formados ou a inser¸c˜ ao de centroides e estruturas que for¸cam a estabilidade do agrupamento. Tendo em vista essas deficiˆ encias, busca-se o desenvolvimento de um algoritmo apto para auto-organizar seus objetos de dados com o intuito de formarem grupos bem definidos. Para este fim, s˜ ao utilizadas algu- mas propriedades importantes do conceito de agentes, como sua capacidade de executar a¸c˜ oes autˆ onomas e de comunica¸c˜ ao com outros agentes pertencentes ao sistema. Resumidamente, o algoritmo segue a ideia exposta a seguir:

Dado um conjunto de dados X com n objetos, ou seja X = {x

1

, x

2

, x

3

, ..., x

n

}, de forma que cada objeto x

i

, para i = {1, 2, 3, ..., n} est´ a associado a um agente e um alcance de vis˜ ao

´

unico α para todos os agentes. O algoritmo ´ e iniciado com cada agente apresentando um r´ otulo distinto, por exemplo, x

1

possui um r´ otulo c

1

, x

2

possui um r´ otulo c

2

e assim por diante, de modo que todos os c

i

s˜ ao diferentes. Assim ´ e correto afirmar que, inicialmente cada agente x

i

´

e o seu pr´ oprio grupo, ou seja, o conjunto X possui n grupos na primeira itera¸c˜ ao. S˜ ao esses r´ otulos que poder˜ ao ser propagados durante o processo de agrupamento. Al´ em disso, cada x

i

´

e o centro de uma circunferˆ encia de raio igual ao alcance α. Essa circunferˆ encia ´ e dividida em 8 setores circulares que representam as poss´ıveis op¸c˜ oes de dire¸c˜ ao de movimenta¸c˜ ao para os agentes. Essa movimenta¸c˜ ao, de velocidade constante, se faz necess´ aria para a explora¸c˜ ao local.

O objetivo de cada agente ´ e encontrar o setor que possui mais agentes. S˜ ao com os agentes desse setor que ser˜ ao realizadas as trocas de informa¸c˜ oes, que consiste na altera¸c˜ ao do estado dos r´ otulos dos agentes envolvidos.

A Figura 3.1 ilustra esse comportamento que representa o processo de agrupamento do algoritmo. Cada “c´ırculo colorido”representa um agente diferente, sendo que cada cor distinta dos objetos indica um grupo. Na ilustra¸c˜ ao, o agente x

1

centrado em uma circunferˆ encia de raio qualquer optando por se mover em dire¸c˜ ao do Setor 1 (ˆ angulo de 0

o

) que ´ e o de maior n´ umero de outros agentes (5 agentes no total). Um pseudoc´ odigo da implementa¸c˜ ao realizada

´

e descrito na pr´ oxima se¸c˜ ao, denomina-se o algoritmo de DL3.

3.1 O Algoritmo DL3

Considerando a Figura 3.2, as principais etapas do processo de agrupamento do DL3 s˜ ao:

• Etapa Inicial: Primeiramente ´ e necess´ ario a entrada de um conjunto de dados, sendo

que cada objeto de dado ser´ a definido como um agente do sistema e um n´ umero que

determina o alcance da vis˜ ao dos agentes, de modo que este valor seja o mais adequado

(34)

Figura 3.1: Representa¸c˜ ao de como cada objeto analisa os setores de vis˜ ao.

para cada conjunto de dados. Inicialmente, cada ponto dado possuir´ a um r´ otulo distinto e caracter´ıstico.

• Etapa de Agrupamento: Cada agente possui um campo de dire¸c˜ ao de 360

o

discretizado em 8 setores, cada um cobrindo uma faixa de 45

o

e raio igual ao alcance definido a priori pelo usu´ ario. Em cada itera¸c˜ ao, a dire¸c˜ ao para onde os agentes se movem ´ e definida usando o crit´ erio baseado no n´ umero de outros agentes percebidos por cada agente x

i

, sendo que eles se movem em uma velocidade constante. Se houver uma melhor dire¸c˜ ao percebida para se mover, x

i

se move para onde o n´ umero de vizinhos ´ e maior. Caso contr´ ario, se n˜ ao houver agentes em qualquer setor ou em caso de empates uma dire¸c˜ ao aleat´ oria ´ e definida, ou seja, quando n˜ ao houver agentes em qualquer setor, o agente escolhe aleatoriamente uma das 8 dire¸c˜ oes para se mover, e se for encontrado mais de um setor com mais agentes, ent˜ ao aleatoriamente os agentes escolhem um desses setores para se mover. O r´ otulo do cluster de cada agente, que foram considerados diferentes inicialmente, ser´ a alterado quando ap´ os x

i

mover-se para a dire¸c˜ ao com mais agentes.

Assim, x

i

herda o r´ otulo do x

a

mais pr´ oximo pertencente ao cluster que foi direcionado.

Nesse caso, ambos os agentes est˜ ao configurados para o mesmo cluster, pois o r´ otulo de x

i

est´ a configurado para ser o mesmo r´ otulo de x

a

.

• Crit´ erio de Parada: O crit´ erio de parada do algoritmo ´ e estabilidade dos agrupamentos, ou seja, verificar quando o n´ umero de grupos n˜ ao se modifica significativamente em rela¸c˜ ao ao alcance de vis˜ ao adotado para os agentes.

Com essa nova formula¸c˜ ao de algoritmo de agrupamento espera-se que o n´ umero e a dis-

Referências

Documentos relacionados

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo

Os instrumentos de pesquisa utilizados serão: Ficha de Rastreamento das Participantes do Estudo, International Consultation on Incontinence Questionnaire – Short Form

contemporaneamente, não há como conciliar com o ordenamento jurídico pátrio um princípio que – ignorando as nuances do caso concreto – pré-estabeleça que a melhor

A produção de sementes pela COPERCAMPOS é feita pelo sistema de cooperantes. Aqueles que estão interessados em produzir sementes devem se inscrever na cooperativa,

É pois, neste contexto que surge este estudo que tem como objetivo avaliar o impacte da metodologia de Ensino Baseado em Casos apoiada na História da Ciência para a

Contudo, não é possível imaginar que essas formas de pensar e agir, tanto a orientada à Sustentabilidade quanto a tradicional cartesiana, se fomentariam nos indivíduos

Apesar da utilização de modelos bem simplificados, a partir de uma evolução da estrutura primária de IAPP, utilização de “pseudoátomos” e simular apenas as