Uma biblioteca para desenho de grafos construída sob o paradigma de programação genérica

Detalhes bibliográficos
Autor(a) principal: Leandro Terra Cunha Melo
Data de Publicação: 2007
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFMG
Texto Completo: http://hdl.handle.net/1843/BUOS-8D7H8V
Resumo: Grafos são estruturas combinatoriais presentes em inúmeras aplicações. Seus vértices e arestas correspondem, respectivamente, às entidades e às relações de adjacência de determinado domínio. Apesar de um grafo ser um conceito puramente matemático, é fundamental que seu desenho seja inteligível e que transmita o máximo de informações possível. Em alguns casos, a clareza do desenho de um grafo não é apenas uma questão estética, mas um requisito essencial da aplicação. Este trabalho apresenta uma biblioteca para desenho de grafos chamada GTAD (Graph Toolkit for Algorithms and Drawings). Uma visão introdutória sobre a área de desenho de grafos, em conjunto com uma análise detalhada de três algoritmos de desenho ortogonal de grafos, também é apresentada. A GTAD é desenvolvida na linguagem de programação C++, sob o paradigma de programação genérica, que visa abstrair implementações das estruturas de dados sobre as quais elas operam. O mecanismo de templates da linguagem C++, ferramenta fundamental para a programação genérica, garante a resolução de tipos em tempo de compilação. Conseqüentemente, implementações baseadas nesta abordagem são comumente mais eficientes que aquelas que utilizam o paradigma de orientação a objetos em sua forma convencional. Resultados de desempenho de operações básicas de manipulação de grafos mostram que a GTAD é superior a outras bibliotecas, quando comparados os tempos de execução. Implementações de alguns algoritmos também foram submetidas a testes de desempenho e obtiveram resultados positivos. Finalmente, desenhos de grafos de categorias distintas, gerados sob diferentes estratégias, são discutidos e comparados entre si.
id UFMG_dbfd83aca4104ffd3577d080e19faebe
oai_identifier_str oai:repositorio.ufmg.br:1843/BUOS-8D7H8V
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Renato Cardoso MesquitaLeandro Terra Cunha Melo2019-08-10T00:11:11Z2019-08-10T00:11:11Z2007-05-25http://hdl.handle.net/1843/BUOS-8D7H8VGrafos são estruturas combinatoriais presentes em inúmeras aplicações. Seus vértices e arestas correspondem, respectivamente, às entidades e às relações de adjacência de determinado domínio. Apesar de um grafo ser um conceito puramente matemático, é fundamental que seu desenho seja inteligível e que transmita o máximo de informações possível. Em alguns casos, a clareza do desenho de um grafo não é apenas uma questão estética, mas um requisito essencial da aplicação. Este trabalho apresenta uma biblioteca para desenho de grafos chamada GTAD (Graph Toolkit for Algorithms and Drawings). Uma visão introdutória sobre a área de desenho de grafos, em conjunto com uma análise detalhada de três algoritmos de desenho ortogonal de grafos, também é apresentada. A GTAD é desenvolvida na linguagem de programação C++, sob o paradigma de programação genérica, que visa abstrair implementações das estruturas de dados sobre as quais elas operam. O mecanismo de templates da linguagem C++, ferramenta fundamental para a programação genérica, garante a resolução de tipos em tempo de compilação. Conseqüentemente, implementações baseadas nesta abordagem são comumente mais eficientes que aquelas que utilizam o paradigma de orientação a objetos em sua forma convencional. Resultados de desempenho de operações básicas de manipulação de grafos mostram que a GTAD é superior a outras bibliotecas, quando comparados os tempos de execução. Implementações de alguns algoritmos também foram submetidas a testes de desempenho e obtiveram resultados positivos. Finalmente, desenhos de grafos de categorias distintas, gerados sob diferentes estratégias, são discutidos e comparados entre si.Graphs are combinatorial structures used in a great variety of applications. Vertices and edges of a graph correspond, respectively, to entities and relationships of a specic domain. Although the concept of a graph is purely mathematical, it is very important that its drawing effectively convey all necessary information. There are cases in which the clarity of a graph drawing is not a simple aesthetical matter, but part of the application's requirement. This work presents the GTAD (Graph Toolkit for Algorithms and Drawings) graph drawing library. An introductory perspective of the graph drawing area, along with a detailed analysis of three orthogonal drawing algorithms, is also presented. The GTAD is developed with the C++ programming language, under the generic programming paradigm, which focus on abstracting implementations from the data structures in which they operate. C++ template is a fundamental tool to achieve generic programming. Since type resolution of templates is performed at compile time, generic libraries are usually more efficient than libraries developed under the object-oriented paradigm in its traditional form. Performance results of basic graph manipulation operations show that GTAD is faster than other libraries when execution times are compared. Implementations of a few algorithms were also submitted to performance tests and obtained positive results. Finally, drawings of graphs from different categories, generated by different strategies, are discussed and compared against each other.Universidade Federal de Minas GeraisUFMGEngenharia elétricaEngenharia elétricaUma biblioteca para desenho de grafos construída sob o paradigma de programação genéricainfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALleandro_terra_cunha_melo.pdfapplication/pdf2027596https://repositorio.ufmg.br/bitstream/1843/BUOS-8D7H8V/1/leandro_terra_cunha_melo.pdfbdc2c75b20bf59449ba3300a42a3da6aMD51TEXTleandro_terra_cunha_melo.pdf.txtleandro_terra_cunha_melo.pdf.txtExtracted texttext/plain219657https://repositorio.ufmg.br/bitstream/1843/BUOS-8D7H8V/2/leandro_terra_cunha_melo.pdf.txt08b6041ce782da5923b5513021e8c213MD521843/BUOS-8D7H8V2019-11-14 05:13:25.42oai:repositorio.ufmg.br:1843/BUOS-8D7H8VRepositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2019-11-14T08:13:25Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.pt_BR.fl_str_mv Uma biblioteca para desenho de grafos construída sob o paradigma de programação genérica
title Uma biblioteca para desenho de grafos construída sob o paradigma de programação genérica
spellingShingle Uma biblioteca para desenho de grafos construída sob o paradigma de programação genérica
Leandro Terra Cunha Melo
Engenharia elétrica
Engenharia elétrica
title_short Uma biblioteca para desenho de grafos construída sob o paradigma de programação genérica
title_full Uma biblioteca para desenho de grafos construída sob o paradigma de programação genérica
title_fullStr Uma biblioteca para desenho de grafos construída sob o paradigma de programação genérica
title_full_unstemmed Uma biblioteca para desenho de grafos construída sob o paradigma de programação genérica
title_sort Uma biblioteca para desenho de grafos construída sob o paradigma de programação genérica
author Leandro Terra Cunha Melo
author_facet Leandro Terra Cunha Melo
author_role author
dc.contributor.advisor1.fl_str_mv Renato Cardoso Mesquita
dc.contributor.author.fl_str_mv Leandro Terra Cunha Melo
contributor_str_mv Renato Cardoso Mesquita
dc.subject.por.fl_str_mv Engenharia elétrica
topic Engenharia elétrica
Engenharia elétrica
dc.subject.other.pt_BR.fl_str_mv Engenharia elétrica
description Grafos são estruturas combinatoriais presentes em inúmeras aplicações. Seus vértices e arestas correspondem, respectivamente, às entidades e às relações de adjacência de determinado domínio. Apesar de um grafo ser um conceito puramente matemático, é fundamental que seu desenho seja inteligível e que transmita o máximo de informações possível. Em alguns casos, a clareza do desenho de um grafo não é apenas uma questão estética, mas um requisito essencial da aplicação. Este trabalho apresenta uma biblioteca para desenho de grafos chamada GTAD (Graph Toolkit for Algorithms and Drawings). Uma visão introdutória sobre a área de desenho de grafos, em conjunto com uma análise detalhada de três algoritmos de desenho ortogonal de grafos, também é apresentada. A GTAD é desenvolvida na linguagem de programação C++, sob o paradigma de programação genérica, que visa abstrair implementações das estruturas de dados sobre as quais elas operam. O mecanismo de templates da linguagem C++, ferramenta fundamental para a programação genérica, garante a resolução de tipos em tempo de compilação. Conseqüentemente, implementações baseadas nesta abordagem são comumente mais eficientes que aquelas que utilizam o paradigma de orientação a objetos em sua forma convencional. Resultados de desempenho de operações básicas de manipulação de grafos mostram que a GTAD é superior a outras bibliotecas, quando comparados os tempos de execução. Implementações de alguns algoritmos também foram submetidas a testes de desempenho e obtiveram resultados positivos. Finalmente, desenhos de grafos de categorias distintas, gerados sob diferentes estratégias, são discutidos e comparados entre si.
publishDate 2007
dc.date.issued.fl_str_mv 2007-05-25
dc.date.accessioned.fl_str_mv 2019-08-10T00:11:11Z
dc.date.available.fl_str_mv 2019-08-10T00:11:11Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1843/BUOS-8D7H8V
url http://hdl.handle.net/1843/BUOS-8D7H8V
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.publisher.initials.fl_str_mv UFMG
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
bitstream.url.fl_str_mv https://repositorio.ufmg.br/bitstream/1843/BUOS-8D7H8V/1/leandro_terra_cunha_melo.pdf
https://repositorio.ufmg.br/bitstream/1843/BUOS-8D7H8V/2/leandro_terra_cunha_melo.pdf.txt
bitstream.checksum.fl_str_mv bdc2c75b20bf59449ba3300a42a3da6a
08b6041ce782da5923b5513021e8c213
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv
_version_ 1803589188051795968