1 / 43

Algoritmos em Grafos

Algoritmos em Grafos. Conceitos principais. Prof. André Renato 1º Semestre / 2012. O que é um grafo?. Um grafo G(V,E) é um conjunto finito não-vazio de V e um conjunto E de pares não ordenados de elementos distintos de V.

leiko
Download Presentation

Algoritmos em Grafos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmos em Grafos Conceitos principais Prof. André Renato 1º Semestre / 2012

  2. O que é um grafo? • Um grafo G(V,E) é um conjunto finito não-vazio de V e um conjunto E de pares não ordenados de elementos distintos de V. • Os elementos de V são denominados vértices e os elementos de E são denominados arestas. • A ordem de um grafo é a cardinalidade do conjunto de vértices V.

  3. Conceitos • Cada aresta e  E pode ser representada pelos vértices (v1,v2) que a formam. • Os vértices v1 e v2 são chamados de extremos da aresta e. Também são classificados como adjacentes. • A aresta e é dita incidente a v1 e v2. • Duas arestas que possuam um extremo em comum são ditas adjacentes.

  4. Conceitos • Um subgrafo G2(V2,E2) de um grafo G1(V1,E1) é um grafo tal que V2  V1 e E2  E1. • Se além disso, G2 possuir toda aresta (v,w) de G1 de forma que ambos v e w estejam em G2, este é considerado induzido pelo conjunto de vértices V2.

  5. Conceitos 1 2 1 2 3 3 4 5 4 1 2 3 4

  6. Conceitos • Normalmente um grafo pode ser visualizado através da sua representação geométrica, na qual os vértices são representados por pontos (ou pequenos círculos) e as arestas por linhas que conectam estes pontos.

  7. Conceitos • Como desenhar um grafo? • O único cuidado que devemos ter para representar corretamente um grafo é preservar a correta relação de arestas com os seus respectivos vértices incidentes.

  8. Conceitos • Isomorfismo: • Dadas duas representações geométricas distintas, correspondem elas ao mesmo grafo? • É possível fazer coincidir os vértices de duas representações de modo a preservar as relações de adjacência? • Em caso afirmativo, os grafos são chamados de isomorfos entre si.

  9. Conceitos b • Isomorfismo: a 1 4 f c 2 3 8 7 d 6 5 e h g j p i k l o n m

  10. Conceitos • Existem arestas cujos extremos sejam o mesmo vértice? • Sim; estas arestas são chamadas de laços (loopback). • Aplicações???? ... ...

  11. Conceitos • Pode existir grafos com mais de uma aresta incidente aos mesmos vértices? • Sim; neste caso, o grafo é chamado de multigrafo. As arestas são chamadas de paralelas. • Aplicações???

  12. Conceitos • Uma aresta e, incidente a v1 e v2, provê uma relação reflexiva entre estas vértices. Ou seja, v1 está conectado a v2 da mesma forma que v2 está conectado a v1. • Uma aresta onde esta propriedade reflexiva não esteja preservada é pode ser chamada de arco e normalmente é representada por uma seta. v1 v2

  13. Conceitos • Neste caso a relação de v1 para v2 é distinta da relação de v2 para v1. • Grafos que possuam arcos são chamados de grafos direcionados (digrafos); os demais, de grafos não-direcioanados. • Uma aresta e = (v1,v2) pode ser entendida como um par de arcos (v1,v2) e (v2,v1). v1 v2 v1 v2

  14. Conceitos • Grau de um vértice v: • é a quantidade total de arestas incidentes a v; • Em grafos direcionados, existem o grau de entrada e o grau de saída; • Grau de entrada: é a quantidade de arcos que chegam a v; • Grau de saída: é a quantidade de arcos que partem de v;

  15. Conceitos • Grau de um vértice v: • um vértice com grau de entrada zero é chamado de fonte; • um vértice com grau de saída zero é chamado de sumidouro;

  16. Conceitos • Vértices que possuam grau igual a zero, são chamados de desconexos. • G será totalmente desconexo se não possuir arestas. • Um grafo será considerado conexo se e somente se for possível sair de v e chegar a w, para todo par de vértices (v,w) do grafo. Será desconexo, caso contrário. • O grafo será fortemente conexo, se for possível sair de v, chegar a w e voltar a v, para todo par de vértices (v,w) do grafo.

  17. Conceitos • Verificar!!!!

  18. Conceitos • Qual a quantidade mínima de arestas um grafo deve ter para não ser desconexo? • Qual a quantidade máxima de arestas um grafo pode ter? • Considerar |V| = n e |E| = m.

  19. Conceitos • Grafos regulares são aqueles em que todos os vértices possuem o mesmo grau.

  20. Conceitos • Seja G(V,E) um grafo conexo. Um corte de vértices de G é um subconjunto de vértices de G que, se forem removidos, tornam G desconexo. • É possível fazer uma analogia para um corte de arestas. • Conectividade de vértices e conectividade de arestas é a cardinalidade dos respectivos menores subconjuntos.

  21. Conceitos 1 1 1 3 4 3 4 2 2 2 5 5 5 6 6 6 8 8 8 7 7 7 • Seja um inteiro k positivo, diz-se que G é k-conexo em vértices (arestas) quando sua conectividade de vértices (arestas) é ≥ k. • O primeiro grafo é 1-conexo em vértices, 1- e 2-conexo em arestas. • 2-conexo -> biconexo

  22. Conceitos • Uma articulação é um vértice v que, se removido, torna o grafo desconexo. • Uma ponte é uma aresta que causa o mesmo efeito. Componentes biconexos (blocos)

  23. Conceitos • Grafos que possuam arestas entre todos os pares de vértices de V são chamados de grafos completos. • Um grafo completo pode ser representado pela notação Kn, onde n é a ordem do grafo. K5

  24. Conceitos • O complemento de um grafo G(V,E) é em grafo G que possuam todos os vértices de V e todas as arestas que faltam a E para que G seja completo.

  25. Conceitos • Clique é um subgrafo G2 de G1, tal que G2 seja completo. • Clique maximal é o subgrafo G2 de maior ordem possível. Ou seja, é o maior subgrafo completo de G1.

  26. Conceitos • Em um grafo G(V,E), uma partição é a divisão do conjunto V em dois ou mais subconjuntos com interseção vazia. A união desses subcojuntos deve resultar em V. • Além disso, as arestas de E só podem conectar vértices de subcojuntos distintos. • O caso mais usual é de grafos bi-partidos (bipartite).

  27. Conceitos

  28. Conceitos • Seja um grafo G(V,E) e um conjunto de cores C={ci}, uma coloração de G é uma atribuição de cores aos vértices de V, sem que vértices adjacentes tenham a mesma cor.

  29. Conceitos • Uma k-coloração de G é uma coloração que utiliza k cores. Diz-se que G é k-colorível. • O número cromático X(G) de um grafo G é o menor número de cores k, para o qual existe uma k-coloração.

  30. Conceitos • Seja G um grafo e R sua representação geométrica. R é dita plana quando não houver cruzamento de linhas. • Um grafo que possuir pelo menos uma representação plana é chamado de planar.

  31. Conceitos • G é imersível em uma superfície S se possuir uma representação R desenhada em S, tal que duas linhas não se cruzem. • Neste caso, as linhas dividem a superfície em faces. Existem sempre uma face não limitada chamada de externa. f3 f4 f2 f1

  32. Conceitos • Fórmula de Euler para poliedros: n + f = m +2 • Cada face é limitada por, no mínimo 3 arestas. Cada aresta pertence a exatamente duas faces. Logo, 2m ≥ 3f. • Aplicando, m ≤ 3n -6, para que um grafo seja planar.

  33. Conceitos • Se a um grafo G(V,E) for associada uma função f:E=>R, diz-se que o grafo é ponderado em arestas. • Em outras palavras, cada aresta do grafo deve estar associada a um número real. 2 3 -0.5 -1

  34. Conceitos • O valor associado a cada aresta é chamado de peso da aresta. • Uma aresta pode ter peso zero, dependendo do problema relacionado. • Um grafo também pode ter pesos associados aos vértices. Neste caso, é denominado ponderado em vértices.

  35. Conceitos • Grafos que não possuam pesos, são chamado de não-ponderados. • Dependendo do problema a ser estudado, valores específicos (pesos) podem ser dados a vértices e arestas. • Outro atributos também podem ser associados a estes elementos.

  36. Conceitos • Sejam G1(V,E1) e G2(V,E2) dois grafos que compartilham o mesmo conjunto de vértices, tal que E1 E2. • Um grafo G(V,E) é considerado grafo-sanduíche de (G1,G2) se E contiver E1 e estiver contido em E2.

  37. Conceitos G1 G2 G G G G G G G

  38. Aplicações • Roteamento 2 1 3 3 2 2 3 4 1

  39. Aplicações • Escalonamento

  40. Aplicações • Redes 10 2 3 2 2 4 3 2 1 3 5 3 1 2

  41. Exercícios • Identificar: • Ordem do grafo • Graus dos vértices • Dois isomorfos • Subgrafo induzido por {1,3,4,5,8} • Dois subgrafos não-induzidos por {2,4,6,7,8} • O grafo é conexo, fortemente conexo ou desconexo? 3 2 4 8 1 5 6 9 7

  42. Exercícios • Identificar: • Conectividade de vértices e arestas • Pontes e articulações • Dois blocos • Cliques de tamanho 3 ou maior • K-coloração (a menor possível) • Um subgrafo planar de ordem 5 ou maior • Complemento do grafo 3 2 4 8 5 1 6 9 7

  43. Exercícios • Desenhar todos os grafos sanduíche: 3 3 2 4 2 4 5 5 1 1 6 6 8 8 7 7

More Related