Análise e Síntese de Algoritmos. Caminhos Mais Curtos para Todos os Pares CLRS, Cap. 25
|
|
- Zaira Castilho Varejão
- 9 Há anos
- Visualizações:
Transcrição
1 Análise e Síntese de Algoritmos Caminhos Mais Curtos para Todos os Pares CLRS, Cap. 25
2 Contexto Algoritmos Elementares em Grafos (CLR, Cap. 22) BFS & DFS Ordenação Topológica & SCCs Árvores Abrangentes de Menor Custo (CLR, Cap. 23) Algoritmos de Borůvka, Kruskal e Prim Caminhos mais curtos com fonte única (CLR, Cap. 24) Algoritmos de Dkstra e Bellman-Ford Caminhos mais curtos entre todos os pares (CLR, Cap. 25) Solução Recursiva e Algoritmo de Floyd-Warshall 2005/2006 Análise e Síntese de Algoritmos 2
3 Resumo Caminhos Mais Curtos entre Todos os Pares (APSPs) Definições Soluções recursivas Algoritmo de Floyd-Warshall Fecho Transitivo Algoritmo de Johnson 2005/2006 Análise e Síntese de Algoritmos 3
4 Caminhos Mais Curtos entre Todos os Pares (APSPs) Observações Encontrar caminhos mais curtos entre todos os pares de vértices Se pesos não negativos Utilizar algoritmo de Dkstra, assumindo cada vértice como fonte: O(V E lg V) (que é O(V 3 lg V) se grafo é denso) Se pesos negativos Utilizar algoritmo de Bellman-Ford, assumindo cada vértice como fonte: O(V 2 E) (que é O(V 4 ) se grafo é denso) Objectivo: Encontrar algoritmos mais eficientes 2005/2006 Análise e Síntese de Algoritmos 4
5 APSPs Definições Representação: utilização de matriz de adjacências Pesos dos arcos: matriz (n x n) W = (w ) w = 0 peso do arco (i, j) se i se i se i = j j e j e ( i, j) ( i, j) E E Representação dos caminhos mais curtos: matriz (n x n) D = (d ) d é o peso do caminho mais curto entre os vértices i e j d = δ(v i,v j ) 2005/2006 Análise e Síntese de Algoritmos 5
6 APSPs Definições Representação de caminhos mais curtos Matriz de predecessores = (π ) π : NIL: se i = j ou não existe caminho de i para j Caso contrário: predecessor de j num caminho mais curto de i para j Sub-grafo de predecessores de G para i, G π, i = (V π, i, E π, i ) V { j V : π NIL} {} i π, i = E {( π, j) : j V {i}} π, i = π, i Sub-grafo induzido pela linha i de Exemplo 2005/2006 Análise e Síntese de Algoritmos 6
7 APSPs Solução Recursiva Sub-caminhos de caminhos mais curtos são também caminhos mais curtos Peso mínimo em caminho de vértice i para vértice j (m) que contém não mais do que m arcos: Com m = 0, existe caminho de i para j se e só se i = j ( ) 0 se i = j d 0 = se i j Para m 1, { { } ( m 1),min d + w = min{ d w } ( m) ( m 1) ( m 1) d = min d + 1 k n ik kj 1 k n ik d kj w jj = /2006 Análise e Síntese de Algoritmos 7
8 APSPs Solução Recursiva Calcular sequência de matrizes D (1),, D (n-1), onde D (n-1) contém os pesos dos caminhos mais curtos D (1) = W Extend-Shortest-Paths(D,W) n = rows[w] D : matriz (n x n) for i = 1 to n for j = 1 to n d' = for k = 1 to n ' ' d = min d,dik + return D ( w ) Complexidade: Θ(n 3 ) p/ cada matriz; Total: Θ(n 4 ) 2005/2006 Análise e Síntese de Algoritmos 8 kj
9 APSPs Solução Recursiva Genericamente: calcular D (i) em função de D (i-1) (e de W) Complexidade para cálculo de D (n) : Θ(n 4 ) OBS: é possível melhorar complexidade reduzindo número de matrizes calculadas: Θ(n 3 lg n) A cada iteração, calcular D (2i) em função de D (i) e de D (i) 2005/2006 Análise e Síntese de Algoritmos 9
10 APSPs Algoritmo de Floyd-Warshall Caracterização de um caminho mais curto Vértices intermédios de caminho p = v 1,v 2,,v k, {v 2,,v k-1 } Considerar todos os caminhos entre i e j com vértices intermédios retirados do conjunto {1,,k} e seja p um caminho mais curto (p é simples) Se k não é vértice intermédio de p, então todos os vértices intermédios de p estão em {1,,k-1} Se k é vértice intermédio de p, então existem caminhos p 1 e p 2, respectivamente de i para k e de k para j com vértices intermédios em {1,,k} k não é vértice intermédio de p 1 e de p 2 p 1 e p 2 com vértices intermédios em {1,,k-1} 2005/2006 Análise e Síntese de Algoritmos 10
11 APSPs Algoritmo de Floyd-Warshall k p 1 p 2 i j Formulação Vértices entre 1 e k-1 ( k ) w min d = 1 ik kj ( k 1) ( k 1) ( k ) ( d,d + d ) se k se k = 0 1 Vértices entre 1 e k 2005/2006 Análise e Síntese de Algoritmos 11
12 APSPs Algoritmo de Floyd-Warshall Floyd-Warshall(W) n = rows[w] D (0) = W for k = 1 to n for i = 1 to n for j = 1 to n k d return D (n) = min ( d,d + d ) ( ) ( k 1) ( k 1) ( k 1) ik kj Complexidade: Θ(n 3 ) Exemplo 2005/2006 Análise e Síntese de Algoritmos 12
13 Fecho Transitivo de um Grafo Dirigido Dado um grafo G = (V, E) dirigido, o fecho transitivo é definido por G* = (V, E*) tal que, E*={(i, j): existe caminho de i para j em G} Algoritmo: Atribuir a cada arco peso 1 e utilizar algoritmo de Floyd- Warshall Se d, então (i, j) E* Complexidade: Θ(n 3 ) 2005/2006 Análise e Síntese de Algoritmos 13
14 Fecho Transitivo de um Grafo Dirigido Outro algoritmo: Substituir operações min e + por e, respectivamente Se existe caminho de i para j com todos os vértices ( ) intermédios em {1,2,,k}, t k = 1 ( ) Caso contrário, t k 0 Formulação: = ( ) 0 se i j e ( i, j) = 1 se i = j ou ( i, j) t 0 E E t ( t t ) se k 1 ( k ) ( k 1) ( k 1) ( k 1) = t ik kj Complexidade: Θ(n 3 ) (mas constantes menores) Exemplo 2005/2006 Análise e Síntese de Algoritmos 14
15 Fecho Transitivo de um Grafo Dirigido Transitive-Closure(G) n = V[G] for i = 1 to n for j = 1 to n if i = j or (i, j) E ( ) t 0 = 1 else ( ) t 0 = 0 for k = 1 to n for i = 1 to n for j = 1 to n k k t return T (n) = t ( t t ) ( ) ( 1) ( k 1) ( k 1) ik kj 2005/2006 Análise e Síntese de Algoritmos 15
16 APSPs Algoritmo de Johnson Utiliza algoritmos de Dkstra e de Bellman-Ford Baseado em re-pesagem dos arcos Se arcos com pesos não negativos, utilizar Dkstra para cada vértice Caso contrário, calcular novo conjunto de pesos não negativos w, tal que Um caminho mais curto de u para v com função w é também caminho mais curto com função w Para cada arco (u, v) o peso w (u, v) é não negativo 2005/2006 Análise e Síntese de Algoritmos 16
17 APSPs Algoritmo de Johnson Dado G = (V, E), com função de pesos w e de repesagem h: V R, seja w (u, v) = w(u, v) + h(u) - h(v) Seja p = v 0,v 1,,v k. Então w(p) = δ(v 0, v k ) se e só se w (p) = δ (v 0, v k ) = δ(v 0, v k ) + h(v 0 ) - h(v k ) Existe ciclo negativo com w se e só se existe ciclo negativo com w w' ( p) = w( p) + h( v ) h( ) w' 0 v k k ( p) = w' ( v,v ) = = i= 1 k i= 1 k i= 1 i 1 ( w( v,v ) + h( v ) h( v )) w i 1 ( v,v ) + h( v ) h( v ) = w( p) + h( v ) h( v ) i 1 i i i 2005/2006 Análise e Síntese de Algoritmos 17 0 i 1 k i 0 k
18 APSPs Algoritmo de Johnson w ( p) = δ( v,v ) w' ( p) = δ' ( v, ) 0 k 0 v k Hipótese: existe p z, caminho mais curto de v 0 para v k com w w' p z < w' p Então: ( ) ( ) w ( p ) + h( v ) h( v ) = w' ( p ) < w' ( p) = w( p) + h( v ) h( v ) z 0 k z 0 k O que implica w( p z ) < w( p) Mas p é caminho mais curto com w; contradição! OBS: Para quaisquer caminhos p 1, p 2 entre v 0 e v k, verifica-se w(p 1 ) < w(p 2 ) w (p 1 ) < w (p 2 ) 2005/2006 Análise e Síntese de Algoritmos 18
19 APSPs Algoritmo de Johnson w ( p) = δ( v,v ) w' ( p) = δ' ( v, ) 0 k 0 v k Semelhante: Admitir p z como caminho mais curto de v 0 para v k com w (ou considerar observação anterior) Existe ciclo negativo com w se e só se existe com w c ( ) 0 = v 0,v1, K,v k ; v 0 = vk; w c < w' ( c) = w( c) + h( v ) h( v ) w( c) 0 k = Caminhos mais curtos e ciclos negativos inalteráveis com mudanças na função de pesos w (u, v) = w(u, v) + h(u) - h(v) 2005/2006 Análise e Síntese de Algoritmos 19
20 APSPs Algoritmo de Johnson Dado G = (V, E), criar G = (V,E ): V = V { s } E = E { (s, v) : v V } ( v V, atingível a partir de s) w(s, v) = 0 Com ciclos negativos: Detectados com algoritmo de Bellman-Ford aplicado a G! Sem ciclos negativos: Definir: h(v) = δ(s, v) Dado que: h(v) h(u) + w(u, v) Verifica-se: w (u, v) = w(u, v) + h(u) - h(v) 0! /2006 Análise e Síntese de Algoritmos 20
21 APSPs Algoritmo de Johnson Executar Dkstra para todo o u V Cálculo de δ (u,v), para u V Mas também, δ (u,v) = δ(u, v) + h(u) - h(v) δ(u,v) = δ (u, v) + h(v) - h(u) 2005/2006 Análise e Síntese de Algoritmos 21
22 APSPs Algoritmo de Johnson Johnson(G) Representar G if Bellman-Ford(G,w,s) = FALSE print Indicar ciclo negativo else atribuir h(v) = δ(s, v), calculado com Bellman-Ford calcular w (u,v) = w(u,v) + h(u) - h(v) para cada arco (u,v) foreach v V[G] executar Dkstra(G,w,v); calcular δ (u, v) d uv = δ (u, v) + h(v) - h(u) return D 2005/2006 Análise e Síntese de Algoritmos 22
23 APSPs Algoritmo de Johnson Complexidade: Bellman-Ford: O(V E) Executar Dkstra para cada vértice: O(V (V + E) lg V) Assumindo amontoado (heap) binário Total: O(V (V + E) lg V) Útil para grafos esparsos Exemplo 2005/2006 Análise e Síntese de Algoritmos 23
24 Revisão Caminhos Mais Curtos entre Todos os Pares (APSPs) Definições Solução recursiva Algoritmo de Floyd-Warshall Fecho Transitivo Algoritmo de Johnson A seguir: Fluxos máximos em grafos (CLR, Cap. 26) 2005/2006 Análise e Síntese de Algoritmos 24
Análise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Caminhos Mais Curtos para Todos os Pares CLRS, Cap. 25 Contexto Algoritmos Elementares em Grafos (CLR, Cap. 22) BFS & DFS Ordenação Topológica & SCCs Árvores Abrangentes
Leia mais2006/2007 Análise e Síntese de Algoritmos 2
Análise e Síntese de Algoritmos Árvores Abrangentes de Menor Custo CLRS, Cap. 23 Resumo Árvores Abrangentes de Menor Custo Minimum-Spanning Trees (MSTs) Algoritmo (greedy) genérico Prova de optimalidade
Leia maisEduardo Camponogara. DAS-9003: Introdução a Algoritmos
Caminhos Mínimos entre Todos os Vértices 1/ 48 Caminhos Mínimos entre Todos os Vértices Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-9003: Introdução
Leia maisCaminhos mínimos de todos os pares
Caminhos mínimos de todos os pares Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução
Leia maisGrafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de todos os pares
Grafos Caminhos mais curtos de todos os pares Conteúdo Algoritmos Baseado em multiplicação de matrizes Algoritmo de Floyd-Warshall Agoritmo de Johnson para grafos esparsos Referências Dado um grafo orientado
Leia maisINSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DA REPESCAGEM DO 1 o TESTE
INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos Ano Lectivo de 00/006 o Semestre RESOLUÇÃO DA REPESCAGEM DO o TESTE I. (,+,+,0 =,0 val.) ) Considere o seguinte grafo. d f i l a c g h b e j k
Leia maisAnálise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Caminhos Mais Curtos com Fonte Única [CLRS, Cap. 24] 2014/2015 Contexto Revisão [CLRS, Cap.1-13] Fundamentos; notação; exemplos Algoritmos em Grafos [CLRS, Cap.21-26] Algoritmos
Leia maisFluxo Máximo a Custo Mínimo
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Programa de Educação Tutorial (PET) Demontiê Junior (demontie@dsc.ufcg.edu.br) Fluxo
Leia maisEduardo Camponogara. DAS-9003: Introdução a Algoritmos
Caminhos Mínimos Com Uma Fonte 1/74 Caminhos Mínimos Com Uma Fonte Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-9003: a Algoritmos Caminhos Mínimos
Leia maisAlgoritmo Floyd-Warshall. Problema dos caminhos mínimos entre todos os pares. Programação dinâmica
Algoritmo Floyd-Warshall S. Problema dos caminhos mínimos entre todos os pares Problema: Dado um digrafo com custo nos arcos, determinar, para cada par de vértices s, t o custo de um caminho mínimo de
Leia maisProjeto e Análise de Algoritmos. Método Guloso
Projeto e Análise de Algoritmos Método Guloso Altigran Soares da Silva Universidade Federal do Amazonas Departamento de Ciência da Computação Árvore Geradora Um árvore geradora de um grafo G é um subgrafo
Leia maisOtimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias
Leia maisGrafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos
Grafos Caminhos mais curtos de única origem Conteúdo Subestrutura ótima Inicialização Propriedades de caminhos mais curtos Algoritmos Algoritmo de Bellman-Ford Caminhos mais curtos de única origem em gaos
Leia maisAnálise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22
Análise e Síntese de Algoritmos Algoritmos em Grafos CLRS, Cap. 22 Mudança no Horário Aulas Teóricas de 4ª feira 10:30 12:00 Sala: FA1 12:00 13:30 Sala: FA1 Deixa de haver aula teórica às 9:00 por troca
Leia maisGrafos Msc. Daniele Carvalho Oliveira. Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1
Grafos Msc. Daniele Carvalho Oliveira Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1 Árvore Geradora Mínima 2 Porque é um problema interessante Suponha que queremos
Leia maisCaminhos mínimos de única origem
Caminhos mínimos de única origem Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução
Leia maisAnálise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Algoritmos Elementares em Grafos [CLRS, Cap. 22] 24/25 Contexto Revisão [CLRS, Cap.-3] Fundamentos; notação; exemplos Algoritmos em Grafos [CLRS, Cap.2-26] Algoritmos elementares
Leia maisSub-grafo. Árvore Geradora Mínima
Comentários da aula anterior Componentes Fortemente Conectados (algoritmo) 1. Chama BuscaEmProfundidade (G) para obter os tempos de término (t[u], ou f[u]) para todos os vértices de G, isto é, enquanto
Leia maisGrafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma
Grafos Árvores espalhadas mínimas Conteúdo Introdução Como construir uma árvore geradora miníma Algoritmos Referências Introdução Dado um grafo conectado não orientado G = (V, E) e uma função peso w :
Leia maisCaminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford. O problema tem subestrutura óptima
Caminho mais curto a partir de um nó Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford Fernando Lobo Algoritmos e Estrutura de Dados II Input: Um grafo com pesos nos arcos G =
Leia maisCaminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford
Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 28 Caminho mais curto a partir de um nó Input: Um grafo com pesos nos arcos
Leia maisO estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste
O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os
Leia maisGrafos parte 2. Percorrendo um grafo. Correção. Eficiência. Percorrendo um Grafo. Percorrendo um Grafo. Percorrendo um Grafo
Percorrendo um grafo Grafos parte 2 SCC-203 Algoritmos e Estruturas de Dados 2 Rosane 2010 Baseado em material de professores dos anos anteriores Percorrendo um Grafo Percorrer um grafo é um problema fundamental
Leia maisGrafos parte 2* Algoritmos e Estruturas de Dados II SCC-203 Rosane 2010/2011. *Baseado em material de professores dos anos anteriores
Grafos parte 2* Algoritmos e Estruturas de Dados II SCC-203 Rosane 2010/2011 *Baseado em material de professores dos anos anteriores Divisão do Arquivo 1ª parte Percorrendo um grafo Eficiência, Correção
Leia maisAnálise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34
Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais
Leia maisGrafos Parte 2. SCC-603 Algoritmos e Estruturas de Dados II. Profª. Rosane Minghim / Baseado em material de professores dos anos anteriores
Grafos Parte 2 SCC-603 Algoritmos e Estruturas de Dados II Profª. Rosane Minghim / 2012 Baseado em material de professores dos anos anteriores Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo
Leia maisAnálise e Síntese de Algoritmos. Fluxos Máximos em Grafos CLRS, Cap. 26
Análise e Síntese de Algoritmos Fluxos Máximos em Grafos CLRS, Cap. 26 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais
Leia maisAnálise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15
Análise e Síntese de Algoritmos Programação Dinâmica CLRS, Cap. 15 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais curtos
Leia maisComplexidade de Algoritmos
Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Algoritmos de Grafos Complexidade
Leia maisDemonstração. Relação invariante chave. Implementações do algoritmo de Prim. Implementação grosseira
Algoritmo de Prim Simulação S. Algoritmos em Grafos º sem / Franja A franja (= fringe) de uma subárvore T é o conjunto de todas as arestas que têm uma ponta em T e outra ponta fora Exemplo: As arestas
Leia maisMatemática Discreta. Leandro Colombi Resendo. Matemática Discreta Bacharel em Sistemas de Informações
Matemática Discreta Leandro Colombi Resendo Algoritmos para Grafos Grafos Direcionados e Relações Binárias; o Algoritmo de Warshall Caminho de Euler e Circuito Hamiltoniano Caminho Mínimo e Árvore Geradora
Leia maisAlgoritmo de Kruskal. Algoritmo de Kruskal. Floresta geradora 26. Subfloresta S 20.3
Algoritmo de Kruskal Algoritmo de Kruskal S. Algoritmos em Grafos º sem / Subfloresta Uma subfloresta de G é qualquer floresta F que seja subgrafo de G. Exemplo: As arestas vermelhas que ligam os vértices
Leia maisAnálise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Fluxos Máximos em Grafos CLRS, Cap. 26 Contexto Algoritmos elementares em grafos (CLR, Cap. 22) Árvores abrangentes de menor custo (CLR, Cap. 23) Caminhos mais curtos com
Leia maisAnálise e Projeto de Algoritmos
Análise e Projeto de Algoritmos 2018.2 Classes P e NP P São os problemas que podem ser resolvidos em tempo polinomial por uma Máquina de Turing Determinística. NP São os problemas que podem ser decididos
Leia maisAlgoritmo de Dijkstra Estudo e Implementação
Teoria dos Grafos 0/0 Algoritmo de Dijkstra Estudo e Implementação Professora: Claudia Boeres Alunos: José Alexandre Macedo Maycon Maia Vitali Problema do Caminho Mínimo Qual o caminho mínimo entre um
Leia maisAnálise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Algoritmos em Grafos Estruturas de Dados para Conjuntos Disjuntos Programação Linear Programação Dinâmica Algoritmos Greedy
Leia maisÁrvores Binárias e Busca. Jeane Melo
Árvores Binárias e Busca Jeane Melo Roteiro Parte 1 Árvores Relação hierárquica Definição Formal Terminologia Caminhamento em Árvores Binárias Exemplos Parte 2 Busca seqüencial Busca Binária Grafos Conjunto
Leia maisAlgoritmos em Grafos COM11087-Tópicos Especiais em Programação I
Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I edmar.kampke@ufes.br Introdução Teoria dos Grafos é o estudo das propriedades e estruturas dos grafos. O objetivo é, após modelar um problema
Leia maisOtimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).
Leia maisAnálise e Síntese de Algoritmos. Fluxos Máximos em Grafos CLRS, Cap. 26
Análise e Síntese de Algoritmos Fluxos Máximos em Grafos CLRS, Cap. 26 Contexto Algoritmos elementares em grafos (CLR, Cap. 22) Árvores abrangentes de menor custo (CLR, Cap. 23) Caminhos mais curtos com
Leia maisTeoria dos Grafos. Edson Prestes
Edson Prestes Grafos Cliques Maximais Para determinar os cliques maximais de um grafo G podemos usar o método de Maghout em Dado o grafo abaixo, calcule Determine os conjuntos independentes maximais em
Leia mais06 Grafos: Caminhos Mínimos SCC0503 Algoritmos e Estruturas de Dados II
06 Grafos: Caminhos Mínimos SCC050 Algoritmos e Estruturas de Dados II Paulo H. R. Gabriel Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 011/1 Paulo H.
Leia maisProblema do Caminho Mínimo
Departamento de Engenharia de Produção UFPR 63 Problema do Caminho Mínimo O problema do caminho mínimo ou caminho mais curto, shortest path problem, consiste em encontrar o melhor caminho entre dois nós.
Leia maisProblemas de Fluxo em Redes
CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação
Leia maisAnálise e Síntese de Algoritmos. Revisão CLRS, Cap. 4, 6
Análise e Síntese de Algoritmos Revisão CLRS, Cap. 4, 6 Contexto Revisão Algoritmos e complexidade Notação Fundamentos: somatórios, logaritmos, etc. Exemplos de algoritmos Ordenação Procura Selecção 2007/2008
Leia mais2 Problema das p-medianas
2 Problema das p-medianas 2.1 Definição O PMNC é definido da seguinte forma: determinar quais p facilidades (p m, onde m é o número de pontos onde podem ser abertas facilidades) devem obrigatoriamente
Leia maisGrafos: árvores geradoras mínimas. Graça Nunes
Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as
Leia maisA-Graph: Uma ferramenta computacional de suporte para o ensino-aprendizado da disciplina Teoria dos Grafos e seus Algoritmos
A-Graph: Uma ferramenta computacional de suporte para o ensino-aprendizado da disciplina Teoria dos Grafos e seus Algoritmos Luis Arturo Pérez Lozada 1 1 Centro de Matemática, Computação e Cognição Universidade
Leia maisProblema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST)
Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST) Alguns problemas de otimização combinatória podem ser formulados
Leia maisCAPÍTULO 2. Grafos e Redes
CAPÍTULO 2 1. Introdução Um grafo é uma representação visual de um determinado conjunto de dados e da ligação existente entre alguns dos elementos desse conjunto. Desta forma, em muitos dos problemas que
Leia maisÁrvores Binárias de Busca
Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda
Leia maisAcessibilidade e Fecho Transitivo de Grafos Dirigidos
1 Acessibilidade e Fecho Transitivo de Grafos Dirigidos 1. Fecho transitivo 2. Multiplicação de matrizes booleanas 3. Algoritmo de Warshall 4. Equivalência em termos de complexidade computacional com o
Leia maisMelhores momentos AULAS 1-8
Melhores momentos AULAS 1-8 Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = e t = 1 a resposta é SIM 2 1 4 3 5 Procurando
Leia maisAlgoritmos e Estrutura de Dados. Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira Introdução Uma árvore de pesquisa binária são estruturas de dados que admitem operações
Leia maisPesquisa Operacional Programação em Redes
Pesquisa Operacional Programação em Redes Profa. Alessandra Martins Coelho outubro/2013 Modelagem em redes: Facilitar a visualização e a compreensão das características do sistema Problema de programação
Leia maisAnálise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Algoritmos de Aproximação CLRS, Cap. 35 Resumo Algoritmos de aproximação Algoritmos, com complexidade polinomial, que calculam soluções aproximadas para problemas de optimização
Leia maisProgramação Dinâmica: Algoritmo de Bellman-Ford
Programação Dinâmica: Algoritmo de Bellman-Ford César Garcia Daudt Caio Licks Pires de Miranda Instituto de Informática Universidade Federal do Rio Grande do Sul 22/11/2010 Resumo Este artigo se propõe
Leia maisIES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br
IES-300 Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br Teste de Caixa Branca 2 Teste de Componentes: Caixa Branca Teste de Caixa Branca Grafo de Fluxo de
Leia maisGrafos: caminhos (matriz adjacência)
Grafos: caminhos (matriz adjacência) Algoritmos e Estruturas de Dados 2 Graça Nunes 1 O problema do menor caminho Um motorista deseja encontrar o caminho mais curto possível entre duas cidades do Brasil
Leia maisBCC204 - Teoria dos Grafos
BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal
Leia maisGrafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32
Grafos - Introdução Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/2015 1 / 32 Conceito Definição de Grafo Formalmente, um grafo é: Um conjunto de nós/vértices (V).
Leia maisBC-0506: Comunicação e Redes Algoritmos em Grafos
BC-0506: Comunicação e Redes Algoritmos em Grafos Santo André, 2Q2011 1 Parte 1: Algoritmos de Busca Rediscutindo: Representações em Grafos Matriz de Adjacências Matriz de Incidências Lista de Adjacências
Leia maisTeoria dos Grafos Aula 6
Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes
Leia maisBusca em largura. Algoritmos em Grafos. Marco A L Barbosa
Busca em largura Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução Exemplo de
Leia maisINF 1010 Estruturas de Dados Avançadas
INF Estruturas de Dados Avançadas Grafos //8 DI, PUC-Rio Estruturas de Dados Avançadas. Primeiro uso conhecido 7 Euler: pontes de Königsberg //8 DI, PUC-Rio Estruturas de Dados Avançadas. Primeiro uso
Leia maisPercursos e Conectividade em Grafos Depth-First Search. DFS: Depth-First Search (pesquisa em profundidade)
Percursos e Conectividade em Grafos Depth-First Search Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 23 DFS: Depth-First Search (pesquisa em profundidade) Assim que se descobre um nó, começa-se
Leia maisAula 20. Roteamento em Redes de Dados. Eytan Modiano MIT
Aula 20 Roteamento em Redes de Dados Eytan Modiano MIT 1 Roteamento Deve escolher rotas para vários pares origem, destino (pares O/D) ou para várias sessões. Roteamento datagrama: a rota é escolhida para
Leia maisTeoria dos Grafos Aula 5
Teoria dos Grafos Aula Aula passada Explorando grafos Mecanismos genéricos Ideias sobre BFS, DFS Aula de hoje Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Busca em Grafos Problema
Leia maisO estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste
O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os
Leia maisAula 21: Roteamento em Redes de Dados
Aula : Roteamento em Redes de Dados Slide Redes de Pacotes Comutados Mensagens dividas em Pacotes que são roteados ao seu destino PC PC PC Rede de Pacotes PC PC PC PC Buffer Pacote Comutado Slide Roteamento
Leia maisPERT Charts, para gestão de projectos
PERT Charts, para gestão de projectos Projectos complexos são compostos por uma serie de tarefas, algumas das quais têm que ser executadas sequêncialmente, enquanto outras podem ser excutadas em paralelo
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 09 Árvore Geradora Mínima Edirlei Soares de Lima Árvore Geradora Mínima Dado um grafo não direcionado conectado G, uma árvore T é chamada de
Leia maisPAA-DCC-UFAM. Grafos. Universidade Federal do Amazonas Departamento de Eletrônica e Computação
Grafos Universidade Federal do Amazonas Departamento de Eletrônica e Computação Grafos () Um grafo é composto por um conjunto de vértices e um conjunto de arestas Cada aresta liga dois vértices do grafo
Leia maisGrafos e Algoritmos de Busca
Grafos e Algoritmos de Busca /65 Grafos e Algoritmos de Busca Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-93: Introdução a Algoritmos Grafos e Algoritmos
Leia maisVolmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45
Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas
Leia maisINF 1010 Estruturas de Dados Avançadas
INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Aplicações de grafos grafo vértices arestas Cronograma tarefas restrições de preferência Malha viária interseções
Leia maisTeoria dos Grafos. Edson Prestes
Edson Prestes Grafos Enumeração de Passeios/Caminhos O processo associado à enumeração de caminhos de um grafo/dígrafo é semelhante ao processo de contagem com a diferença de que usaremos uma matriz de
Leia maisESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.
ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron
Leia maisTeoria dos Grafos. Edson Prestes
Edson Prestes Introdução Mais sobre grafos.. Cintura A cintura de um grafo é o comprimento do menor ciclo do grafo. Um grafo sem ciclos tem uma cintura de comprimento infinito. Diâmetro de um grafo O diâmetro
Leia maisComplexidade de Algoritmos. Edson Prestes
Edson Prestes Idéias básicas Um algoritmo guloso seleciona, a cada passo, o melhor elemento pertencente a entrada. Verifica se ele é viável - vindo a fazer parte da solução ou não. Após uma seqüência de
Leia maisPointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T
Pointer Jumping T = (V,E) : árvore direcionada odg(v) e idg(v): graus de saída e entrada do vértice v V um vértice r tal que v V-{r}, odg(v) = 1, odg(r)=0 v V-{r}, um caminho de v a r O vértice r é dita
Leia maisAnálise e Síntese de Algoritmos. Revisão CLRS, Cap. 7-10
Análise e Síntese de Algoritmos Revisão CLRS, Cap. 7-10 Contexto Revisão Algoritmos e complexidade Notação Fundamentos: somatórios, recorrências, etc. Exemplos de algoritmos Ordenação Procura Selecção
Leia maisAlgoritmo de Dijkstra Wikipédia, a enciclopédia livre
1 de 8 26/08/2013 23:10 Algoritmo de Dijkstra Origem: Wikipédia, a enciclopédia livre. O algoritmo de Dijkstra, concebido pelo cientista da computação holandês Edsger Dijkstra em 1956 e publicado em 19591
Leia maisTestes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins
Testes Baseados na Implementação (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins 1 Tópicos O que é Grafo de fluxo de controle Critérios de cobertura 2 Referências B.Beizer R.Binder
Leia maisO estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste
O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os
Leia maisÁrvores Árvores Geradoras de Custo Mínimo 0/16
Conteúdo 1 Árvores 2 Árvores Geradoras de Custo Mínimo Árvores Árvores Geradoras de Custo Mínimo 0/16 Árvores Definição (Grafo Acíclico) Um grafo acíclico é um grafo que não contém ciclos. Árvores Árvores
Leia maisOalgoritmo de Dijkstra
Dijkstra Oalgoritmo de Dijkstra O algoritmo de Dijkstra, concebido pelo cientista da computação holandês Edsger Dijkstra em 1956 e publicado em 1959, soluciona o problema do caminho mais curto num grafo
Leia maisDepartamento de Engenharia de Produção UFPR 57
Departamento de Engenharia de Produção UFPR 57 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas em redes aparecem
Leia maisJoaquim J. Júdice. Pedro C. Martins. Marta B. Pascoal. Jorge P. Santos OPTIMIZAÇÃO EM REDES. Departamento de Matemática Universidade de Coimbra
Joaquim J Júdice Pedro C Martins Marta B Pascoal Jorge P Santos OPTIMIZAÇÃO EM REDES Departamento de Matemática Universidade de Coimbra 006 Conteúdo Introdução Alguns Problemas de Optimização em Redes
Leia maisAlgoritmos e Estruturas de Dados
Introdução aos Algoritmos e Estruturas de Dados 2 o Teste - A Ano lectivo: 2010/2011 2 o Semestre RESOLUÇÃO DO 2 o TESTE Grupo I (2.0 + 2.5 + 2.0 = 6.5 val.) I.a) Considere os tipos enum ocasiao e Presente
Leia maisCAMINHOS, CIRCUITOS, CAMINHOS MÍNIMOS E CONEXIDADE
CAPíTULO 2 CAMINHOS, CIRCUITOS, CAMINHOS MÍNIMOS E CONEXIDADE Neste captulo tratamos de tr^es classes especiais de grafos. Na primeira sec~ao apresentamos a classe dos caminhos e noc~oes que permeiam essa
Leia maisMatemática para Ciência de Computadores
Matemática para Ciência de Computadores 1 o Ano - LCC & ERSI Luís Antunes lfa@ncc.up.pt DCC-FCUP Complexidade 2002/03 1 Representação de Relações Definição: Uma relação binária de um conjunto A num conjunto
Leia maisBusca em Largura. Adaptado de Humberto C. B. Oliveira
Busca em Largura Adaptado de Humberto C. B. Oliveira Últimas aulas Introdução: História Aplicações Conceitos Básicos: Grafo simples Grafo completo/vazio Grafo não orientado: Arestas laço Arestas paralelas
Leia maisCap. 2 Conceitos Básicos em Teoria dos Grafos
Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os
Leia maisFábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ
Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Suponha que temos um grupo de pessoas (funcionário de uma empresa) que serão submetidos a um treinamento. Queremos identificar os grupos de
Leia maisCiclos hamiltonianos e o problema do caixeiro viajante
Ciclos hamiltonianos e o problema do caixeiro viajante Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.
Leia maisAnálise de complexidade
Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura
Leia maisPrograma. 1 Parte 1 - Conjuntos e Aplicações. 1 Conjuntos. 4 Indução matemática e divisibilidade. 5 Congruências lineares
Programa Matemática Discreta 2007/08 Jorge Manuel L. André FCT/UNL 1 Parte 1 - Conjuntos e Aplicações 1 Conjuntos 2 Relações Binárias 3 Aplicações 4 Indução matemática e divisibilidade 5 Congruências lineares
Leia mais