An external memory algorithm for listing triangles
Autor(a) principal: | |
---|---|
Data de Publicação: | 2010 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFRGS |
Texto Completo: | http://hdl.handle.net/10183/26335 |
Resumo: | Este trabalho propõe um novo algoritmo de memória externa para contagem e listagem de triângulos em grafos massivos. Outra grande contribuição é uma melhor análise do algoritmo de listagem de triângulos de memória externa proposto por Roman Dementiev [8]. Além disso, há uma revisão bibliográfica das soluções (tanto para memória interna, quanto para memória externa) para os problemas de busca, contagem e listagem de triângulos. Muitas aplicações atuais precisam processar uma quantidade imensa de dados. Lidar com esse problema é um desafio para a área de projeto de algoritmos. Algoritmos de memória externa, ou algoritmos I/O-eficientes, objetivam reduzir o número de leituras e escritas (I/Os) na mídia externa, tipicamente um disco rígido, pois o custo de um I/O para um dispositivo esterno é muito maior que um I/O realizado em memória interna. A mídia externa é utilizada para armazenar as informações que a memória principal, normalmente uma RAM (Random Access Memory), não consegue lidar por falta de espaço. Em grafos, Triângulos são conjuntos de 3 vértices tal que cada possível aresta entre eles está presente. Usualmente, o número ou a lista de triângulos em um grafo não é uma informação útil por si só. Entretanto ela pode ser utilizada para outros propósitos como o cálculo de propriedades do grafo, por exemplo, o coeficiente de clustering ou o coeficiente de transitividade; análise de redes complexas; busca de outros subgrafos especiais, por exemplo, em redes de interação entre proteínas; e também detecção de intrusão, de comunidades e de atividades de spam. Em um grafo com m arestas, a complexidade de I/O do algoritmo que propomos _e O(Scan(m3/2 )). Com o algoritmo proposto, é possível calcular o número de triângulos em um grafo com 800 milhões de arestas em pouco mais de 9 horas usando apenas 1.5GiB de memória principal. |
id |
UFRGS-2_43623b0b351a71068a13588858cccd15 |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/26335 |
network_acronym_str |
UFRGS-2 |
network_name_str |
Repositório Institucional da UFRGS |
repository_id_str |
|
spelling |
Menegola, BrunoBuriol, Luciana SaleteRitt, Marcus Rolf Peter2010-10-14T04:19:18Z2010http://hdl.handle.net/10183/26335000757756Este trabalho propõe um novo algoritmo de memória externa para contagem e listagem de triângulos em grafos massivos. Outra grande contribuição é uma melhor análise do algoritmo de listagem de triângulos de memória externa proposto por Roman Dementiev [8]. Além disso, há uma revisão bibliográfica das soluções (tanto para memória interna, quanto para memória externa) para os problemas de busca, contagem e listagem de triângulos. Muitas aplicações atuais precisam processar uma quantidade imensa de dados. Lidar com esse problema é um desafio para a área de projeto de algoritmos. Algoritmos de memória externa, ou algoritmos I/O-eficientes, objetivam reduzir o número de leituras e escritas (I/Os) na mídia externa, tipicamente um disco rígido, pois o custo de um I/O para um dispositivo esterno é muito maior que um I/O realizado em memória interna. A mídia externa é utilizada para armazenar as informações que a memória principal, normalmente uma RAM (Random Access Memory), não consegue lidar por falta de espaço. Em grafos, Triângulos são conjuntos de 3 vértices tal que cada possível aresta entre eles está presente. Usualmente, o número ou a lista de triângulos em um grafo não é uma informação útil por si só. Entretanto ela pode ser utilizada para outros propósitos como o cálculo de propriedades do grafo, por exemplo, o coeficiente de clustering ou o coeficiente de transitividade; análise de redes complexas; busca de outros subgrafos especiais, por exemplo, em redes de interação entre proteínas; e também detecção de intrusão, de comunidades e de atividades de spam. Em um grafo com m arestas, a complexidade de I/O do algoritmo que propomos _e O(Scan(m3/2 )). Com o algoritmo proposto, é possível calcular o número de triângulos em um grafo com 800 milhões de arestas em pouco mais de 9 horas usando apenas 1.5GiB de memória principal.In this work, we propose a new external memory algorithm for counting and listing triangles in huge graphs. Another major contribution is a better analysis of the external memory algorithm for listing triangles proposed by Roman Dementiev [8]. Besides that, there is a review of solutions (in internal and external memory) for the problems of nding, counting and listing triangles. Many real world applications need to process a large amount of data. Dealing with massive data is a challenge for algorithm design. The goal for external memory algorithms, or I/O-e cient algorithms, is to reduce the number of reads and writes (I/Os) to external devices, typically a hard disk, wich has a huge cost per I/O when compared to another made for internal memory. The external device is used to store informations that the main memory, usually a RAM (Random Access Memory), can not deal because it lacks of space. In a graph, a triangle is a set of three vertices such that each possible edge between them is present. Usually, the number of triangles, for example, is not an useful information by itself. However, they can be used for other purposes like the calculation of graph properties, for example, the clustering coe cient and transitivity coe cient; analysis of complex networks; nding special subgraphs, for example, in protein interaction networks; and also intrusion detection, spamming or community detection. In a graph with m edges, the I/O complexity of our proposed algorithm is O(Scan(m 3/2)). With this algorithm is possible to count the number of triangles in a graph with 800 million edges in about 9 hours using only 1.5 GiB of main memory.application/pdfengGramatica : GrafosAlgoritmosAlgorithmsExternal memoryTrianglesTriangle problemsCounting trianglesListing trianglesAn external memory algorithm for listing trianglesUm algoritmo de memória externa para listagem de triângulos info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2010Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000757756.pdf000757756.pdfTexto completo (inglês)application/pdf564394http://www.lume.ufrgs.br/bitstream/10183/26335/1/000757756.pdf081be984b6a5242ad4024dcc2205fea5MD51TEXT000757756.pdf.txt000757756.pdf.txtExtracted Texttext/plain62821http://www.lume.ufrgs.br/bitstream/10183/26335/2/000757756.pdf.txt5e670a6c022366a382ae6cc75a4d730fMD52THUMBNAIL000757756.pdf.jpg000757756.pdf.jpgGenerated Thumbnailimage/jpeg984http://www.lume.ufrgs.br/bitstream/10183/26335/3/000757756.pdf.jpg65836c056f327214120b02b6f4919769MD5310183/263352021-05-07 05:09:03.572598oai:www.lume.ufrgs.br:10183/26335Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2021-05-07T08:09:03Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
An external memory algorithm for listing triangles |
dc.title.alternative.en.fl_str_mv |
Um algoritmo de memória externa para listagem de triângulos |
title |
An external memory algorithm for listing triangles |
spellingShingle |
An external memory algorithm for listing triangles Menegola, Bruno Gramatica : Grafos Algoritmos Algorithms External memory Triangles Triangle problems Counting triangles Listing triangles |
title_short |
An external memory algorithm for listing triangles |
title_full |
An external memory algorithm for listing triangles |
title_fullStr |
An external memory algorithm for listing triangles |
title_full_unstemmed |
An external memory algorithm for listing triangles |
title_sort |
An external memory algorithm for listing triangles |
author |
Menegola, Bruno |
author_facet |
Menegola, Bruno |
author_role |
author |
dc.contributor.author.fl_str_mv |
Menegola, Bruno |
dc.contributor.advisor1.fl_str_mv |
Buriol, Luciana Salete |
dc.contributor.advisor-co1.fl_str_mv |
Ritt, Marcus Rolf Peter |
contributor_str_mv |
Buriol, Luciana Salete Ritt, Marcus Rolf Peter |
dc.subject.por.fl_str_mv |
Gramatica : Grafos Algoritmos |
topic |
Gramatica : Grafos Algoritmos Algorithms External memory Triangles Triangle problems Counting triangles Listing triangles |
dc.subject.eng.fl_str_mv |
Algorithms External memory Triangles Triangle problems Counting triangles Listing triangles |
description |
Este trabalho propõe um novo algoritmo de memória externa para contagem e listagem de triângulos em grafos massivos. Outra grande contribuição é uma melhor análise do algoritmo de listagem de triângulos de memória externa proposto por Roman Dementiev [8]. Além disso, há uma revisão bibliográfica das soluções (tanto para memória interna, quanto para memória externa) para os problemas de busca, contagem e listagem de triângulos. Muitas aplicações atuais precisam processar uma quantidade imensa de dados. Lidar com esse problema é um desafio para a área de projeto de algoritmos. Algoritmos de memória externa, ou algoritmos I/O-eficientes, objetivam reduzir o número de leituras e escritas (I/Os) na mídia externa, tipicamente um disco rígido, pois o custo de um I/O para um dispositivo esterno é muito maior que um I/O realizado em memória interna. A mídia externa é utilizada para armazenar as informações que a memória principal, normalmente uma RAM (Random Access Memory), não consegue lidar por falta de espaço. Em grafos, Triângulos são conjuntos de 3 vértices tal que cada possível aresta entre eles está presente. Usualmente, o número ou a lista de triângulos em um grafo não é uma informação útil por si só. Entretanto ela pode ser utilizada para outros propósitos como o cálculo de propriedades do grafo, por exemplo, o coeficiente de clustering ou o coeficiente de transitividade; análise de redes complexas; busca de outros subgrafos especiais, por exemplo, em redes de interação entre proteínas; e também detecção de intrusão, de comunidades e de atividades de spam. Em um grafo com m arestas, a complexidade de I/O do algoritmo que propomos _e O(Scan(m3/2 )). Com o algoritmo proposto, é possível calcular o número de triângulos em um grafo com 800 milhões de arestas em pouco mais de 9 horas usando apenas 1.5GiB de memória principal. |
publishDate |
2010 |
dc.date.accessioned.fl_str_mv |
2010-10-14T04:19:18Z |
dc.date.issued.fl_str_mv |
2010 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10183/26335 |
dc.identifier.nrb.pt_BR.fl_str_mv |
000757756 |
url |
http://hdl.handle.net/10183/26335 |
identifier_str_mv |
000757756 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFRGS instname:Universidade Federal do Rio Grande do Sul (UFRGS) instacron:UFRGS |
instname_str |
Universidade Federal do Rio Grande do Sul (UFRGS) |
instacron_str |
UFRGS |
institution |
UFRGS |
reponame_str |
Repositório Institucional da UFRGS |
collection |
Repositório Institucional da UFRGS |
bitstream.url.fl_str_mv |
http://www.lume.ufrgs.br/bitstream/10183/26335/1/000757756.pdf http://www.lume.ufrgs.br/bitstream/10183/26335/2/000757756.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/26335/3/000757756.pdf.jpg |
bitstream.checksum.fl_str_mv |
081be984b6a5242ad4024dcc2205fea5 5e670a6c022366a382ae6cc75a4d730f 65836c056f327214120b02b6f4919769 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS) |
repository.mail.fl_str_mv |
|
_version_ |
1815447049113436160 |