CI065 CI755 Algoritmos e Teoria dos Grafos
|
|
|
- Patrícia Rijo Lima
- 7 Há anos
- Visualizações:
Transcrição
1 CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 10 de junho de Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices é S e que tem uma aresta ligando S i e S j se e somente se S i S j. (a) Desenhe o grafo intercessão de ( ) {1,...,5} 2. (b) Desenhe o complemento do grafo intercessão de ( ) {1,...,5} 2. Dados inteiros n e k, o complemento do grafo intercessão de ( ) {1,...,n} k é conhecido como grafo de Kneser com parâmetros n e k. 2. Prove que os grafos abaixo são isomorfos. a 1 c 2 c 1 a 2 b 2 b 1 b 0 a 0 c 3 d 1 d 3 d 0 c 0 b 3 b 4 d 2 a 3 a 4 c 4 c 5 3. (a) Se G é um grafo de 14 vértices e 25 arestas cujos vértices tem graus 3 ou 5, quantos vértices tem grau 3 e quantos tem grau 5? 1
2 (b) Generalize o raciocínio para um grafo de n vértices e m arestas cujos vértices tem graus d 1 ou d Prove que se G é um grafo satisfazendo δ(g) > 0, E(G) < V (G), então G tem (pelo menos) dois vértices de grau Quantos grafos diferentes existem com o conjunto de vértices {1,..., n}? Justifique. 6. Existe algum grafo não trivial em que todos os vértices tem graus distintos? Justifique. 7. Assim como se define o grau mínimo e o grau máximo, é possível definir o grau médio de um grafo G. (a) Denotando por δ(g) o grau médio de um grafo G, proponha uma expressão para δ(g) em função de V (G) e E(G). (b) Prove que, para todo grafo G, δ(g) 2 E(G) V (G) (G). 8. Quantas arestas tem um grafo k regular de n vértices? Justifique. 9. (a) A sequência (5, 4, 4, 3, 3, 2) é gráfica? Justifique. (b) A sequência (4, 3, 3, 2, 2, 2, 2) é gráfica? Justifique. (c) A sequência (5, 4, 4, 3, 2) é gráfica? Justifique. 10. Proponha uma definição para o conceito de densidade de um grafo não trivial de tal maneira que se ρ(g) é a densidade de um grafo não trivial G, então 0 ρ(g) 1, 2
3 e ρ(g) = 0 se e somente se E(G) =, ρ(g) = 1 se e somente se G é completo. 11. Um grafo é auto complementar se é isomorfo ao seu complemento. (a) Dê um exemplo de um grafo auto complementar não trivial. (b) Prove se G é auto complementar, então V (G) ou V (G) 1 é múltiplo de Prove que, para todo grafo G temos M 2 G[v, v] = δ G (v), para todo v V (G). 13. Quantos grafos direcionados diferentes existem com o conjunto de vértices {1,..., n}? Justifique. Quantos deles não tem laços? 14. Prove que, se G é um grafo direcionado, então δ + (v) = A(G) = δ (v), v V (G) v V (G) 15. Prove que M G T = (M G ) T, para todo grafo direcionado G, onde M T denota a matriz transposta da matriz M. 16. Prove que, para todo grafo direcionado G temos M G MG[v, T v] = δ + G (v), para todo v V (G). 3
4 2 Representação Computacional 17. Descreva como computar eficientemente o grafo transposto de um grafo direcionado G, quando G é representado (a) por listas de adjacência, ou (b) pela matriz de adjacência. Expresse a eficiência de ambas as soluções em termos assintóticos em função do tamanho do grafo G. 18. Considere a idéia de evitar o desperdício de espaço na representação da matriz de adjacência de um grafo G com V (G) = {1,..., n} usando um vetor m contendo somente os elementos acima da diagonal principal de M G, de tal maneira que m[f(u, v)], se u < v, M G [u, v] = 0, se u = v, m[f(v, u)], se u > v, onde f : {(u, v) V (G) V (G) u < v} {0,..., N(n) 1} é a função que faz a correspondência entre os elementos de M G e m, e N(n) é o tamanho do vetor m. (a) Dê uma expressão para N(n). (b) Dê uma expressão para f(u, v). (c) Dê uma expressão para f 1 (k): 0 k < N(n). (d) Escreva a função unsigned int vizinho(unsigned int *m, unsigned int u, unsigned int v); que devolve o valor de M G [u, v], onde M G é representado pelo vetor m tal como descrito acima. 19. Suponha que a representação de um número inteiro consome i bytes e a representação de um apontador consome a bytes e considere o problema de representar um grafo ponderado de n vértices e m arestas nesta linguagem. 4
5 (a) Expresse o total de memória consumido na representação do grafo em função de i, a, n e m ao usar i. matriz de adjacência ii. listas de adjacência (b) Indique como decidir, em função de i, a, n e m, qual das duas representações ocupa menos memória. 3 Subgrafos 20. Dê um exemplo de um grafo G com subgrafos H 1, H 2 e H 3 tais que (a) o grafo H 1 é um subgrafo induzido por vértices; (b) o grafo H 2 é um subgrafo induzido por arestas mas não é um subgrafo induzido por vértices; (c) o grafo H 3 vértices. não é um subgrafo induzido por arestas nem por 21. Seja G um grafo com n vértices e m arestas. Dê uma expressão para (a) O número de subgrafos de G induzidos por vértices. (b) O número de subgrafos de G induzidos por arestas. (c) O número de subgrafos geradores de G. (d) O número de subgrafos de G (não precisa ser em termos de n e m). 22. Se G é um grafo e u e v são vértices de G, é verdade que Justifique. (G u) v = (G v) u? 23. Seja G um grafo e seja X um conjunto de vértices de G. É verdade que G X = G[V (G) X]? Justifique. É verdade que todo subgrafo de G induzido por vértices pode ser obtido a partir de G por uma sequência de remoções de vértices? 5
6 24. Se G é um grafo e α e β são arestas de G, é verdade que Justifique. (G α) β = (G β) α? 25. Seja G um grafo e seja X um conjunto de arestas de G. É verdade que Justifique. G X = G[E(G) X]? É verdade que todo subgrafo de G induzido por arestas pode ser obtido a partir de G por uma sequência de remoções de arestas? 26. Prove que todo subgrafo induzido por vértices de um grafo completo é completo. 27. Seja G um grafo e seja v um vértice de G. Prove que E(G v) = E(G) δ G (v). 28. Seja G um grafo e sejam A E(G) e V = α A α. É verdade que G[A] = G[V ]? Justifique. 29. Prove que se G é um grafo, então, (a) Um conjunto X é independente em G se e somente se X é clique em G. (b) α(g) = ω(g). 6
7 30. Considere o seguinte algoritmo guloso para computar um conjunto independente de um grafo G. Independente(G) I Enquanto V (G) v vértice de grau mínimo em G acrescente v a I remova v e Γ G (v) de G Devolva I (a) Seja n o número de vértices no grafo G ao início do algoritmo. Prove que, ao início do laço, sempre é verdade que n V (G) + I ( (G) + 1). (b) Conclua daí que 1 α(g) (c) Conclua também que 2 ω(g) V (G), para todo grafo G, (G) + 1 V (G), para todo grafo G, V (G) δ(g) 31. Prove que todo grafo com pelo menos 6 vértices tem uma clique ou um conjunto independente com 3 vertices Prove que, para todo grafo G, (a) α(g) V (G) (G) + 1. (b) α(g)δ(g) E(G). (c) ω(g) (G) Seja H um subgrafo de um grafo G. Decida se as afirmações abaixo são verdadeiras ou não, justificando sua resposta em cada caso. 1 α(g) denota o tamanho do maior conjunto independente em G. 2 ω(g) denota o tamanho da maior clique em G. 3 Sugestão: Pense na seguinte formulação, equivalente à do enunciado: qualquer coloração das arestas de um grafo completo de 6 vértices com 2 cores vai ter um triângulo monocromático como subgrafo. 7
8 (a) α(h) α(g)? (b) α(g) α(h)? (c) ω(g) ω(h)? (d) ω(h) ω(g)? 34. Prove que um grafo G é bipartido se e somente se E(G) = G (X) para algum X V (G) e que, neste caso, {X, V (G) X} é uma bipartição de G. 35. Prove que se X, Y é uma bipartição do grafo G, então G tem no máximo X Y arestas. n 36. Prove que um grafo bipartido de n vértices tem no máximo 2 arestas Qual o tamanho da maior clique que pode ter um grafo de n vértices e m arestas? 38. Prove que o problema de determinar o tamanho do maior conjunto independente de um grafo é um problema N P Difícil. 39. Prove que o problema de determinar se um grafo dado é subgrafo induzido de outro grafo também dado é um problema N P Difícil. 40. Prove que o algoritmo abaixo nem sempre devolve uma coloração mínima 8
9 do grafo G. Colore(G) C Enquanto existe vértice de G que não pertence a nenhum conjunto em C v vértice de G que não pertence a nenhum conjunto em C Se v não tem em algum conjunto K C acrescente v ao conjunto K Senão acrescente o conjunto {v} a C Devolva C 4 Passeios, Caminhos e Ciclos 41. Um grafo e seu complemento podem ser (a) ambos conexos? (b) ambos desconexos? Justifique. 42. Seja G um grafo. Prove que (a) a relação de alcançabilidade sobre V (G) dada por u G v := u é alcançável a partir de v em G, é uma relação de equivalência, e que (b) as classes de equivalência desta relação são os conjuntos de vértices dos componentes de G. 43. Descreva em palavras os grafos k regulares para k {0, 1, 2}. 44. Prove que um grafo é bipartido se e somente se não tem passeios de paridades diferentes com as mesmas pontas. 45. Prove que todo segmento de caminho mínimo em um grafo G é caminho mínimo em G. 9
10 46. Prove que um grafo é bipartido se e somente se não tem ciclo ímpar. 47. Prove que o grafo condensado de um grafo direcionado é um grafo direcionado acíclico. 48. Prove que se P e Q são dois caminhos de tamanho máximo em um grafo conexo G, então P e Q tem um vértice em comum. 49. Seja G um grafo conexo e seja P um caminho de tamanho máximo em G. Prove 4 que o tamanho de um caminho de tamanho máximo em G V (P ) é menor que P. 50. É verdade que existe ciclo em um grafo G se e somente se existem passeios distintos com as mesmas pontas em G? Justifique. 51. É verdade que existe ciclo num grafo se e somente se existe um passeio fechado nesse grafo? Justifique. 52. Prove que γ(g) > 3 se e somente se as vizinhanças de u e v são disjuntas para toda aresta {u, v} E(G). 53. Prove que os componentes de um grafo G são todos caminhos ou ciclos se e somente se (G) Prove que todo grafo G tem (a) caminho de tamanho (pelo menos) δ(g) e, (b) ciclo de tamanho pelo menos δ(g) + 1, se δ(g) Prove que 5, se k > 1, então todo grafo k regular tem (a) um caminho de tamanho k; 4 Sugestão: use o Exercício 48 5 Sugestão: Use o Exercício
11 (b) um ciclo de tamanho pelo menos k Seja G um grafo e considere a relação : V (G) V (G) dada por u v := u = v ou existe ciclo em G envolvendo u e v A relação é uma relação de equivalência? Justifique. 57. Prove que se um grafo G não é acíclico, então γ(g) diam(g) Prove que todo grafo direcionado acíclico tem fonte. 59. Seja G um grafo direcionado e seja m := min {δ (G), δ + (G)}. Prove que (a) o grafo G tem caminho direcionado de tamanho m. (b) se m > 0, então G tem ciclo direcionado de tamanho pelo menos m Prove que se P é um caminho direcionado maximal em um grafo direcionado G, então todos os vizinhos de entrada de seu vértice inicial estão em P, e todos os vizinhos de saída seu vértice final estão em P. 61. Prove que todo passeio direcionado de tamanho mínimo entre dois vértices de um grafo direcionado é um caminho direcionado. 62. Prove que todo segmento de caminho direcionado mínimo em um grafo G é caminho direcionado mínimo em G. 11
12 5 Árvores e Florestas 63. Prove que todo grafo conexo com n vértices e n 1 arestas é árvore Prove que o grafo G é uma floresta se e somente se E(G) = V (G) C(G). 65. Prove que um grafo T é árvore geradora de um grafo G se e somente se T é subgrafo conexo minimal de G. 66. Prove que toda árvore T tem (pelo menos) (T ) folhas. 67. Prove que se T é uma árvore então para todo v V (T ). C(T v) = δ T (v), 68. É verdade que todo grafo de n vértices com n (ou mais) arestas tem ciclo? Justifique. 69. Um vértice v é central em um grafo G se a maior distãncia de v a qualquer outro vértice de G é a menor possível, isto é, se é mínimo. max {d G (v, u) u V (G)} (a) Seja T uma árvore com pelo menos 3 vértices e seja T = T F, onde F é o conjunto das folhas de T. Prove que T e T tem os mesmos centros, (b) Conclua daí que toda a árvore tem um único centro ou tem dois centros vizinhos. 6 Sugestão: usar Exercício 4. 12
13 70. Prove que uma sequência (d 1, d 2,..., d n ) de inteiros positivos é sequência gráfica 7 de uma árvore se e somente se n i=1 d i = 2(n 1). 71. Prove que um grafo direcionado G tem arborescência geradora se e somente se G tem um vértice r a partir do qual todo vértice de G é alcançável. 7 cfr. Exercício 9 13
14 6 Cortes e Conectividade 72. É possível que toda aresta de um grafo não trivial seja de corte? Justifique sua resposta e, em caso positivo, caracterize tais grafos. 73. É possível que todo vértice de um grafo não trivial seja de corte? Justifique sua resposta e, em caso positivo, caracterize tais grafos. 74. Dê um exemplo de um grafo conexo G para o qual κ(g) < λ(g) < δ(g). 75. É verdade que κ(g) λ(g) δ(g), para todo grafo conexo G? Justifique. 76. Prove que um grafo G é conexo se e somente se G (X), para todo X V (G). 77. Prove que um grafo direcionado G é fortemente conexo se e somente se + G (X), para todo X V (G). 78. Seja G um grafo, T uma árvore geradora de G e v V (G). (a) (b) É verdade que se v tem grau maior que 1 em T, então v é vértice de corte em G? Justifique. É verdade que se v é vértice de corte em G então v tem grau maior que 1 em T? Justifique. 79. Prove que todo vértice de corte em um grafo é vértice de corte em qualquer árvore geradora deste grafo. 14
15 80. Considere o jogo em que o jogador recebe um grafo conexo. O objetivo é remover os vértices deste grafo, um a um, sem desconectar o grafo em nenhum momento. O jogador vence se conseguir remover todos os vértices. (a) Sempre é possível vencer o jogo 8? Justifique. (b) Descreva um algoritmo para vencer o jogo nos casos em que é possível vencer. 81. Prove que um vértice de um grafo G faz parte de dois blocos distintos de G se e somente é vértice de corte. 82. É verdade que se u e v são vértices de corte vizinhos em um grafo então a aresta {u, v} é de corte neste grafo? Justifique. 83. Um vértice de corte em um grafo pode ser folha de uma árvore geradora deste grafo? Justifique. 8 Sugestão: Use o Exercício 79 15
16 7 Grafos Eulerianos e Hamiltonianos 84. Prove que um grafo conexo tem trilha euleriana aberta se e somente se tem exatamente dois vértices de grau ímpar. 85. Prove que determinar o tamanho do maior ciclo de um grafo é um problema N P-difícil. 86. Prove que decidir se um grafo tem caminho hamiltoniano é um problema N P difícil Prove que o problema de determinar um caminho de tamanho máximo em um grafo direcionado é um problema N P difícil. 88. Seja G um grafo e seja D(G) o grafo direcionado dado por V (D(G)) = V (G), A(D(G)) = {u,v} E(G) {(u, v), (v, u)}. Prove que G é hamiltoniano se e somente se D(G) é hamiltoniano e conclua, a partir daí, que o problema de decidir se um grafo direcionado é hamiltoniano é N P Difícil. 89. Prove que o problema do Caixeiro Viajante é N P difícil. 90. Seja G um grafo e seja G o grafo que se obtém ao acrescentar a G um novo vértice v e uma aresta ligando v a cada vértice de G. Prove que G é hamiltoniano se e somente se G tem caminho hamiltoniano. 9 Sugestão: Use o Exercício 92 16
17 91. Seja G um grafo direcionado e seja (G, w) um grafo direcionado com pesos nas arestas completo com o mesmo conjunto de vértices de G onde w é dada por { 0, se (u, v) A(G), w(u, v) = 1, se (u, v) / A(G) Prove que G é hamiltoniano se e somente se a resposta da instância (G, w) do problema do Caixeiro Viajante tem peso Seja G um grafo não vazio e seja v V (G). Seja G v o grafo obtido ao acrescentar-se a G três novos vértices, v, u e w e as arestas {u, v}, {w, v } e {{v, r} r Γ G (v)}. Prove que G é hamiltoniano se e somente se G v tem caminho hamiltoniano. 93. Considere o seguinte algoritmo para o Problema do Caixeiro Viajante CV(G, w) (i, f) arco de peso mínimo em G P (i, f) Enquanto V (P ) V (G) u origem de um arco de peso mínimo em (i) fora de V (P ) v destino de um arco de peso mínimo em + (f) fora de V (P ) Se w(u, i) w(f, v) i u acrescente i ao início de P Senão f v acrescente f ao final de P acrescente i ao final de P Devolva P (a) Mostre que o algoritmo está errado, exibindo uma instância do Problema do Caixeiro Viajante para a qual o algoritmo não computa uma resposta correta. (b) Mostre que o algoritmo está muito errado, provando que sua resposta pode ficar arbitrariamente longe da resposta correta, isto é, prove que para todo n N existe uma instância (G, w) do Problema do Caixeiro Viajante tal que OPT(G, w) < w(cv(g, w)) n, onde OPT(G, w) denota o peso de uma solução da instância (G, w). 17
18 8 Busca em Grafos 94. Explique como decidir em tempo O(n + m) se um grafo direcionado com n vértices e m arcos é acíclico e, em caso negativo, encontrar um ciclo direcionado. 95. Sejam e seja G o grafo dado por A 1 = {1, 4, 8}, A 2 = {1, 5, 9}, A 3 = {2, 4, 6}, A 4 = {2, 5, 7}, A 5 = {3, 6, 10} e A 6 = {3, 7, 8} V (G) = {A 1,..., A 6 }, E(G) = {{A i, A j } A i A j }. (a) Faça um desenho deste grafo. (b) Faça uma busca em largura em G a partir do vértice A 1 e apresente i. os níveis de cada vértice, e ii. as arestas que não estão na arborescência resultante desta busca. (c) Baseado nesta busca, diga se G é conexo. Justifique sua resposta. (d) Baseado nesta busca, diga se G é bipartido. Justifique sua resposta. 96. Prove que se (G, w) é um grafo conexo com pesos então existe uma árvore de caminhos mínimos geradora de G com raiz v para todo v V (G). 97. Seja T uma árvore de distâncias mínimas de raiz r de um grafo com pesos (G, w). Prove que diam(t ) 2diam(G). 18
19 98. Prove que se T é a arborescência resultante de uma busca em largura a partir do vértice r em um grafo conexo G, então rt v é um caminho mínimo em G para todo v V (G). 99. Prove que se T é a arborescência resultante de uma busca em largura sobre um grafo conexo G e r = r(t ), então d G (r, u) d G (r, v) 1, para todo {u, v} E(G S(T )) Seja T a arborescência resultante de uma busca em largura sobre um grafo conexo G e seja r sua raiz. Prove que G é bipartido se e somente se d(r, u) e d(r, v) tem paridades diferentes para toda aresta {u, v} G E(S(T )) Proponha um algoritmo que recebe um grafo de n vértices e m arestas e responde se este grafo é bipartido em tempo O(n + m) Seja T a arborescência resultante de uma busca em largura sobre um grafo conexo G e seja r sua raiz. Prove que G é bipartido se e somente se d(r, u) d(r, v) para toda aresta {u, v} G E(S(T )) Proponha um algoritmo baseado no algoritmo de busca em largura para detectar um ciclo de tamanho ímpar em um grafo, caso exista Prove que se F é a floresta direcionada resultante de uma busca em largura então toda aresta em G S(F ) é cruzada com relação a F Prove que se T é a arborescência resultante de uma busca em largura a partir do vértice r em um grafo conexo G, então d S(T ) (r, v) = d G (r, v), para todo v V (G) Caracterize as arborescências resultantes de uma busca em largura em um grafo bipartido completo. 10 Sugestão: Use os resultados dos Exercícios 98 e 99 19
20 107. Caracterize (a) as árvores em largura de um grafo completo, e (b) as árvores em profundidade de um grafo completo Caracterize as arborescências resultantes de uma busca em profundidade de um grafo bipartido completo Um estudante propõe o seguinte algoritmo para encontrar um caminho de comprimento máximo em um grafo. CaminhoMaisLongo(G) encontre um vértice r de G que não é de corte T arborescência de busca em profundidade em G a partir de r Devolva caminho de distância máxima de r a uma folha de T O algoritmo está correto? Justifique Considere a seguinte ideia para determinar se um grafo de n vértices tem ciclo hamiltoniano. Se o grafo tem ciclo hamiltoniano, então uma busca em profundidade iniciada pelo vértice certo vai encontrá-lo, pois haverá um vértice v a distância n 1 do vértice inicial r e v será vizinho de r. Para garantir que o ciclo hamiltoniano seja encontrado, será suficiente executar n buscas em profundidade, cada uma iniciando por um dos vértices do grafo. Se nenhuma delas localizar um ciclo hamiltoniano é porque o grafo não tem ciclo hamiltoniano. A ideia está correta? Justifique sua resposta A tabela abaixo contém os valores dos índices de pré e pós-ordem e o valor do low point dos vértices de um grafo, computados por uma busca em profundidade. 20
21 v pre(v) pos(v) l(v) (a) Apresente o grafo com o menor número de arestas para o qual os valores mostrados seriam os computados. (b) Apresente um segundo grafo, diferente do anterior, para o qual os mesmos valores seriam os computados 1. (c) Identifique os vértices e arestas de corte do grafo por meio dos valores mostrados na tabela, explicando o raciocínio Execute uma busca em profundidade no grafo abaixo a partir do vértice a computando os valores dos índices de pré ordem, pós ordem, nível e lowpoint. n1 n6 n2 n0 n4 n5 n3 n7 n8 (a) Mostre os valores dos índices de pré ordem, pós ordem e lowpoint de cada um dos vértices. (b) Indique os vértices e arestas de corte do grafo e explique como decidir que o são com base nestes valores Seja T uma arborescência geradora de um grafo G produzida por uma busca em profundidade. Prove que (a) A raiz de T é vértice de corte de G se e somente se tem mais de um filho. (b) Um vértice v que não é raiz de T é vértice de corte de G se e somente se tem um filho w tal que nenhum descendente de w é vizinho de um ancestral próprio de v. 21
22 (c) Uma aresta {u, v} é aresta de corte em G se e somente se (u, v) A(T ) e nenhuma aresta em G liga um descendente de v a um ancestral de u Seja T uma arborescência em profundidade geradora de um grafo G, e seja l T : V (G) V (G) dada por Prove que l T (v) := min {L T (v)} {L T (u) {u, w} / E(T ) e v T w}. l T (v) = min {L T (v)} {L T (u) {u, v} / E(T )} {l T (w) (v, w) A(T )} para todo v V (G) Formule um algoritmo que recebe um grafo de n vértices e m arestas e devolve o conjunto de seus vértices de corte em tempo O(n + m) Formule um algoritmo que recebe um grafo de n vértices e m arestas e devolve o conjunto de seus blocos em tempo O(n + m) Explique o que é o lowpoint e como ele pode ser usado para detectar vértices de corte de um grafo Considere o algoritmo que computa o lowpoint dos vértices de um grafo discutido em aula e suponha que, para cada v V (G), existe uma variável v.corte que vale 0 ao início da execução. Explique como modificar o algoritmo de maneira que, ao final da execução v.corte = 1 se e somente se v é vértice de corte de G É verdade que se um grafo com pesos (G, w) é tal que os pesos das arestas são todos distintos entre si então o grafo tem uma única árvore geradora mínima? Justifique. 22
23 120. O seguinte algoritmo foi proposto para determinar um caminho de comprimento máximo em um grafo conexo com pesos positivos. O algoritmo está correto? Justifique. CaminhoMaisComprido(G, w) P caminho vazio Para cada r V (G) A arborescência obtida pelo Alg. de Dijkstra a partir do vértice r T grafo subjacente a A u vértice mais distante de r em T v vértice de V (T ) V (rt u) mais distante de r em T Se ut v > P P ut v Devolva P 121. Apresente um algoritmo que recebe um grafo direcionado G e devolve a arborescência resultante de uma busca em largura em G T. Para cada v V (G), as vizinhanças de entrada e saída de v estão disponíveis Apresente um algoritmo que recebe um grafo direcionado G e devolve a arborescência resultante de uma busca em profundidade em G T. Para cada v V (G), as vizinhanças de entrada e saída de v estão disponíveis Seja G um grafo direcionado e considere uma execução do algoritmo BuscaProfundidade(G). Seja F a floresta direcionada induzida pelos valores de v.pai v V (G) e, para cada v V (G) sejam v.pre e v.pos os índices de pré ordem e pós ordem computados. Prove que (a) Se (u, v) é arco de F ou arco de avanço com relação a F, então u.pre < v.pre < v.pos < u.pos. (b) Se (u, v) é arco cruzado com relação a F, então v.pre < v.pos < u.pre < u.pos. (c) A ordem < induzida sobre V (G) dada por u < v := u.pre < v.pre, para todo u, v V (G), é uma pré ordem de F. 23
24 (d) A ordem < induzida sobre V (G) dada por u < v := u.pos < v.pos, para todo u, v V (G), é uma pós ordem de F Prove que um grafo direcionado G admite ordenação topológica se e somente se é acíclico Modifique o algoritmo de Ordenação Topológica discutido em aula de maneira que ele receba como entrada um grafo direcionado G e devolva, (a) uma ordenação topológica de G, se G é acíclico, ou (b) um ciclo direcionado de G, caso contrário O seguinte algoritmo, conhecido como algoritmo de Kahn, que recebe um grafo direcionado G e devolve (uma lista com) a ordenação topológica de G ou um subgrafo de G sem fontes, caso G seja cíclico. Qual o seu tempo de execução no pior caso (em termos assintóticos) em função de V (G) e E(G)? Com relação ao desempenho de pior caso (em termos assintóticos) como 24
25 ele se compara ao algoritmo discutido em aula? OrdenaTopologica(G) Se V (G) = Devolva () Se G não tem fonte Devolva G v fonte de G R Ordena(G v) Se R é uma lista acrescente v ao início de R Devolva R Ordena(G) Q lista vazia Enquanto V (G) Se G não tem fonte Devolva G v fonte de G remova v de G e enfile em Q Devolva Q 127. Um estudante argumenta que um algoritmo mais simples do que o estudado para ordenar topologicamente um grafo direcionado seria o que devolve a pré ordem induzida por uma busca em profundidade sobre o grafo a partir de suas fontes. Mostre que ele está errado apresentando um contra exemplo para sua afirmação Prove que (v 1,..., v n ) é uma ordenação topológica de um grafo direcionado acíclico G se e somente se (v n,..., v 1 ) é uma ordenação topológica de G T Seja G um grafo direcionado e seja r V (G). Sejam ainda T e T, respectivamente, arborescências maximais de G e G T com raiz r. Prove que G[V (T ) V (T )] é componente fortemente conexo de G Seja M um emparelhamento em um grafo G e seja P um caminho M aumentante. Prove que 25
26 (a) O conjunto M E(P ) é um emparelhamento em G. (b) M E(P ) = M Seja G um grafo bipartido e seja X V (G). O Teorema de Hall afirma que, se não é possível cobrir o conjunto X por um emparelhamento, então Γ G (S) < S para algum S X. Explique como modificar o algoritmo que computa um emparelhamento máximo num grafo bipartido discutido em aula de maneira que, se o emparelhamento devolvido não cobre todos os vértices de G, então o algoritmo devolve também um conjunto S V (G) satisfazendo Γ G (S) < S Prove, usando o Teorema de Hall, que o grafo abaixo não tem emparelhamento que cobre todos os vértices. n2 n1 n5 n4 n6 n0 n3 n7 n8 n Seja G um grafo e sejam M 1 e M 2 dois emparelhamentos em G. É verdade que o grafo G[M 1 M 2 ] é bipartido? Justifique Considere a seguinte modificação do Algoritmo de Kruskal. FGM(G, w) F (V (G), ) E E(G) Enquanto F tem mais de 1 componente e E não está vazia remova de E uma aresta {u, v} de peso mínimo Se u e v estão em componentes diferentes de F acrescente {u, v} a F Devolva F 26
27 É verdade que a execução de FGM(G, w) sempre devolve uma floresta geradora de peso mínimo de G? Justifique Proponha uma modificação do Algoritmo de Kruskal que computa uma floresta geradora de peso máximo de um grafo dado. Prove que seu algoritmo está correto Seja {u, v} uma aresta de peso mínimo de um grafo com pesos conexo (G, w). Prove que {u, v} é aresta de alguma árvore geradora mínima de (G, w) Seja (G, w) um grafo com pesos nas arestas, sendo V (G) = {v 1,..., v n }. Prove que, se k = 0 e (v i, v j ) / G, w(v i, v j ), se k = 0 e (v i, v j ) G, d G,w (i, j, k) = min{d G,w (v i, v j, k 1), d G,w (v i, v k, k 1) + d G,w (v k, v j, k 1)}, caso contrário. para todo i, j [1..n] e todo k [0..n], onde d G,w (i, j, k) denota o peso de um caminho mínimo de v i a v j em (G, w) cujos vértices internos estão em {v 1,..., v k } Seja G um grafo direcionado com pesos nas arestas, sendo V (G) = {v 1,..., v n }, e seja M a matriz indexada por [1..n] [1..n] [0..n] dada por 0, se k = 0 e (v i, v j ) / G, M[i, j, k] = 1, se k = 0 e (v i, v j ) G, M[i, j, k 1] (M[i, k, k 1] M[k, j, k 1]), caso contrário. Prove que M[i, j, k] = 1 se e somente se existe caminho direcionado de v i a v j em G cujos vértices internos estão em {1,..., k}, para todo i, j [1..n] e todo k [0..n]. 27
28 139. Uma certa biblioteca de rotinas para grafos implementa os algoritmos de Dijkstra e de Floyd Warshall. Após alguma experimentação um programador concluiu que dm lg n T D (n, m), T F (n) fn 3, onde d e f são constantes e T D (n, m) e T F (n) são os tempos de execução das implementações dos algoritmos de Dijkstra e de Floyd Warshall, respectivamente, para um grafo com n vértices e m arestas. O programador deseja implementar uma nova rotina para computar as distâncias entre todos os pares de vértices de um grafo que escolhe, em função do número de arestas e vértices do grafo, qual dos algoritmos usar. Como deve ser feito o teste para tomar esta decisão? Justifique sua resposta Seja G um grafo direcionado com pesos e seja (v 1,..., v n ) uma ordenação de V (G). Dados i, j [1..n] e k [0..n], definimos o grafo (a) (b) G(i, j, k) := G[{v i, v j } {v 1,..., v k }] É verdade que os grafos G(i, j, k) são conexos para todo i, j [1..n] e todo k [0..n]? Justifique. É verdade que P é (i, j, k)-caminho em G se e somente se é caminho em G(i, j, k) para todo i, j [1..n] e todo k [0..n]? Justifique Seja G um grafo direcionado conexo com pesos e seja (v 1,..., v n ) uma ordenação de V (G). Dados i, j [1..n] e k [0..n], definimos o grafo G(i, j, k) := G[{v i, v j } {v 1,..., v k }] (a) Desenhe os grafos G(v 1, v 5, k) para 0 k 5, onde G é o grafo abaixo. 28
29 (b) É verdade que os grafos G(i, j, k) são conexos para todo i, j [1..n] e todo k [0..n]? Justifique. 9 Planaridade 142. Prove que todo grafo planar simples com n 3 vértices tem no máximo 3n 6 arestas Prove que todo grafo bipartido planar simples com n 3 vértices tem no máximo 2n 4 arestas Prove que todo grafo planar simples tem um vértice de grau no máximo Qual o maior número de vértices que um grafo pode ter para que tanto ele como seu complemento possam ser planares? Justifique Existe um número de vértices máximo que um grafo pode ter para que tanto ele como seu complemento possam ser planares? Justifique A densidade 11 de um grafo G é 11 cfr. Exercício 10 ρ(g) := 2 E(G) V (G) ( V (G) 1). 29
30 Prove que a densidade de um grafo planar de n vértices é menor que 6/n para todo n N 148. Prove que o grafo dual de um grafo euleriano planar é bipartido. 30
CI065 CI755 Algoritmos e Teoria dos Grafos
CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 11 de outubro de 2017 1 Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices
Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios
Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios 1 Conceitos 1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou três se conhecem
Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios
Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios 1 Conceitos 1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou três se conhecem
Parte B Teoria dos Grafos
45 Parte B Teoria dos Grafos B. Grafos e Subgrafos Um grafo G é uma tripla ordenada (V(G), E(G), ), constituindo de um conjunto não vazio V(G) de vértices, um conjunto disjunto E(G) das arestas e uma função
Instituto de Computação Universidade Federal Fluminense. Notas de Aula de Teoria dos Grafos. Prof. Fábio Protti Niterói, agosto de 2015.
Instituto de Computação Universidade Federal Fluminense Notas de Aula de Teoria dos Grafos Niterói, agosto de 2015. Conteúdo 1 Conceitos Básicos 5 1.1 Grafos, vértices, arestas..................... 5 1.2
CONCEITOS BÁSICOS EM GRAFOS
Um grafo (simples) G é formado por um conjunto de vértices, denotado por V(G), e um conjunto de arestas, denotado por E(G). Cada aresta é um par (não ordenado) de vértices distintos. Se xy é uma aresta,
Introdução a Grafos Letícia Rodrigues Bueno
Introdução a Grafos Letícia Rodrigues Bueno UFABC Teoria dos Grafos - Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar os problemas; Grafos: ferramenta fundamental de
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.
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
2 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.
Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3
Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko Capítulo 3 Árvores Problema: Suponha que numa cidade haja n postos telefônicos. Para que seja sempre possível haver comunicação
Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I
Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I [email protected] Introdução Teoria dos Grafos é o estudo das propriedades e estruturas dos grafos. O objetivo é, após modelar um problema
GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?
8/0/06 GRAFOS Prof. André Backes Definição Como representar um conjunto de objetos e as suas relações? Diversos tipos de aplicações necessitam disso Um grafo é um modelo matemático que representa as relações
MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47
1 / 47 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 47 1 Combinatória 2 Aritmética Racional 3 3 / 47 Capítulo 3 4 / 47 não orientados Um grafo não orientado
Grafos - 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).
Noções da Teoria dos Grafos
Noções da Teoria dos Grafos André Arbex Hallack Índice 1 Introdução e definições básicas. Passeios eulerianos 1 2 Ciclos hamiltonianos 7 3 Árvores 11 4 Emparelhamento em grafos 15 5 Grafos planares: Colorindo
Algoritmos de aproximação - Problema do caixeiro viajante
Algoritmos de aproximação - Problema do caixeiro viajante Marina Andretta ICMC-USP 30 de setembro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli,
Noções da Teoria dos Grafos. André Arbex Hallack
Noções da Teoria dos Grafos André Arbex Hallack Junho/2015 Índice 1 Introdução e definições básicas. Passeios eulerianos 1 2 Ciclos hamiltonianos 5 3 Árvores 7 4 Emparelhamento em grafos 11 5 Grafos planares:
1.3 Isomorfismo 12 CAP. 1 CONCEITOS BÁSICOS
12 CAP. 1 CONCEITOS BÁSICOS I i I j. Essa relação de adjacência define um grafo com conjunto de vértices {I 1,...,I k }. Esse é um grafo de intervalos. Faça uma figura do grafo definido pelos intervalos
Fá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
Árvores: Conceitos Básicos e Árvore Geradora
Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:
PCC173 - Otimização em Redes
PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 27 de abril de 2016 Marco Antonio M. Carvalho
Teoria 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
ESTRUTURAS 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
EXERCÍCIOS DE ALGORITMOS E TEORIA DOS GRAFOS. Lista 1
EXERCÍCIOS DE ALGORITMOS E TEORIA DOS GRAFOS JAIR DONADELLI Lista 1 Exercício 1. Um químico deseja embarcar os produtos A, B, C, D, E, F, X usando o menor número de caixas. Alguns produtos não podem ser
Percursos em um grafo
Percursos em um grafo Definição Um percurso ou cadeia é uma seqüência de arestas sucessivamente adjacentes, cada uma tendo uma extremidade adjacente à anterior e a outra a subsequente (à exceção da primeira
Noções da Teoria dos Grafos. André Arbex Hallack
Noções da Teoria dos Grafos André Arbex Hallack Junho/2015 Índice 1 Introdução e definições básicas. Passeios eulerianos 1 1.1 Introdução histórica..................................... 1 1.2 Passeios
GRAFOS E ALGORITMOS TEORIA DE GRAFOS
GRAFOS E ALGORITMOS TEORIA DE GRAFOS 1a. PARTE Prof. Ronaldo R. Goldschmidt [email protected] [email protected] ROTEIRO 1. INTRODUÇÃO E MOTIVAÇÃO 2. FUNDAMENTOS 3. CONECTIVIDADE 4.
Uma Introdução Sucinta à Teoria dos Grafos
Uma Introdução Sucinta à Teoria dos Grafos Paulo Feofiloff Yoshiharu Kohayakawa Yoshiko Wakabayashi IME USP www.ime.usp.br/ pf/teoriadosgrafos/ 25/10/2004 11:00 1 Prefácio 2 Grafos são bons modelos para
Grafos. 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 :
Percursos em um grafo
Percursos em um grafo Definição Um percurso ou cadeia é uma seqüência de arestas sucessivamente adjacentes, cada uma tendo uma extremidade adjacente à anterior e a outra a subsequente (à exceção da primeira
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 5 a Lista de Exercícios
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO MATEMÁTICA COMBINATÓRIA 5 a Lista de Exercícios 1. O grafo de intersecção de uma coleção de conjuntos A 1,..., A n é o grafo
Matemática Discreta. Aula nº 22 Francisco Restivo
Matemática Discreta Aula nº 22 Francisco Restivo 2006-05-26 Definição: Um grafo cujos vértices são pontos no plano e cujos lados são linhas no plano que só se encontram nos vértices do grafo são grafos
Otimizaçã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).
Teoria dos Grafos Caminhos. Profª. Alessandra Martins Coelho
Teoria dos Grafos Caminhos Profª. Alessandra Martins Coelho junho/2014 Conexidade Em grande parte de aplicações do modelo em grafos, as relações que envolvem os vértices formam uma estrutura contínua;
Teoria 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
SCC603 Algoritmos e Estruturas de Dados II Prof.a Rosane Minghim 1o sem. 2013
SCC603 Algoritmos e Estruturas de Dados II Prof.a Rosane Minghim 1o sem. 2013 Lista de Exercícios 1 1) Escrever em C funções para: a) Obter todos os nós adjacentes (vizinhos) a um nó do grafo, dado que
UNIVERSIDADE 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
Teoria dos Grafos. Edson Prestes
Edson Prestes Introdução Um passeio entre os nós i e j é uma seqüência alternada de nós e arestas que começa no nó i e termina no nó j. G 1 G 2 Um exemplo de passeio entre os nós 1 e 4 do grafo G 1 é (1,(1,3),3,(2,3),2,(1,2),1,(1,4),4).
Otimizaçã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
2. Desenhe o grafo orientado G = (X, Γ) para: 3. Em cada alínea dois grafos são iguais. Identifique-os. (a) (b) (c)
1. Desenhe o grafo não orientado G = (X, Γ) para: (a) X = {a, b, c, d} e Γ = {{a, b}, {b, c}, {c, d}}. (b) X = {a, b, c, d} e Γ = φ. (c) X = {1, 2, 3, 4, 5, 6, 7, 8} e Γ = {{1, 2}, {2, 2}, {2, 3}, {3,
Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA
Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grafo Completo Grafo simples cujos vértices são dois a dois adjacentes. Usa-se a notação K n para um grafo completo
Lista de Exercícios 9 (Extra): Soluções Grafos
UFMG/ICEx/DCC DCC111 Matemática Discreta Lista de Exercícios 9 (Extra): Soluções Grafos Ciências Exatas & Engenharias 1 o Semestre de 018 Para cada uma das seguintes armações, diga se é verdadeira ou falsa
Conceito Básicos da Teoria de Grafos
1 Conceito Básicos da Teoria de Grafos GRAFO Um grafo G(V,A) é definido pelo par de conjuntos V e A, onde: V - conjunto não vazio: os vértices ou nodos do grafo; A - conjunto de pares ordenados a=(v,w),
Cap. 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
INF1010 Lista de Exercícios 2
INF00 Lista de Exercícios 2 Árvores. Construir algoritmo para dada uma árvore n-ária, transformá-la em uma árvore binária. 2. Qual a maior e menor quantidade de nós que podem existir em uma árvore binária
Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA
Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grafo Completo Grafo simples cujos vértices são dois a dois adjacentes. Usa-se a notação K n para um grafo completo
Algoritmo 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
Teoria dos Grafos. Edson Prestes
Edson Prestes Árvores Algoritmo de Kruskal O algoritmo de Kruskal permite determinar a spanning tree de custo mínimo. Este custo corresponde à soma dos pesos (distância, tempo, qualidade,...) associados
Melhores momentos AULA 24. Algoritmos p.906/953
Melhores momentos AULA 24 Algoritmos p.906/953 Problemas polinomiais Analise de um algoritmo em um determinado modelo de computação estima o seu consumo de tempo e quantidade de espaço como uma função
Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.
1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa
Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 16: Grafos Planares Preparado a partir do texto: Rangel, Socorro. Teoria do
A resposta para este problema envolve a partição do conjunto de arestas de tal forma que arestas adjacentes não pertençam a um mesmo conjunto.
7 - Coloração de Arestas e Emparelhamentos Considere o seguinte problema: Problema - Ao final do ano acadêmico, cada estudante deve fazer um exame oral com seus professores. Suponha que existam 4 estudantes
Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes.
Redução polinomial Permite comparar o grau de complexidade de problemas diferentes. Uma redução de um problema Π a um problema Π é um algoritmo ALG que resolve Π usando uma subrotina hipotética ALG que
Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.
1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa
Á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
Alg l ori r t i m t os e E str t u r tu t ra r s d e D ados I I Intr t o r duçã ç o ã a a Gr G a r f a o f s P of o a. M. C r C ist s ina n a /
Algoritmos e Estruturas de Dados II Introdução a Grafos Profa. M. Cristina / Profa. Rosane (2012) Baseado no material de aula original: Profª. Josiane M. Bueno Divisão do arquivo 1ª parte: Motivação Definição:
Algoritmos e Estruturas de Dados II Introdução a Grafos. Divisão do arquivo
Algoritmos e Estruturas de Dados II Introdução a Profa. M. Cristina / Profa. Rosane (2010/11) Baseado no material de aula original: Profª. Josiane M. Bueno Divisão do arquivo 1ª parte: Motivação Definição:
Algoritmos 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)
Circuitos Eulerianos Ciclos Hamiltonianos O Problema do Caixeiro Viajante CAMINHAMENTOS BASEADO EM TOWNSEND (1987), CAP. 7.
Matemática Discreta Capítulo 7 SUMÁRIO CAMINHAMENTOS BASEADO EM TOWNSEND (1987), CAP. 7 Circuitos Eulerianos Ciclos Hamiltonianos O Problema do Caixeiro Viajante Newton José Vieira 30 de julho de 2007
x y Grafo Euleriano Figura 1
Grafo Euleriano Um caminho simples ou um circuito simples é dito euleriano se ele contém todas as arestas de um grafo. Um grafo que contém um circuito euleriano é um grafo euleriano. Um grafo que não contém
Tópicos de Matemática Finita Data: a Época Código: 2D. I II-1 II-2 II-3 II-4 III-1 III-2 III-3 III-4 IV-1 IV-2 IV-3 IV-4 Nota Final
Tópicos de Matemática Finita Data: 5-07-2003 2 a Época Código: 2D Nome: Número: Curso: O exame que vai realizar tem a duração de três horas. As respostas às perguntas do grupo I não necessitam de justificação.
Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 09: Representação de Grafos Preparado a partir do texto: Rangel, Socorro. Teoria
GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira
Ciência da Computação GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira Um grafo é dito conexo se for possível visitar qualquer vértice, partindo de um outro qualquer, passando pelas suas arestas.
Matemática Discreta 10
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 10 Prof. Jorge Cavalcanti [email protected] - www.univasf.edu.br/~jorge.cavalcanti 1 Muitas
TGR 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
Análise de Algoritmos. Slides de Paulo Feofiloff
Análise de Algoritmos Slides de Paulo Feofiloff [com erros do coelho e agora também da cris] Algoritmos p. 1 Redução polinomial Permite comparar o grau de complexidade de problemas diferentes. Uma redução
Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Exercícios: Árvores 1. Utilizando os conceitos de grafos, defina uma árvore.
01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II
01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr. (ICMCUSP) 01
Gabriel Coutinho DCC035 - Pesquisa Operacional Lista 6
Lista 6 Exercício. O objetivo deste exercício é modelar o problema de emparelhamento em um grafo bipartido como um problema de fluxo, e verificar que o Teorema de Konig é essencialmente o Teorema de Fluxo
Teoria dos Grafos. Cobertura, Coloração de Arestas, Emparelhamento
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada [email protected], [email protected], [email protected] Cobertura, Coloração
Teoria dos Grafos. Edson Prestes
Edson Prestes Existem três companhias que devem abastecer com gás, eletricidade e água três prédios diferentes através de tubulações subterrâneas. Estas tubulações podem estar à mesma profundidade? Isto
Lista de Exercícios2
Lista de Exercícios2 Esta lista de exercícios foi criada com o intuito de prover ao aluno uma plataforma para a revisão sistemática do conteúdo visto em aula. Estes exercícios não são de nenhuma maneira
Teoria dos Grafos Aula 2
Teoria dos Grafos Aula 2 Aula passada Logística, regras Objetivos Grafos, o que são? Formando pares Encontrando caminhos Aula de hoje Outro problema real Definições importantes Algumas propriedades Grafo
