A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

COS242 – Teoria dos Grafos Trabalho Prático – Parte 2

Apresentações semelhantes


Apresentação em tema: "COS242 – Teoria dos Grafos Trabalho Prático – Parte 2"— Transcrição da apresentação:

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!


Carregar ppt "COS242 – Teoria dos Grafos Trabalho Prático – Parte 2"

Apresentações semelhantes


Anúncios Google