Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouNeusa Frade Pinho Alterado mais de 7 anos atrás
1
UM FRAMEWORK PARA ALGORITMOS BASEADOS NA TEORIA DOS GRAFOS Acadêmico: Maicon Rafael Zatelli Orientador: Dr. Paulo C é sar Rodacki Gomes
2
Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento do trabalho Conclusão Extensões
3
Introdu ç ão Importância da teoria dos grafos - Redes - Transportes - Comunicações - Jogos Problemas - Muitos algoritmos - Muitas propriedades - Dificuldade em criar grafos com muitos vértices e arestas Solu ç ão - Um framework voltado para a teoria dos grafos
4
Objetivos do trabalho Construir um framework para auxiliar no desenvolvimento de softwares baseados na teoria dos grafos; Disponibilizar um subconjunto de algoritmos clássicos; Disponibilizar opção para extrair propriedades de grafos; Disponibilizar geradores de grafos com base em restrições; Persistir grafos; Documentar o framework; Disponibilizar uma aplicação de exemplo.
5
Fundamenta ç ão te ó rica - Definição de grafo - Algoritmos de grafos - Propriedades de grafos - JgraphT (2005) - TCC Hackbarth (2008) - TCC Braun (2009) Conceitos básicos Trabalhos correlatos
6
JgraphT (2005)
7
HACKBARTH (2008)
8
BRAUN (2009)
9
A B C D E Fundamenta ç ão te ó rica Grau 4 Grau 3 Isolado Pendente Articulação 1 4 3 2 Grau entrada 1 Grau saída 2
10
Fundamenta ç ão te ó rica Base (grau entrada 0) Antibase (grau saída 0)
11
Fundamenta ç ão te ó rica Laço Arestas paralelas Ponte Atributos A B C D E 54 65 29 8 32 76
12
Fundamenta ç ão te ó rica A B C D E Ciclo ABCA A B C D E Caminho ABCD
13
1 Busca em largura 2 5 6 4 8 7 9 3 Resultado: 1 2 5 3 6 4 7 9 8
14
1 Busca em profundidade 2 5 6 4 8 7 9 3 Resultado: 1 2 3 5 6 4 7 8 9
15
1 Ordena ç ão topol ó gica 2 5 6 4 8 7 9 3 Resultado: 7 > 8 > 9 > 4 > 1 > 2 > 3 > 6 > 5
16
A Ford-Fulkerson B E D C Resultado (A, E): 9 6 3 5 2 2 2 7 A B E D C 3 3 2 2 2 2 7
17
A Prim B E D C Resultado: 61 F 50 100 40 5 3 15 7 1 2
18
A Kruskal B E D C Resultado: 75 F 50 100 40 5 3 15 7 1 2 G H 14
19
Dijkstra Resultado (B,C): 10 Caminho: [2 > 4 > 1 > 3] B A C D 5 3 2 3 9 4
20
Bellman-Ford B A C D 5 3 2 3 9 4 9 4 7E F ABCDEF B7010349 Resultado (B)
21
Floyd-Warshall B A C D 5 3 2 3 9 4 ABCD A0538 B70103 C9205 D4970 Resultado
22
Hopcroft-Tarjan ABCD EF GH
23
A B C E F D
24
G H I
25
J K L
26
Desenvolvimento do trabalho Levantamento dos requisitos; Especifica ç ão do framework atrav é s de diagramas da UML; Especifica ç ão do modelo de persistência de grafos; Implementa ç ão do framework; Documenta ç ão do framework.
27
Requisitos do framework - Disponibilizar funções para criação e edição de grafos - Disponibilizar funções para gerar grafos - Permitir extrair propriedades de grafos - Disponibilizar um subconjunto de algoritmos clássicos - Permitir persistir e carregar grafos - Ser implementado utilizando o ambiente Fedora Eclipse 3.4.1 e a linguagem Java versão 6 - Conter documentação detalhada sobre os recursos oferecidos pelo framework Requisitos funcionais Requisitos não-funcionais
28
Diagrama de casos de uso
29
Diagrama de pacotes
30
Diagrama de classes
34
Diagrama de atividades
35
Diagrama de sequência
36
Modelo de persistência XML
37
Implementa ç ão - Java versão 6 - Fedora Eclipse 3.4.1 - DOM - JavaDoc - Estrutura do grafo - Persistência - Algoritmos de grafos - Geradores de grafos - Aplica ç ão de exemplo Técnicas e ferramentas utilizadas Implementação
38
Operacionalidade Estender classe Vertice; Instanciar grafo; Criar v é rtices e arestas; Executar algoritmos; Obter resultados.
39
Operacionalidade - Demonstra ç ão
40
Resultados e discussões Comparação entre algoritmos da teoria dos grafos Implementação de parte do framework na linguagem Objective-C O algoritmo ideal para cada tipo problema
41
Resultados e discussões Vértices Dijkstra Tempo (ms) Bellman-Ford Tempo (ms) Floyd-Warshall Tempo (ms) 103211 3091553 604269137 1004654446 20080943775 5001133453177766
42
Resultados e discussões VérticesConsultas Dijkstra Tempo (ms) Bellman-Ford Tempo (ms) Floyd-Warshall Tempo (ms) 105416 30151074056 603020147171 1005063165439 20010066532333882 500250158305231875219
43
Resultados e discussões VérticesConsultas Dijkstra Tempo (ms) Bellman-Ford Tempo (ms) Floyd-Warshall Tempo (ms) 10581113 3015797757 6030214326151 1005010141657436 20010013870366524352 500250546846190824085741
44
ALGORITMO DE PRIM OBJECTIVE-C
45
Comparativo JGRAPHT HACKBARTBRAUNFRAMEWORK Cria ç ão de grafos Estender classes Gerar grafos Persistir grafos Verificar propriedades Disponibiliza algoritmos Permite criar novos algoritmos Permite acompanhar execu ç ão de algoritmos Não possui a funcionalidadePossui a funcionalidade
46
Conclusão Requisitos foram cumpridos; Novos recursos adicionados Comparação de desempenho dos algoritmos; Criação de instâncias de grafos com muitos vértices e arestas; Verificação de propriedades dos grafos; Possibilidade de persistência dos grafos; DOM Documentação gerada.
47
Conclusão Baixo desempenho para trabalhar com grafos grandes; Muito consumo de memória para grafos com muitos vértices e arestas; Não está construída na aplicação de exemplo uma forma de ter uma representação visual do grafo criado. Limitações
48
Extensões Verificar outras propriedades de grafos: cordal, hipercubo, perfeito, cactos, planar, isomorfo a outro grafo; Gerar os tipos de grafos acima comentados; Implementar recursos para trabalhar com o grafo em modo visual; Possibilitar a exporta ç ão do grafo para outros formatos; Implementar outros algoritmos da teoria dos grafos: emparelhamento perfeito, clique m á ximo, ciclo hamiltoniano, ciclo euleriano, relabel-to- front, Boruvka.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.