Eduardo Camponogara. DAS-9003: Introdução a Algoritmos
|
|
- Benedicto Castilhos de Sá
- 5 Há anos
- Visualizações:
Transcrição
1 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
2 Caminhos Mínimos Com Uma Fonte 2/74 Sumário Algoritmo Bellman-Ford Algoritmo de Dijkstra Grafos Acíclicos
3 Caminhos Mínimos Com Uma Fonte 3/74 Sumário Algoritmo Bellman-Ford Algoritmo de Dijkstra Grafos Acíclicos
4 Caminhos Mínimos Com Uma Fonte 4/74 Cenário Um motorista deseja encontrar o caminho mais curto da cidade de Florianópolis/SC a Marilha/SP. Dado um mapa das rodovias brasileiras, no qual pares de cidades adjacentes são marcados, como podemos determinar a rota mais curta?
5 Caminhos Mínimos Com Uma Fonte 5/74 Cenário Um motorista deseja encontrar o caminho mais curto da cidade de Florianópolis/SC a Marilha/SP. Dado um mapa das rodovias brasileiras, no qual pares de cidades adjacentes são marcados, como podemos determinar a rota mais curta? Uma possibilidade consiste em enumerarmos todos os possíveis caminhos de Florianópolis a Marilha. Adicionar as distâncias em cada rota. Selecionar a rota mais curta.
6 Caminhos Mínimos Com Uma Fonte 6/74 Questão O método é satisfatório?
7 Caminhos Mínimos Com Uma Fonte 7/74 Desenvolvimentos Veremos como resolver problemas deste tipo de forma eficaz. Em problemas de caminhos mínimos, nos é dado um grafo direcionado G = (V,E) cujas arestas têm pesos. Os pesos são induzidos por uma função w : E R. O peso de um caminho p = (v 0,v 1,...,v k ) é a soma dos pesos das arestas: k 1 w(p) = w(v i,v i+1 ) i=0
8 Caminhos Mínimos Com Uma Fonte 8/74 Definição Definimos o peso (comprimento) do caminho de menor peso (mais curto) de um vértice u para v como: { min{w(p) : p é caminho de u v} δ(u,v) = + se não existir caminho
9 Caminhos Mínimos Com Uma Fonte 9/74 No exemplo do problema Florianópolis-Marilha, podemos modelar o mapa como um grafo: os vértices representam as cidades as arestas representam as rodovias, estradas, etc. os pesos das arestas representam as distâncias entre duas cidades
10 Caminhos Mínimos Com Uma Fonte 10/ 74 Variantes 1. Caminhos mínimos com um destino Encontre o caminho mais curto para um vértice t a partir de cada vértice u V. 2. Caminho mínimo entre um par de vértices Encontre o caminho mais curto de u para v 3. Todos os caminhos mínimos Encontre o caminho mínimo entre cada par u,v V
11 Caminhos Mínimos Com Uma Fonte 11/ 74 Pesos negativos Pesos negativos Em algumas instâncias do problema de caminhos mínimos com fonte única, podem existir arestas com pesos negativos. Se o grafo G = (V,E) não tiver ciclo com peso negativo alcançável a partir da fonte s, então δ(s,v) permanece bem definido para todo v V, mesmo se o grafo contiver algum ciclo negativo.
12 Caminhos Mínimos Com Uma Fonte 12/ 74 Pesos negativos Pesos negativos
13 Caminhos Mínimos Com Uma Fonte 13/ 74 Pesos negativos Pesos negativos Alguns algoritmos, como o algoritmo de Dijkstra, assumem que todos os pesos são não-negativos. Algoritmos como Bellman-Ford e Floyd-Warshall, entretanto, podem operar com arestas de peso negativo, desde que não existam ciclos de peso negativo. Tipicamente, estes algoritmos detectam a presença de ciclo negativo.
14 Caminhos Mínimos Com Uma Fonte 14/ 74 Representação Representação Estamos interessados não apenas na distância do caminho mais curto, mas também no caminho em si. A representação do caminho mais curto é similar àquela usada na busca em largura (breadth-first search) Dado um grafo G = (V,E), mantemos para cada vértice v V o seu predecessor π[v] que é outro vértice ou nil. Os algoritmos de caminhos mínimos definem os atributos π de maneira que a cadeia de predecessores originada em v, de trás pra frente, nos dá o caminho mais curto de s para v.
15 Caminhos Mínimos Com Uma Fonte 15/ 74 Representação Representação O grafo predecessor G π = (V π,e π ) induzido por π, após o término do algoritmo, produz a árvore de caminhos mínimos. G π é definido como segue: V π = {v V : π[v] nil} {s} E π = {(π[v],v) : v V π {s}}
16 Caminhos Mínimos Com Uma Fonte 16/ 74 Relaxações Relaxações Algoritmos de caminhos mínimos usam a técnica de relaxação, que decresce um limite superior (upper bound) para a distância mínima para cada vértice. Até que o limite superior se torne a própria distância: δ 1 (u) δ 2 (u)... δ k (u) = δ(s,u) Os algoritmos também exploram a propriedade de que o caminho mais curto entre dois vértices também é formado de caminhos mais curtos.
17 Caminhos Mínimos Com Uma Fonte 17/ 74 Relaxações Relaxações Lema Dado um grafo direcionado com peso nas arestas, G = (V,E), e a função peso nas arestas w : E R. Seja p = (v 1,v 2,...,v k ) um caminho mais curto de v 1 para v k em G. Para quaisquer 1 i < j k, seja p ij = (v i,v i+1,...,v j ) o subcaminho de p de v i para v j. Então, p ij é um caminho mínimo de v i para v j.
18 Caminhos Mínimos Com Uma Fonte 18/ 74 Relaxações Relaxações Lema Seja dado um grafo direcionado com peso nas arestas, G = (V,E), e a função peso nas arestas w : E R. Seja s um vértice correspondente à fonte. Então, para toda aresta (u,v) E, δ(s,v) δ(s,u)+w(u,v)
19 Caminhos Mínimos Com Uma Fonte 19/ 74 Relaxações Relaxações Vários algoritmos são baseados na técnica de relaxação. Para cada vértice v V, mantemos um atributo d[v], que é um limite superior (upper bound) no comprimento do caminho mais curto de s para v: d[v] δ(s,v) d[v] é uma estimativa para δ(s,v)
20 Caminhos Mínimos Com Uma Fonte 20/ 74 Relaxações Relaxações Initialize-Single-Source(G, s) 1) for each v V[G] 2) do d[v] 3) π[v] nil 4) d[s] = 0 Após a inicialização, π[v] = nil para todo v V, d[s] = 0, d[v] = para todo v V {s}.
21 Caminhos Mínimos Com Uma Fonte 21/ 74 Relaxações Relaxações Relax(u,v) 1) if d[v] > d[u]+w(u,v) 2) then d[v] d[u]+w(u,v) 3) π[v] u O propósito de relaxar uma aresta (u,v) consiste de testar se podemos melhorar a estimativa do caminho mais curto para v encontrado até então, por meio do caminho até u.
22 Caminhos Mínimos Com Uma Fonte 22/ 74 Relaxações Relaxações 5 u 2 v 9 5 u 2 v 6 Relax(u,v) Relax(u,v)
23 Caminhos Mínimos Com Uma Fonte 23/ 74 Propriedades Propriedades A corretude de algoritmos de caminhos mínimos é baseada em propriedades de caminhos mínimos e das relaxações.
24 Caminhos Mínimos Com Uma Fonte 24/ 74 Propriedades Desigualdade triangular Lema Para cada aresta (u,v) E, temos δ(s,v) δ(s,u)+w(u,v)
25 Caminhos Mínimos Com Uma Fonte 25/ 74 Propriedades Limite superior Lema Sempre temos d[v] δ(s,v) para todo vértice v V, e uma vez que d[v] = δ(s,v), a estimativa d[v] não muda.
26 Caminhos Mínimos Com Uma Fonte 26/ 74 Propriedades Inexistência de caminho Lema Se não existe caminho de s para v, então sempre temos d[v] = δ(s,v) = +
27 Caminhos Mínimos Com Uma Fonte 27/ 74 Propriedades Convergência Lema Se s u v é um caminho em G para certos vértices u,v V, e se d[u] = δ(s,u) em qualquer momento antes de relaxarmos a aresta (u,v), então após a relaxação da aresta (u,v) temos d[v] = δ(s,v) daí pra frente.
28 Caminhos Mínimos Com Uma Fonte 28/ 74 Propriedades Propriedade de relaxação de caminho Lema Seja p = (v 0,v 1,...,v k ) um caminho mais curto de s = v 0 para v k e as arestas de p são relaxadas na ordem (v 0,v 1 ), (v 1,v 2 ),..., (v k 1,v k ). Então d[v k ] = δ(s,v k ) Esta propriedade é garantida independentemente de quaisquer passos de relaxação ocorridos, até mesmo se eles são intermediários aos passos de relaxação das arestas em p.
29 Caminhos Mínimos Com Uma Fonte 29/ 74 Propriedades Subgrafo predecessor Lema Uma vez que d[v] = δ(s,v) para todo v V, o grafo predecessor G π é uma árvore de caminhos mínimos com raiz em s.
30 Caminhos Mínimos Com Uma Fonte 30/ 74 Algoritmo Bellman-Ford Sumário Algoritmo Bellman-Ford Algoritmo de Dijkstra Grafos Acíclicos
31 Caminhos Mínimos Com Uma Fonte 31/ 74 Algoritmo Bellman-Ford Algoritmo Bellman-Ford O algoritmo de Bellman-Ford resolve o problema de caminhos mínimos com uma fonte no caso geral, onde as arestas podem possuir peso negativo. O algoritmo retorna um valor Booleano indicando se foi ou não encontrado um ciclo de comprimento negativo alcançável a partir de s. Se não há ciclo negativo alcançável a partir de s, o algoritmo produz a árvore de caminhos mínimos com raiz em s e os seus respectivos comprimentos (pesos).
32 Caminhos Mínimos Com Uma Fonte 32/ 74 Algoritmo Bellman-Ford Algoritmo Bellman-Ford Bellman-Ford(G,w,s) 1) Initialize-Single-Source(G, s) 2) for i 1 to V[G] 1 3) do for each (u,v) E[G] 4) do Relax(u,v) 5) for each (u,v) E[G] 6) do if d[v] > d[u]+w(u,v) 7) then return FALSE 8) return TRUE
33 Caminhos Mínimos Com Uma Fonte 33/ 74 Algoritmo Bellman-Ford Grafo 6 t 5 2 x s y 9 z
34 Caminhos Mínimos Com Uma Fonte 34/ 74 Algoritmo Bellman-Ford Bellman-Ford: inicialização 6 t 5 2 x s y 9 z
35 Caminhos Mínimos Com Uma Fonte 35/ 74 Algoritmo Bellman-Ford Bellman-Ford: iteração 1 6 t x s y 9 z
36 Caminhos Mínimos Com Uma Fonte 36/ 74 Algoritmo Bellman-Ford Bellman-Ford: iteração 2 6 t x s y 9 2 z
37 Caminhos Mínimos Com Uma Fonte 37/ 74 Algoritmo Bellman-Ford Bellman-Ford: iteração 3 6 t x s y 9 2 z
38 Caminhos Mínimos Com Uma Fonte 38/ 74 Algoritmo Bellman-Ford Bellman-Ford: iteração 4 6 t x s y 9 2 z
39 Caminhos Mínimos Com Uma Fonte 39/ 74 Algoritmo Bellman-Ford Tempo de execução do algoritmo Bellman-Ford Fezendo V = n e E = m, podemos verificar que: Passo 1: O(n) Passo 2: Θ(n) Passo 3-4: Θ(1) Logo, o laço 2-4 leva Θ(nm) Laço 5-7 leva O(m) Conclusões: Portanto, Bellman-Ford executa em tempo Θ(nm). Para um grafo denso, m = Θ(n 2 ), o tempo de execução do algoritmo é Θ(n 3 ).
40 Caminhos Mínimos Com Uma Fonte 40/ 74 Algoritmo Bellman-Ford Bellman-Ford: corretude Lema Seja G = (V,E) um grafo direcionado com peso nas arestas Seja s V a fonte Seja w : E R a função peso Assuma que G não contém ciclos de peso negativo alcançáveis a partir de s Então, após V 1 passos do laço 2-4 do algoritmo Bellman-Ford, teremos d[v] = δ(s,v) para todo vértice v alcançável a partir de s.
41 Caminhos Mínimos Com Uma Fonte 41/ 74 Algoritmo Bellman-Ford Bellman-Ford: corretude Corolário Seja G = (V,E) um grafo direcionado com peso nas arestas Seja s V a fonte Seja w : E R a função peso Assuma que G não contém ciclos de peso negativo alcançáveis a partir de s Então, então para cada v V, existe um caminho de s para v se e somente se Bellman-Ford termina com d[v] < quando ele é aplicado sobre G.
42 Caminhos Mínimos Com Uma Fonte 42/ 74 Algoritmo Bellman-Ford Bellman-Ford: corretude Teorema Suponha que o algoritmo de Bellman-Ford executa sobre um grafo direcionado, G = (V,E), com função peso das arestas w : E R e tendo s como fonte. Se G não contém ciclos negativos, alcançáveis a partir de s, então: o algoritmo retorna TRUE; d[v] = δ(s,v) para todo v V; e o subgrafo predecessor Gπ é uma árvore de caminhos mínimos com raiz em s. Se G contém um ciclo negativo (alcançável a partir de s), então o algoritmo retorna FALSE.
43 Caminhos Mínimos Com Uma Fonte 43/ 74 Algoritmo de Dijkstra Sumário Algoritmo Bellman-Ford Algoritmo de Dijkstra Grafos Acíclicos
44 Caminhos Mínimos Com Uma Fonte 44/ 74 Algoritmo de Dijkstra Algoritmo de Dijkstra Princípios O algoritmo de Dijkstra resolve o problema de caminhos mínimos com uma fonte em um grafo direcionado G = (V,E), cujas arestas apresentam pesos não-negativos. O algoritmo mantém um conjunto S de vértices para os quais a distância do caminho mais curto a partir de s já foi computada. Ou seja, para todo v S, temos d[v] = δ(s,v). O algoritmo iterativamente seleciona um vértice u V S que possua a menor estimativa de distância, d[u] = min{d[v] : v V S}, e insere u em S. Ao mesmo tempo que relaxa as arestas que emanam de u.
45 Caminhos Mínimos Com Uma Fonte 45/ 74 Algoritmo de Dijkstra Algoritmo de Dijkstra S V S v 1 u 1 v 2 u 2 u 3 v 3 u 4
46 Caminhos Mínimos Com Uma Fonte 46/ 74 Algoritmo de Dijkstra Algoritmo de Dijkstra Dijkstra(G,w,s) 1) Initialize-Single-Source(G, s) 2) S 3) Q = V[G] 4) while Q 5) do u Extract min(q) 6) S S {u} 7) for each (u,v) Adj[u] 8) do Relax(u,v,w)
47 Caminhos Mínimos Com Uma Fonte 47/ 74 Algoritmo de Dijkstra Algoritmo de Dijkstra Uma vez que o algoritmo de Dijkstra sempre escolhe o vértice de V S mais próximo do conjunto S, dizemos que o algoritmo faz uso de uma técnica gulosa. Algoritmos gulosos tipicamente produzem soluções subótimas. No caso do problema de caminhos mínimos com uma fonte, o algoritmo guloso obtém a solução ótima. A chave para mostrar que o algoritmo produz uma solução ótima é o fato que quando u é inserido em S, d[u] = δ(s,u).
48 Caminhos Mínimos Com Uma Fonte 48/ 74 Algoritmo de Dijkstra Corretude do algoritmo de Dijkstra S V S p 1 π[u] u s p 3 p 2 x y
49 Caminhos Mínimos Com Uma Fonte 49/ 74 Algoritmo de Dijkstra Corretude do algoritmo de Dijkstra Teorema Se executarmos o algoritmo de Dijkstra em um grafo direcionado G = (V,E), onde w : E R +, Então, quando o algoritmo termina, d[v] = δ(s,v) para todo v V.
50 Caminhos Mínimos Com Uma Fonte 50/ 74 Algoritmo de Dijkstra Corretude do algoritmo de Dijkstra Demonstração Vamos mostrar que para cada u V, temos d[u] = δ(s,u) no momento em que u é inserido em S, e esta igualdade permanece. Com o propósito de contradição, suponha que u é o primeiro vértice tal que d[u] δ(s,u). Seja p = (p 1,π[u],u) o caminho produzido pelo algoritmo. Seja p = ( p 2,x,y, p 3 ) um caminho mais curto de s até u. y é o primeiro vértice em p que não pertence a S. Temos que w( p) < w(p).
51 Caminhos Mínimos Com Uma Fonte 51/ 74 Algoritmo de Dijkstra Corretude do algoritmo de Dijkstra Demonstração Sabemos que d[x] = δ(s,x). Caso contrário, u não seria o primeiro vértice com distância incorreta. Uma vez que y pertence a um caminho mais curto, temos que d[y] = δ(s,y) no momento em que x foi inserido em s. A aresta (x,y) foi relaxada no momento em que x foi inserido em S, fazendo com que d[y] se tornasse δ(s,y).
52 Caminhos Mínimos Com Uma Fonte 52/ 74 Algoritmo de Dijkstra Corretude do algoritmo de Dijkstra Demonstração Contudo, temos que: δ(s,u) < d[u] δ(s,y)+w( p 3 ) < d[u] d[y]+w( p 3 ) < d[u] [pois δ(s,y) = d[y]] d[y] < d[u] w( p 3 ) d[y] < d[u] [pois w( p 3 ) 0] Mas isto é uma contradição. O algoritmo teria escolhido y como o próximo vértice a ser inserido em S, não teria escolhido u.
53 Caminhos Mínimos Com Uma Fonte 53/ 74 Algoritmo de Dijkstra Análise do algoritmo de Dijkstra Vetor como fila de prioridades Neste caso, extract-min leva tempo O(n) e há n operações extract-min, com n = V e m = E. Uma vez que cada aresta é examinada no máximo uma vez, a operação relax é executada no máximo uma vez, levando tempo O(1). Podemos concluir que o algoritmo leva tempo O(n 2 +m) = O(n 2 ).
54 Caminhos Mínimos Com Uma Fonte 54/ 74 Algoritmo de Dijkstra Análise do algoritmo de Dijkstra Heap binário como fila de prioridades Quando o grafo é esparso, entretanto, é mais prático utilizarmos uma fila de prioridades implementada com heap binário. Neste caso, extract-min leva tempo O(lgn) e há n operações extract-min, com n = V e m = E. Cada aresta (u,v) é examinada uma vez, forçando uma operação relax(u,v,w) que custa no máximo O(lgn), quando a distância d[v] for reduzida. Portanto o algoritmo executa em tempo O(nlgn+mlgn) = O(mlgn) assumindo que m n.
55 Caminhos Mínimos Com Uma Fonte 55/ 74 Algoritmo de Dijkstra Análise do algoritmo de Dijkstra Heap Fibonacci como fila de prioridades Neste caso, extract-min leva tempo O(lgn) e há n operações extract-min, com n = V e m = E. Cada aresta (u,v) é examinada uma vez, forçando uma operação relax(u,v,w) que custa no máximo O(1) (tempo amortizado), quando a distância d[v] for reduzida. Portanto o algoritmo executa em tempo amortizado O(nlgn+m). Quando o grafo é denso, temos m = n 2 e o algoritmo executa em tempo O(n 2 ). Quando o grafo é esparso, temos O(nlgn) já que m = Θ(n).
56 Caminhos Mínimos Com Uma Fonte 56/ 74 Algoritmo de Dijkstra Dijkstra: grafo u 1 v 10 s x 2 y
57 Caminhos Mínimos Com Uma Fonte 57/ 74 Algoritmo de Dijkstra Dijkstra: iteração 1 u 1 v 10 s x 2 y
58 Caminhos Mínimos Com Uma Fonte 58/ 74 Algoritmo de Dijkstra Dijkstra: iteração 2 u 10 1 v 10 s x 2 y
59 Caminhos Mínimos Com Uma Fonte 59/ 74 Algoritmo de Dijkstra Dijkstra: iteração 3 8 u 1 v s x 2 7 y
60 Caminhos Mínimos Com Uma Fonte 60/ 74 Algoritmo de Dijkstra Dijkstra: iteração 4 u 1 v s x 2 7 y
61 Caminhos Mínimos Com Uma Fonte 61/ 74 Algoritmo de Dijkstra Dijkstra: iteração 5 8 u 1 9 v 10 s x 2 7 y
62 Caminhos Mínimos Com Uma Fonte 62/ 74 Algoritmo de Dijkstra Dijkstra: iteração 6 8 u 1 9 v 10 s x 2 7 y
63 Caminhos Mínimos Com Uma Fonte 63/ 74 Grafos Acíclicos Sumário Algoritmo Bellman-Ford Algoritmo de Dijkstra Grafos Acíclicos
64 Caminhos Mínimos Com Uma Fonte 64/ 74 Grafos Acíclicos Grafos Acíclicos Relaxando as arestas segundo a ordem topológica de um grafo direcionado acíclico G = (V,E), leva ao cômputo da árvore de caminhos mínimos em tempo Θ( V + E ). Caminhos mínimos são sempre definidos em grafos acíclicos, pois mesmo na presença de arestas com pesos negativos, não existe ciclo de comprimento negativo.
65 Caminhos Mínimos Com Uma Fonte 65/ 74 Grafos Acíclicos Algoritmo Dag-Shortest-Paths(G, w, s) 1) topologically sort the vertices of G 2) Initialize-Single-Source(G, s) 3) for each u taken in topologically sorted order 4) do for each vertex v Adj[u] 5) do Relax(u,v,w)
66 Caminhos Mínimos Com Uma Fonte 66/ 74 Grafos Acíclicos Tempo de Execução Ordenação topológica pode ser realizada em tempo Θ( V + E ) utilizando o algoritmo de busca em profundidade. Cada vértice é examinado exatamente uma vez, quando sua lista de adjacência é examinada e a operação Relax é executada. Logo, o laço 3-5 executa em tempo Θ( V + E ). O tempo total de execução é, portanto, Θ( V + E ).
67 Caminhos Mínimos Com Uma Fonte 67/ 74 Grafos Acíclicos Exemplo 6 1 r s t u v x
68 Caminhos Mínimos Com Uma Fonte 68/ 74 Grafos Acíclicos Vértice r 6 1 r s t u v x
69 Caminhos Mínimos Com Uma Fonte 69/ 74 Grafos Acíclicos Vértice s 6 1 r s t u v x
70 Caminhos Mínimos Com Uma Fonte 70/ 74 Grafos Acíclicos Vértice t 6 1 r s t u v x
71 Caminhos Mínimos Com Uma Fonte 71/ 74 Grafos Acíclicos Vértice u 6 1 r s t u v x
72 Caminhos Mínimos Com Uma Fonte 72/ 74 Grafos Acíclicos Vértice v 6 1 r s t u v x
73 Caminhos Mínimos Com Uma Fonte 73/ 74 Grafos Acíclicos Vértice x 6 1 r s t u v x
74 Caminhos Mínimos Com Uma Fonte 74/ 74 Grafos Acíclicos Conclusões Fim! Obrigado pela presença
Aná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 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 maisAULA 13 PROJETO E ANÁLISE DE ALGORITMOS. Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado
AULA 13 PROJETO E ANÁLISE DE ALGORITMOS Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado Roteiro Motivação Relaxamento Algoritmo de Dijkstra Motivação Suponha que você
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 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 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 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 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 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 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: caminhos mínimos
Grafos: caminhos mínimos SCE-8 Algoritmos e Estruturas de Dados Thiago A. S. Pardo Maria Cristina Gustavo Batista O problema do menor caminho Um motorista deseja encontrar o caminho mais curto possível
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 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 maisAná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 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 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 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 maisO grau de saída d + (v) de um vértice v é o número de arcos que tem
Grafos Direcionados Definição (Grau de Entrada) O grau de entrada d (v) de um vértice v é o número de arcos que tem v como cabeça. Definição (Grau de Saída) O grau de saída d + (v) de um vértice v é 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 maisINSTITUTO FEDERAL DO ESPÍRITO SANTO CURSO BACHARELADO EM SISTEMAS DE INFORMAÇÃO
INSTITUTO FEDERAL DO ESPÍRITO SANTO CURSO BACHARELADO EM SISTEMAS DE INFORMAÇÃO ANTONIO CARLOS GOMES BASILIO EVANDRO DAS VIRGENS SCARPATI MARCOS AURÉLIO MELO DIAS RENAN COSMO PROBLEMA DO CAMINHO MÍNIMO
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 maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 06 Busca em Profundidade e Busca em Largura Edirlei Soares de Lima Grafos (Revisão) G = (V, A) G: grafo; V: conjunto de vértices; A: conjunto
Leia maisGrafos Caminhos mais Curtos
ALGORITMOS E ESTRUTURAS DE DADOS II Grafos Caminhos mais Curtos Profa. Elaine Parros Machado de Sousa adaptações: Cris.na Dutra de Aguiar Ciferri Material baseado em aulas dos professores: Gustavo Basta,
Leia maisAlgoritmo de Dijkstra (um para todos ; arestas de peso não negativo ; guloso)
Algoritmo de Dijkstra (um para todos ; arestas de peso não negativo ; guloso) 1º passo: iniciam-se os valores: para todo v V[G] d[v] π[v] -1 d[s] 0 V[G] é o conjunto de vértices(v) que formam o Grafo G.
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 maisUniversidade Federal de Alfenas
Universidade Federal de Alfenas Algoritmos em Grafos Aula 2 Caminho Mínimo: Algoritmo de Bellman-Ford Prof. Humberto César Brandão de Oliveira humberto@bcc.unifal-mg.edu.br Caminho Mínimo Suponha que você
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 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 maisProva Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade
Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem
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 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 maisGrafos: caminhos mínimos em Listas de Adjacência. Profa. Graça Nunes
Grafos: caminhos mínimos em Listas de Adjacência Profa. Graça Nunes Caminhos mínimos O problema do caminho mínimo consiste em determinar um menor caminho entre um vértice de origem e um vértice de destino
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 maisTeoria dos Grafos Aula 22
Teoria dos Grafos Aula 22 Aula passada Caminho mais curto entre todos os pares Algoritmo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto Algoritmo de Bellman Ford Melhorias Caminho
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 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 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 Aula 07 Algoritmos de Caminho Mínimo: Bellman-Ford / Floyd-Warshall Max Pereira
Ciência da Computação GRAFOS Aula 07 Algoritmos de Caminho Mínimo: Bellman-Ford / Floyd-Warshall Max Pereira Algoritmo de Bellman-Ford Arestas com valores negativos podem parecer inúteis, mas elas podem
Leia maisTeoria dos Grafos Aula 24
Teoria dos Grafos Aula 24 Aula passada Caminho mais curto entre todos os pares Algortimo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto em grafos Algoritmo de Bellman Ford Algoritmo
Leia maisAlgoritmo de Dijkstra em LISP
Algoritmo de Dijkstra em LISP Léo Willian Kölln 10 de Agosto de 2006 Curso de Ciências da Computação Programação Funcional - INE5363 INE - Departamento de Informática e Estatística CTC - Centro Tecnológico
Leia maisAlgoritmos em Grafos: Caminho Mínimo
Algoritmos em Grafos: Caminho Mínimo Letícia Rodrigues Bueno UFABC Problema 2: Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual o menor caminho entre
Leia maisGrafos COM11087-Tópicos Especiais em Programação II
Grafos COM11087-Tópicos Especiais em Programação II edmar.kampke@ufes.br Introdução Grafos são estruturas muito estudadas na Ciência da Computação para modelagem de problemas Euler (1736) em Königsberg
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 maisGrafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo
PMR2300 Escola Politécnica da Universidade de São Paulo Um grafo é uma estrutura que generaliza árvores, sendo formado por nós e arestas. Cada nó em um grafo pode ser conectado a vários outros nós por
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 maisBusca em Profundidade e em Largura
Busca em Profundidade e em Largura Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Mais sobre Caminhos TEOREMA: Se um grafo possui exatamente 2 vértices de
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 0 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA Caminhos mais curtos Caminhos mais curtos Encontrar um caminho mais curto entre dois nós
Leia maisAlgoritmos e Estruturas de Dados
Algoritmos e Estruturas de Dados Grafos Slides baseados em: ZIVIANI, N. Projetos de Algoritmos - com implementações em Java e C++. Thomson Learning, 2007. Cap 7. CORMEN, H.T.; LEISERSON, C.E.; RIVEST,
Leia maisAnálise e Síntese de Algoritmos. Caminhos Mais Curtos para Todos os Pares CLRS, Cap. 25
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 maisGrafos: algoritmos de busca
busca em grafos como caminhar no grafo de modo a percorrer todos os seus vértices evitando repetições desnecessárias do mesmo vértice? e por onde começar? solução: necessidade de recursos adicionais que
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 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 maisgrafo nós vértices arcos arestas
GRAFOS E APLICAÇÕES 1. INTRODUÇÃO 1) Um grafo G = (V, E) consiste num conjunto de nós (ou vértices) V e num conjunto de arcos (ou arestas) E. Cada arco é representado por um par de nós. No seguinte exemplo,
Leia maisCaminho Mínimo de Fonte Única em Grafos sem Pesos Negativos
Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Letícia Rodrigues Bueno UFABC Problema : Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual
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 mais5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 12 Prof. Dr. Sylvio Barbon Junior Sumário - Árvore Geradora Mínima - Teorema pare reconhecer arestas seguras; - Algoritmo de Prim; - Algoritmo
Leia maisESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado.
PUC-Rio Departamento de Informática Profs. Marcus Vinicius S. Poggi de Aragão Período: 0. Horário: as-feiras e as-feiras de - horas de maio de 0 ESTRUTURAS DISCRETAS (INF 6) a Lista de Exercícios Procure
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 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 maisDistâncias Mínimas. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/ / 27
Distâncias Mínimas Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/2015 1 / 27 Distâncias Mínimas Uma das aplicações mais típicas em grafos é o cálculo de distâ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 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 maisBusca em Profundidade. Componentes Conexos. Grafos. Maria Adriana Vidigal de Lima. Fevereiro
Fevereiro - 009 Definição de Grafo Listas de Adjacências de Técnicas da Classificação das Arestas Aplicação do de de 4 Grafo Transposto Definição de Grafo Listas de Adjacências de Exemplos de Aplicação
Leia maisTeoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e algoritmo de Dijkstra Dijkstra o próprio Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente
Leia maisCES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra
ES- Algoritmos e Estruturas de Dados arlos Alberto Alonso Sanches Juliana de Melo ezerra ES- rafos onceitos gerais e representações Algoritmos em grafos Exploração sistemática em largura aminhos mais curtos
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 maisAlgoritmos de Caminho Mínimo Parte 1
Algoritmos de Caminho Mínimo Parte 1 A journey of a thousand miles starts with a single step and if that step is the right step, it becomes the last step. Index 1. Introduction 2. Applications 3. Tree
Leia maisCaminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno
Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno UFABC Problemas de Caminho Mínimo Caminho mínimo de fonte única: algoritmo de Dijsktra; Problemas de Caminho Mínimo Caminho
Leia maisTeoria dos Grafos. Árvores
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Preparado a partir
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 maisGrafos: Busca. SCE-183 Algoritmos e Estruturas de Dados 2. Thiago A. S. Pardo Maria Cristina
Grafos: Busca SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é um problema fundamental Deve-se ter uma forma sistemática
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 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 maisGrafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36
Grafos Direcionados > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados Em muitas aplicações, é importante ter direção nas arestas: Ruas de mão única Grafos modelando páginas da
Leia maisEstruturas de Dados Grafos
Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:
Leia maisAlgoritmos Combinatórios: Backtracking com Bounding
Algoritmos Combinatórios: Backtracking com Bounding lucia@site.uottawa.ca UFSC, Fevereiro, 2010 Backtracking com bounding Backtracking com bounding Quando aplicamos backtracking para um problema de otimização,
Leia maisDisciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa
Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Aula -Grafos Uma figura vale por mil palavras A representação de dados e ou informações utilizando de recursos visuais é, em muitos casos,
Leia maisÁrvores: Conceitos Básicos e Árvore Geradora
Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:
Leia maisDesafios de Programação TCC Turma A-1
Desafios de Programação TCC-00.254 Turma A-1 Conteúdo Grafos Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2015.1/tcc-00.254
Leia maisAlgoritmos em Grafos
Algoritmos em Grafos Baseado em: The Algorithm Design Manual Steven S. Skiena IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/42 Introdução (1) Um grafo G=(V,E)
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 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 maisCaminho mais curto e o algoritmo de Dijkstra
Caminho mais curto e o algoritmo de Dijkstra Márcia R. Cerioli Departamento de Ciência da Computação - IM e PESC - COPPE UFRJ Algoritmos e Grafos Dezembro de 05 Problema do Caminho mais Curto Problema
Leia maisTGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher
TGR BCC Representação Computacional de Grafos Prof. Ricardo José Pfitscher Cronograma Representação Matriz de djacências Lista de djacências Matriz de Incidências Representação Como podemos representar
Leia maisGrafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes
Grafos: Busca Algoritmos e Estruturas de Dados Graça Nunes Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é uma tarefa fundamental Pense no caso de se procurar uma certa informação associada
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 Aula 8
Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e implementação de alg. de Dijkstra Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente
Leia maisGrafos: componentes fortemente conexos, árvores geradoras mínimas
Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente
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 maisAlgoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3
Algoritmo Aproximado Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas N P- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),
Leia maisAED2 - Aula 22 Busca em largura, cálculo de distâncias
AED2 - Aula 22 Busca em largura, cálculo de distâncias Relembrando a busca genérica, usando um versão alternativa: marque todos os vértices como não encontrados. marque s como encontrado. coloque s no
Leia maisConceitos Básicos Isomorfismo de Grafos Subgrafos Passeios em Grafos Conexidade
Conteúdo 1 Teoria de Grafos Conceitos Básicos Isomorfismo de Grafos Subgrafos Passeios em Grafos Conexidade > Teoria de Grafos 0/22 Conceitos Básicos Inicialmente, estudaremos os grafos não direcionados.
Leia maisAlgoritmos e Estruturas de Dados. Grafos Semestre de Inverno 13/14
Algoritmos e Estruturas de Dados Grafos Semestre de Inverno 13/14 1 Grafo - Definição } Um grafo G=(V,E) é um par de dois conjuntos não vazios em que V é um conjunto finito e E é uma relação binária em
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 maisUNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação
UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação SCC-203 ALGORITMOS E ESTRUTURAS DE DADOS II Prova - Gabarito Nome: Nro. USP ) O matemático
Leia mais2 Relação entre soma dos graus e número de arestas
Rio de Janeiro, 24 de Outubro de 2011. LISTA DE ESTRUTURAS DISCRETAS PROFESSOR: EDUARDO LABER OBSERVAÇÕES: Exercícios marcados com são mais complicados. 1 Isomorfismo 1. Seja G =(V,E) um grafo simples.
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 maisCaminho mais curto. 1 - Caminho não pesado
Caminho mais curto Dado um grafo pesado G = (V, E) e um vértice s, obter o caminho pesado mais curto de s para cada um dos outros vértices em G Exemplo: rede de computadores, com custo de comunicação e
Leia mais