Grafos Muitos problemas formulados em objetos e conexes
Grafos Muitos problemas formulados em objetos e conexões entre eles äMapa com rotas aéreas Ømaneira mais rápida de x para y Ømaneira mais barata de x para y üinterconexões (rotas aéreas) entre üobjetos (cidades) äSequenciar tarefas (job scheduling) Øobjetos são tarefas a serem executadas Øinterconexões indicam seqüência das tarefas CAP-223
Grafos (cont. ) História Euler (1736) - pontes de Königsberg Baseado na disposição das pontes, mostrou que era impossível percorrer por todas passando somente uma vez CAP-223
Grafos (cont. ) Kirchoff (1847) - estudo das árvores para problemas de circuitos elétricos Hamilton (1859) - problemas de caminho Jordan (1869) - procura formalizar teoria de árvores Século XX - desenvolveu rapidamente Ford e Fulkerson (1962) - aplicação na teoria de fluxos de rede Apesar das tendências em considerar o estudo de fluxo em rede, muitos outros problemas podem ser resolvidos através da teoria dos grafos CAP-223
Grafos (cont. ) Grafo é um objeto matemático que consegue modelar tais situações Grafo Vértices Objetos com nome e outras propriedades Arestas Conexão entre dois vértices CAP-223
Grafos (cont. ) Matematicamente, um grafo G = (V, E) V é um conjunto de vértices E é um conjunto de arestas (edges) onde cada aresta é um par de vértices Exemplo: (v, w) Um grafo é representado graficamente usando pequenos círculos para vértices e retas ou curvas para arestas CAP-223
Grafos (cont. ) V = a, b, c, d, e, f E = (a, b), (b, c), (b, e), (c, d), (d, f) (a, b) é uma aresta entre vértice a e vértice b Arestas do tipo (a, a) não são permitidas A cardinalidade ou ORDEM é igual à quantidade de seus elementos. C(V) = 6 Um grafo pode ser direcionado ou não direcionado Um grafo é dito direcionado, ou também chamado de digrafo, digrafo quando o sentido das ligações entre os vértices é importante CAP-223
Grafos (cont. ) A B F C D E G Caminho de vértice x a vértice y é uma lista de vértices na qual sucessivos vértices estão conectados por arestas no grafo {(B, A), (A, F), (F, E), (E, G)} Grafo é conectado se um caminho de cada vértice para qualquer outro vértice Caminho simples é um caminho no qual nenhum vértice é repetido (B - A - F - E - G) Ciclo é um caminho simples com exceção de que o primeiro e o último vértices são os mesmos (A - F - E - G - A) Circuito é um ciclo onde pode haver repetição de vértices no caminho (A - C - A - G - E - D - F - A) CAP-223
Grafos (cont. ) Adjacência de dois vértices v e w ocorre quando uma aresta (v, w) entre v e w Vértices Maria e Pedro são adjacentes Esta aresta é dita incidente a ambos os vértices Grafo direcionado Adjacência Sucessor - w é sucessor de v se aresta sai de v e chega em w Exemplo: Emerson e Antonio são sucessores de Alfredo Adjacência Antecessor - w é antecessor de v se aresta sai de w e chega em v Exemplo: Alfredo e Cecília são antecessores de Antonio. CAP-223
Grafos (cont. ) Grau de um vértice está relacionado com a incidência das arestas Grau (Pedro) = 3 Grau (Maria) = 2 Grau de Emissão/Recepção Grau Emissão (Alfredo) = 2 Grau Emissão (Cecília) = 1 Grau Emissão (Renata) = 0 Grau Recepção (Antonio) = 2 Grau Recepção (Renata) = 1 Grau Recepção (Alfredo) = 0 CAP-223
Grafos (cont. ) Vértice v é fonte se Grau Recepção (v) = 0 Exemplo: Isadora, Alfredo e Cecília Vértice v é sumidouro se Grau Emissão (v) = 0 Exemplo: Emerson e Renata Um grafo é regular se todos os seus vértices tem o mesmo grau Grafo regular-3 Todos os seus vértices tem grau = 3 CAP-223
Grafos (cont. ) Um subgrafo G’ = (V’, E’) de um grafo G = (V, E) é um grafo tal que V’ V e E’ E. O subgrafo é sempre obtido pela supressão de pelo menos um vértice e suas respectivas arestas incidentes CAP-223
Grafos (cont. ) Um subgrafo G 1 (V 1, E 1) de um grafo G (V, E) é um subgrafo gerador (de G (V, E) se V = V 1 3 3 4 2 5 1 6 CAP-223
Grafos (cont. ) Quando o subgrafo gerador é uma árvore ela é chamada de árvore geradora (spanning tree) [remover arestas até eliminar os ciclos, mas mantendo a conexidade] 3 3 4 2 5 1 6 CAP-223
Grafos (cont. ) Grafo G (V, E) é conexo quando existe caminho entre cada par de vértices de G. Caso contrário é desconexo CAP-223
Grafos (cont. ) G (V, E) é um grafo conexo Cada aresta e = (v, w) possui um peso d(e) Peso de uma árvore geradora T (V, ET) é a soma dos pesos das arestas de G que formam T. Árvore geradora máxima (Maximum Spanning Tree) Árvore geradora mínima (Minimum Spanning Tree) CAP-223
Grafos (cont. ) Grafo parcial é um grafo onde os vértices são iguais mas as arestas não são. CAP-223
Grafos (cont. ) Grafo complementar de G possui a mesma ordem (cardinalidade) de G mas as arestas não existentes em G G CAP-223
Grafos - Aplicações Verificação de existência de funções inúteis CAP-223
Grafos - Aplicações (cont. ) Problema do caixeiro viajante • Área de venda de um caixeiro viajante com várias cidades • Muitas conectadas (aos pares) por rodovias • Necessidade de visitar cada cidade Como estabelecer uma viagem circular (volta ao ponto de partida) de tal forma que cada cidade é visitada somente uma vez? CAP-223
Grafos - Aplicações (cont. ) Problema da Coleta de Correspondência • ECT mantém vários pontos de coleta • O motorista tem que coletar passando por todos os postos Como modelar o problema? Como encontrar a melhor rota? CAP-223
Grafos - Aplicações (cont. ) Problema do caminho do custo mínimo Transporte de carga - selecionar caminho de menor custo entre quaisquer duas cidades CAP-223
Grafos - Aplicações (cont. ) Problema dos dissidentes políticos Prisioneiros divididos em celas. Para escapar precisa explodir os portões. Destruir o menor número de portões e garantindo que todos escapem. Quantos portões devem ser explodidos? CAP-223
Grafos - Aplicações (cont. ) Problema da RNP (Rede Nacional de Pesquisa) Rede de computadores que interliga grande número de instituições (ensino/pesquisa). Em algumas cidades há um POP (Ponto de Presença) Havendo mais de uma rota possível entre dois POPs como determinar qual a rota mais apropriada? CAP-223
Grafos - Aplicações (cont. ) Problema dos canibais e missionários 3 canibais e 3 missionários precisam atravessar o rio. Barco com capacidade de 2 pessoas. Restrição - número de canibais não podem ser maior que o número de missionários Como administrar a travessia? CAP-223
Grafos - Aplicações (cont. ) Problema de rede de computadores Projeto de redes de computadores onde os vértices são máquinas e arestas são conexões entre 2 máquinas juntamente com o custo. Possibilidade de comunicação sempre a um custo mínimo Determinar quais ligações inúteis? CAP-223
Grafos - Aplicações (cont. ) Problema de 3 casas e 3 serviços É possível conectar cada serviço a cada uma das três casas sem haver cruzamento de tubulações? CAP-223
Grafos - Aplicações (cont. ) Problema de coloração de mapas Na atualização de mapa político de um estado, cada município é colorida com uma cor distinta de seus vizinhos Minimizar o número de cores do mapa Como colorir o mapa com o menor número de cores? CAP-223
- Slides: 27