Paralelização do algoritmo de agrupamento de formiga - CAVASSAN, Guilherme (105, 2012)
A mineração de dados é uma importante ferramenta para descoberta e análise de padrões em um conjunto de dados. Uma das tarefas da mineração é o agrupamento de dados, que consiste em separar os elementos, de tal forma que os elementos similares fiquem em um grupo e os elementos dissimilares fiquem em grupos distintos. O objetivo desse trabalho é apresentar uma proposta de otimização de desempenho para o algoritmo de agrupamento de formiga conhecido como ACA, utilizando técnicas que aproveitam o processador gráfico para realizar tarefas de propósito gerais. A metodologia utilizada foi a realização de um estudo sobre o algoritmo e técnicas usadas em inteligência de enxames e sobre a linguagem CUDA desenvolvida pela empresa NVIDIA usada na aplicação desenvolvida neste trabalho. Foram criadas duas aplicações semelhantes, mas utilizando técnicas de processamento diferentes, uma executada pelo processador e outra pela placa de vídeo, para comparação do tempo de processamento dos algoritmos. Os resultados do trabalho apontaram que as técnicas de processamento usando a placa de vídeo obtiveram menor tempo de processamento quando utilizando grande volume de dados, sendo que em situações nas quais houve maior quantidade de instruções executadas ao mesmo tempo foram também as que apresentaram maior diferença de tempo entre o modelo de aplicação tradicional e o paralelo. O algoritmo implementado neste trabalho se destacou pela escalabilidade considerando o tempo de processamento final obtido.
Parallelization of ant clustering algorithm
Keywords: Algoritmo; Mineração de dados; Processamento de dados; Informação e Comunicação