GRAFOS Introdução Conceitos Fundamentais
Uma aplicação do produto de matrizes
Agora é a sua vez... Considere o diagrama seguinte Determine, o número de formas diferentes de ir de a 1 até e 2 e de a 2 até e 1.
GRAFOS Um esquema como os apresentados até aqui pode ser o resumo de uma informação recolhida nos mais variados contextos: Mapa de estradas Diagramas de circuitos Conexões entre componentes de uma rede. Conexões entre tabelas de dados etc... Este é o ponto de partida para o estudo de grafos: um conjunto de objetos (a que chamamos de vértices) e de linhas (a que chamamos arestas) que os unem.
Grafos
Conceitos fundamentais Dois vértices são adjacentes se existe uma aresta a uni-los. Uma aresta é incidente num vértice se esse vértice é um dos dois que define a aresta. Há ocasiões em que se torna necessário considerar grafos em que há pares de vértices unidos por mais do que uma aresta (arestas paralelas) e outros em que, para além de arestas paralelas, arestas que incidem no mesmo vértice com ambas a extremidades (lacete ou loop). Estes grafos são chamados multigrafos e pseudografos. Arestas paralelas loops Multigrafo Pseudografo
Conceitos fundamentais Duas arestas incidentes ao mesmo vértice são chamadas de adjacentes. Um vértice é dito isolado se não possui nenhuma aresta incidente. Inicialmente, iremos estudar os grafos simples, isto é, que não têm aresta paralelas nem loops. Um caso particular são os grafos completos. Estes têm n vértices e todos os seus vértices são adjacentes. Para cada n N, representamos o grafo completo respectivo por K n. K 4 K 7 K 15
Modelos usando grafos Grafo Vértice Aresta Comunicação Circutos Hidráulico Centrais telefônicas, computadores, satélites Portas lógicas, processadores, componentes eletrônicos Reservatórios, estações de bombeamento Cabos, fibra óptica, enlaces Trilhas PCB, Filamentos, fios Tubulações Financeiro Ações, moeda Transações Transporte Cidades, bairros, aeroportos Rodovias, vias aéreas Arquitetura funcional de um software Módulos Internet Serviços web Links Interações entre os módulos Jogos de tabuleiro Posições no tabuleiro Movimentos permitidos Relações pessoais Pessoas, atores Amizades, trabalho conjunto
Circuito elétrico: Leis de Kirchoff
Estruturas moleculares
Conectividade de RNEP A Rede Nacional de Ensino e Pesquisa criou a primeira infraestrutura de comunicação (backbone) no Brasil para interconexão com a internet. O grafo da conectividade da rede tem uma topologia basicamente na forma estrela Diferentes enlaces de comunicação (arestas) possuem diferentes capaxidades
Conectividade na internet O grafo mostra a conectividade entre roteadores na Internet, resultado de uma trabalho iniciado por Hal Burch e Bill Cheswick ( Internet Mapping Project ) e atualmente desenvolvido comercialmente pela empresa Lumeta (www.lumeta.com) Lumeta.jpg Internet_map_1024.jpg
Modelo: Vegetarianos e Canibais Seja uma região formada por vegetarianos e canibais Inicialmente, dois vegetarianos e dois canibais estão na margem esquerda (ME) de um rio Existe um barco que pode transportar no máximo duas pessoas e sempre atravessa o rio com pelo menos uma pessoa O objetivo é achar uma forma de transportar os dois vegetarianos e os dois canibais para a margem direita (MD) do rio Em nenhum momento, o número de canibais numa margem do rio pode ser maior que o número de vegetarianos, caso contrário,...
Uma possível sequência válida de cenário é:
Relembrando... Um grafo é uma tripla ordenada V, E, g onde V = um conjunto não-vazio de vértices (ou nós) E = um conjunto de arestas (ou arcos) g = uma função que associa cada aresta e a um par não-ordenado de vértices chamados de extremos de e Os grafos tem sempre um número finito de vértices e de arestas
Terminologia
Terminologia
Grafo Simples Um grafo simples é um grafo que não tenha arestas paralelas nem laços Exemplo: quais são os grafos com quatro vértices {u, v, w, x} e duas arestas, sendo que uma delas é a aresta que com extremos uv? Dado quatro vértices, existem C(4, 2) = 6 subconjuntos, que definem arestas diferentes : {uv, uw, ux, vw, vx, wx} Logo, todos os grafos simples de quatro vértices e duas arestas, sendo uma delas a uv são:
Quantidade de grafos distintos com n vértices O número total de grafos distintos com n vértices é 2 n2 n 2 = 2 E que representa a quantidade de maneiras diferentes de escolher um subconjunto a partir das possíveis arestas de um gráfico com n vértices.
Exemplo Um grafo com 3 vértices v 1, v 2 e v 3 possui no máximo 3 arestas, ou seja, E = {v 1 v 2, v 1 v 3, v 2 v 3 }. O número de sub-conjuntos distintos de E é dado por P(E), ou seja, o conjunto potência de E que vale 2 E. 2 32 3 2 = 2 3 = 8
SubGrafos Um grafo H é dito um subgrafo de um grafo G se: Cada vértice de H é também um vértice de G: V(H) V(G) Cada aresta de H é também uma aresta de G: E H E G Cada aresta de H tem os mesmo vértices terminais em G Em outras palavras, é um grafo obtido apagando-se parte do grafo original e deixando o restante sem alterações
Caminho em um grafo Seja G um grafo simples. Um caminho entre dois vértices v 0 e v n é uma sequência alternada de vértices e arestas v 0, e 0, v 1, e 1,, v n 1, e n 1, v n onde para cada i, os extremos da aresta e i são v i e v i+1. Um possível caminho entre v 1 e v 4 é: v 1 e 6 v 3 e 2 v 4 e 7 v 2 e 1 v 3 e 2 v 4 e 3 v 1 e 4 v 2 e 5 v 4
Caminho de um grafo Quando não houver possibilidades de ambiguidades, denotaremos um caminho pela sequência de vértices. O comprimento de um caminho é o número n de arestas que ele contém; se esta for usada mais de uma vez, ela deve ser contada tantas vezes quantas for usada. No caso de arestas múltiplas, deve-se indicar qual delas está sendo usada. Um grafo é dito conexo se houver um caminho entre quaisquer dois vértices. Um ciclo em um grafo é um caminho de algum vértice v 0 até v 0 de novo de forma que nenhum vértice ocorra mais de uma vez no caminho, v 0 é o único vértice que ocorre mais de uma vez e este ocorre apenas nos extremos do caminho. Um grafo sem ciclos é dito acíclico.
Caminhos de um grafo O caminho é denominado fechado se o primeiro e o último vértices são o mesmo (v 0 = v n ) Um possível caminho fechado: v 1 e 6 v 3 e 2 v 4 e 7 v 2 e 1 v 3 e 2 v 4 e 3 v 1 e 4 v 2 e 5 v 4 e 3 v 1 Um caminho sem arestas repetidas é chamado trajeto (path) Um possível trajeto: v 1 e 6 v 3 e 2 v 4 e 7 v 2 e 1 v 3
Caminhos de um grafo Trajeto simples: caminho sem arestas nem vértices repetidos Um possível trajeto simples: v 1 e 6 v 3 e 2 v 4 e 7 v 2 Ciclo simples: ciclo onde não há arestas e vértices repetidos, exceto os vértices inicial e final que são idênticos. Um possível ciclo simples: v 1 e 6 v 3 e 2 v 4 e 7 v 2 e 4 v 1
Vamos praticar... 1. Trace um grafo que tenha os vértices 1, 2, 3, 4, 5, arestas {a 1, a 2, a 3, a 4, a 5, a 6 } e a função areta-vértices tal que f(a 1 ) = 1 2, f(a 2 ) = 1 3, f(a 3 ) = 3 4, f(a 4 ) = 3 4, f (a 5 ) = 4 5, f(a 6 ) = 5 5. 2. Com relação ao grafo da questão 1, a. Encontre dois vértices que não sejam adjacentes; b. Encontre um vértice que seja adjacente a ele mesmo; c. Encontre um laço; d. Encontre duas arestas paralelas; e. Encontre um caminho de comprimento 5; f. Encontre um ciclo; g. Este grafo é completo? h. Este grado é conexo?
Pontes de Königsberg Um dos problemas mais antigos sobre grafos éo das pontes de Königsberg e consiste no seguinte: a cidade de Königsberg éatravessada por um rio e, num dado local, há duas ilhas. Como dar um passeio em que atravessemos todas pontes exatamente uma vez, terminando a caminhada no ponto de partida?
Pontes de Königsberg Podemos, então, generalizar o problema ao estudo do (multi)grafo O matemático suiço Leonhard Euler resolveu este problema em 1736. No grafo anterior, os vértices representam terra firme enquanto que as arestas representam as pontes. O problema consiste em responder à questão: existe um caminho fechado em que todas as arestas são utilizadas exatamente uma vez? Um caminho com estas características chama-se ciclo de Euler.
Pontes de Königsberg Para responder a isto, temos de introduzir outro conceito: Grau de um vértice: O grau de um vértice v, denotado por deg(v), é o número de arestas que incidem nesse vértice (com uma aresta que seja um laço contada duas vezes). O grau total do grafo é a soma dos graus de todos os seus vértices grau(a) = 3 ; grau(b) = 5 ; grau(c) = 3 ; grau(d) = 3 Teorema: A soma dos graus dos vértices de um grafo G é igual a duas vezes o número de arestas em G deg G = deg v 1 + deg v 2 + + deg v n = 2 número de arestas de G
Pontes de Königsberg O que Euler mostrou foi que para um grafo ter um ciclo de Euler todos os vértices têm de ter grau par. Teorema: Num grafo conexo existe um ciclo de Euler se, e somente se, todos os vértices têm grau par. Assim, podemos concluir que o problema das pontes atrás descrito é impossível.
Trajeto Euleriano Um Trajeto Euleriano de v 0 para v n é uma sequência de arestas e vértices adjacentes que começa emv 0, termina em v n e passa por cada vértice do grafo G pelo menos uma vez e passa por cada aresta de G exatamente uma única vez. Corolário: Seja G um grafo e dois vértices v 0 e v n de G. Existe um trajeto Euleriano de v 0 para v n se G é conexo e v 0 e v n têm grau ímpar e todos os outros vértices de G têm grau par.
Trajeto Euleriano Uma casa possui uma divisão representada pela planta abaixo. É possível uma pessoa sair do cômodo A, terminar no cômodo B e passar por todas as portas da casa exatamente uma única vez? Se sim, apresente um possível trajeto.
Trajeto Eureliano A planta da casa pode ser representada pelo grafo Cada vértice deste grafo tem um grau par, exceto os vértices A e B que têm grau 1. Assim, pelo corolário anterior, existe um trajeto Euleriano de A para B. AGHFEIHEKJDCB