Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouCecília Alegre Alterado mais de 10 anos atrás
1
COS242 – Teoria dos Grafos Trabalho Prático – Parte 2
Alunos: Bruno Tourinho Tomas Jonathan Augusto da Silva
2
Sumário Objetivo Destaques sobre implementação
Resultados dos Estudos de Caso
3
Introdução
4
Objetivo Expandir a biblioteca desenvolvida na parte 1, incluindo as seguintes funcionalidades: Grafos com pesos; Distância e caminho mínimo; Árvore geradora mínima (MST); Distribuição empírica da distância; e Distância média.
5
Destaques sobre a implementação
6
Orientação a objeto Na parte 1 do trabalho, a estrutura orientada a objeto foi usada apenas como “intermediária” para criação de matriz e lista de adjacência Agora, ela segue como uma “terceira via” no projeto, sendo mais uma opção para representação Relativamente baixo consumo de memória (como na lista de adjacência): Grafo 4 (50000 vértices) OO: ~40MB Lista: ~25MB Matriz: >1.5GB (travou!)
7
Programação concorrente
Para o cálculo da distribuição empírica das distâncias e da distância média, era preciso executar o algoritmo de Dijkstra diversas vezes No caso do grafo 5 (o maior, com vértices): 1 Dijkstra a cada 40 minutos (em média) = 36 por dia vértices dias = ~7,7 anos Solução? Threads to the rescue!
8
Programação concorrente
Uso da biblioteca Boost Possui bibliotecas de suporte a diversas áreas, como gerenciamento de memória, matemática, análise sintática, programação concorrente, entre outras.
9
Programação concorrente
#include <boost/thread/thread.hpp> using namespace std; void ola_mundo() { cout << "Ola mundo, sou uma thread!" << endl; } int main(int argc, char* argv[]) // inicia uma nova thread que chama a função ola_mundo boost::thread minha_thread( &ola_mundo ); // espera a thread finalizar minha_thread.join(); return 0;
10
Resultados - 1 Caminho mínimo Distância mínima (a partir do vértice 1)
11
Resultados – Grafo 1 Vért. final Distância Caminho 10 19
100 12 1-100
12
Resultados – Grafo 2 Vért. final Distância Caminho 10 2 1-52-10 100
1000
13
Resultados – Grafo 3 Vért. final Distância Caminho 10 26
100 29 1000 33 10000 12
14
Resultados – Grafo 4 Vért. final Distância Caminho 10 27
100 19 1000 36 10000 17
15
Resultados – Grafo 5 Vért. final Distância Caminho 10 56
100 48 1000 49 10000 94
16
Resultados - 2 Distribuição empírica Distância média
17
Resultados
18
Resultados Grafo Distância média 1 13,0192 2 2,0859 3 6,9171 4 5
Distâncias médias Grafo Distância média 1 13,0192 2 2,0859 3 6,9171 4 ind. 5
19
Resultados - 3 Árvore geradora mínima (MST)
20
Resultados Grafo Custo da MST 1 336 2 999 3 31947 4 216236 5 608677
Árvore geradora mínima Grafo Custo da MST 1 336 2 999 3 31947 4 216236 5 608677
21
bruno_tomas@poli.ufrj.br jonathanaugusto@poli.ufrj.br
Obrigado!
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.