750 likes | 796 Views
UNIPAR Universidade Paranaense Campus Sede Umuarama. Tópicos Especiais em Tecnologia da Computação (TETC). GERSTING, Judith Fundamentos Matemáticos para a Ciência da Computação Editora LTC, 1995, São Paulo, Cap.5 Sistemas de Informação 4º SI. Grafos
E N D
UNIPAR Universidade Paranaense Campus Sede Umuarama Tópicos Especiais em Tecnologia da Computação(TETC)
GERSTING, Judith Fundamentos Matemáticos para a Ciência da Computação Editora LTC, 1995, São Paulo, Cap.5 Sistemas de Informação 4º SI Grafos Definição, Terminologia e Conceitos Elementares Professora Elaine Augusto Praça Fevereiro/2008
O que é um grafo? • Um grafo é uma representação gráfica de elementos de dados e das conexões entre alguns destes itens. • Uma árvore é um caso particular de grafo. • Outros exemplos: interesse de desempregados por vagas em empresas, rotas de uma companhia aérea.
Qual a importância computacional do uso dos grafos? • É bastante abrangente o uso de grafos na computação em áreas como: • Análise de planejamento de projetos • Cibernética • Redes de Computadores • Circuitos Eletrônicos.
Definição • Definição Um grafo é uma tripla (N, A, g) em que: N = um conjunto não vazio de vértices (nós ou nodos) A = um conjunto de arestas (arcos) g = uma função que associa cada aresta a a um par não-ordenado x-y de vértices chamados extremos de a
5 a2 a3 a1 1 2 a4 a5 a6 4 3 Adjacência • Dois vértices sãovértices adjacentes se forem os extremos de uma mesma reta. 1 e 3 (a5)
5 a2 a3 a1 1 2 a4 a5 a6 4 3 Adjacência • Duas arestas que possuem um extremo em comum são ditas arestas adjacentes. A1 e a4 (2)
5 5 a2 a3 a2 a1 1 2 a1 a4 1 2 a4 a5 a5 a6 4 3 a6 4 3 Laços • Um grafo que não possui laços é chamado grafo sem laços. • Umlaçoé uma aresta com extremos n-n para algum nó n. a3 (2-2)
5 a2 a3 a1 1 2 a4 a5 a6 4 3 Paralelismo • Duas arestas que tem os mesmos extremos são ditas arestas paralelas. A1 e a2 (1-2)
5 a2 a3 a1 5 1 2 a4 a5 a1 1 2 a6 a4 4 3 a5 a6 4 3 Grafo Simples • Vértice isolado não é adjacente a qualquer outro vértice. • Um grafo simples é um grafo que não tenha arestas paralelas nem laços. 5
Outros grafos • Diagramas com arestas paralelas são chamados de multigrafos. • Diagramas com arestas paralelas e laços são chamados de pseudografos.
Tipos de Grafos Grafo Multigrafo Pseudografo
Tipos de Grafos • Grafos simples e multigrafos são pseudografos, Grafo Multigrafo Pseudografo • Um vértice isolado não é adjacente a qualquer outro vértice.
5 a2 a3 a1 1 2 a4 a5 a6 4 3 Grau • O grau de um vértice é número de arestas que o tem como ponto extremo. • Como a função g relaciona cada aresta a seus extremos, cada aresta tem um único par de pontos extremos. Vértice 1: grau 3 Vértice 5: grau 0 Vértice 2: grau 5 g(a1)= 1-2; g(a6)= 3-4; g(a3)= 2-2
Grafos completos • Um grafo completo é aquele no qual todos os vértices distintos dois a dois são adjacentes. • Kn é um grafo completo com n vértices. Exemplo: K4
Grafos Completos • Exemplos Kn (grafos completos) K2 K3 K4 K5
a3 a4 3 2 a6 5 a1 1 2 a5 a4 3 a2 Subgrafo a3 a1 1 2 a4 5 a5 • Um subgrafode um grafo consiste em um conjunto de vértices e um conjunto de arestas que são subconjuntos de vértices e arestas originais, nos quais os extremos de qualquer aresta são os mesmos que no grafo original. a6 4 3 4
2 1 4 3 G 2 2 1 1 4 4 3 3 G1 G2 2 2 2 1 1 1 4 4 4 3 3 3 G3 G4 G5 Grafos e subgrafos • G1, G2, G3, G4 e G5 são subgrafos de G com os vértices V={1,2,3,4}.
2 2 1 1 5 4 4 3 3 G G1 Grafos e subgrafos • O grafo G1 se destaca dos demais pois este possui todas as arestas que estão no grafo G. O grafo G1 é chamado de sub-grafo induzido pelo conjunto de vértices {1,2,3,4}.
6 5 6 1 5 6 5 J 4 4 1 1 6 5 2 3 4 3 1 G H Q 3 Grafos e subgrafos • H e J são subgrafos induzidos de G sobre os conjuntos Vh={1,3,4,5,6} e Vj={6,1,5}. • Q não é um subgrafo induzido por V={1,3,4,5,6} pois a aresta 1-4 não faz parte do subgrafo.
Grafos e subgrafos • Definições: 1- Dado um grafo G=(V, a) dizemos que o grafo G1=(V1,a1) é um subgrafo de G se V1 é um subconjunto de V (podendo ser igual a V) e as arestas de a1 são um subconjunto das arestas a. • 2- Dizemos que G1 é um subgrafo induzido por V1 se todas as arestas V1V2 de a tais que V1 e V2 pertencem a V1 então V1V2 também pertence a a1.
2 2 6 6 3 5 3 5 4 7 7 1 Q 1 P Desconectando um grafo • O grafo Q foi obtido do grafo P removendo-se o vértice 4 e suas arestas incidentes. P é conexo e Q é desconexo com duas componentes conexas e 4 é o vértice de corte.
2 2 6 6 3 4 3 4 5 5 M 1 N 1 Desconectando um grafo • O grafo N foi obtido de M removendo-se a aresta 3-4. O grafo M é conexo e N é desconexo. A aresta 3-4 é chamada de aresta de corteouponte.
Desconectando um grafo • Muitas vezes, para se desconectar um grafo é necessário remover um ou mais vértices ou arestas e um conjunto mínimo de vértices que desconecta um grafo é chamado de vértices de corte. • De modo análogo, temos arestas de corte.
3 3 8 8 4 4 2 2 7 7 1 5 6 1 5 6 Desconectando um grafo • Nas figuras abaixo as arestas {4-7,5-6} são arestas de corte e este conjunto é mínimo pois removendo-se apenas uma das arestas o grafo não desconecta.
3 3 8 8 4 4 2 2 7 7 1 5 6 1 5 6 Desconectando um grafo • As arestas {4-7,5-6,6-7} também desconectam o grafo, mas elas não são consideradas arestas de corte, pois este não é um subconjunto mínimo de corte, já que existe o subconjunto {4-7, 5-6} contido em {4-7, 5-6, 6-7} que desconecta o grafo.
a2 a3 a1 1 2 a4 5 a5 a6 4 3 Caminho • Um caminho é uma seqüência de vértices e arestas, onde para cada i, os extremos da aresta aisão ni-ni+1. Alguns Caminhos possíveis vértices 2-4= 2, a1, 1, a2, 2, a4, 3, a6, 4 Ou 2, a4, 3, a6, 4 Ou...
a2 a3 a1 1 2 a4 5 a5 a6 4 3 Comprimento • Ocomprimento de um caminho é o número de arestas que ele contém. Caminhos \ comprimento 2, a1, 1, a2, 2, a4, 3, a6, 4 ►comprimento 4 2, a4, 3, a6, 4 ►comprimento 2
a2 a3 a1 1 2 a4 5 a5 a6 4 3 Conexão • Um grafo é conexo se houver um caminho entre quaisquer dois vértices. a2 a3 a1 1 2 a4 a5 3 Não conexo (vértice 5 isolado) Conexo (caminhos entre 2 vértices)
a2 a3 a1 1 2 a4 5 a5 a6 4 3 Ciclos • Umcicloé um caminho de algum vértice n até n de novo de forma que nenhum vértice ocorra mais de uma vez no caminho. • Um grafo sem ciclos é dito grafo acíclico. Ciclo: 1, a1, 2, a4, 3, a5, 1
4 5 5 4 6 6 3 3 1 2 1 2 Complemento • Denomina-se complemento de um grafo G(V,E) ao grafo G, o qual possui o mesmo conjunto de vértices do que G tal que para todo par de vértices distintos v, w de V, tem-se que (v,w) é aresta de G se e somente se não o for de G.
Grafos Regulares e Completos • Um grafo é dito regular se todos os seus vértices possuem o mesmo grau. • Um grafo é dito completo se existe uma aresta ligando todos os pares de vértices. • Exemplos de grafos regulares:
Grafos Regulares • Um grafo cujos vértices têm o mesmo grau é chamado de grafo regular. Grau 4 Grau 1 Grau 2 Grau 3
Grafos Regulares e Completos • Dado um grafo kn (grafo completo com n vértices), este possui o número máximo de arestas. • Cada vértice tem grau n-1, logo todo grafo completo é necessariamente regular.
PRÁTICA 1 (219) • Trace um grafo que tenha: • os vértices {1,2,3,4,5}, • as arestas {a1,a2,a3,a4,a5,a6} • e a função g(a1)= 1-2, g(a2)= 1-3, g(a3)= 3-4, g(a4)= 3-4, g(a5)= 4-5, g(a6)= 5-5.
PRÁTICA 2 (219) • Encontre: a - dois vértices que não sejam adjacentes; b - um vértice que seja adjacente a ele mesmo; c - um laço; d - duas arestas paralelas; e - o grau do vértice 3; f - um caminho de comprimento 5; g - um ciclo; h - o complemento deste grafo. • Este grafo é completo? • Este grafo é conexo?
B C e1 a1 a2 A D 1 2 C B a2 e2 a1 3 4 A D Grafos Isomorfos 07-06 paramos aqui f1: 1→a 2 →b 3 →c 4 →d f2: a1→e2 a2 →e1
Grafos Isomorfos • Dois grafos podem parecer muito diferentes em suas representações gráficas, mas serem, ainda assim, o mesmo grafo de acordo com nossa definição de grafo. • Os grafos apresentados anteriormente são os mesmos, pois tem os mesmos vértices, as mesmas arestas e a mesma função de associação de arestas e seus extremos.
Grafos Isomorfos • Para mostrar que dois grafos são isomorfos é preciso produzir novos rótulos (por meio de uma função injetiva e sobrejetiva) e então mostrar que a lista de quais arestas conectam quais vértices é preservada.
Grafos Isomorfos • Dados G1={V1, a1} e G2={V2, a2}: V1={A, B,C,D} a1={AC, CD, DA, AB, CB, DB} V2 = {A1,A2,A3,A4} a2 = {A1A2,A2A3,A3A4,A1A4,A2A4,A3A1} • Ambos possuem 4 vértices e 6 arestas. Desenhe G1 e G2
B C A1 A3 A4 A D G1 A2 G2 Grafos Isomorfos • Se trocamos no gráfico G1: A A1 D A3 C A2 B A4 • Cada aresta de G1 será transformada em uma aresta de G2 AC A1A2 DA A3A1 CD A2A3 CB A2A4 AB A1A4 DB A3A4
Grafos Isomorfos • Dados dois gráficos G1=(V1, a1) e G2=(V2, a2) são ditos isomorfos se existe uma função 1-1 f: V1 V2 de modo que dois vértices quaisquer de V1,A e B são adjacentes se e somente se f(A) e f(B) são vértices adjacentes em V2.
U1 U6 U2 V1 V2 V6 V5 U3 V3 U5 V4 U4 Grafos Isomorfos • A função f(Ui)=Vi, i=1, 2...,6, faz corresponder a cada aresta de G1 uma aresta de G2 e reciprocamente.
Condições que garantem que dois grafos não são isomorfos • Um grafo tem mais vértices que o outro; • Um grafo tem mais arestas que o outro; • Um grafo tem arestas paralelas e outro não; • Um grafo tem um laço e o outro não; • Um grafo tem um vértice de grau k e o outro não; • Um grafo é conexo e o outro não; • Um grafo tem um ciclo e o outro não.
Grafos Isomorfos PRÁTICA 6 (222): Os grafos abaixo são isomorfos? (a) (b)
Grafos Isomorfos EXEMPLO 5 (222): Os grafos (a) e (b) são isomorfos? (b) (a) Verifique o grau de cada aresta, quantidade de vértices e arestas, adjacência entre os vértices ...
Grafos Isomorfos • Os dois grafos apresentados anteriormente não são isomorfos. Ambos tem 6 vértices e 7 arestas, não tem arestas paralelas nem laços, são conexos, tem 3 ciclos e 4 vértices de grau 2 e 2 vértices de grau 3. • No entanto, o grafo (b) tem um vértice de grau 2 que é adjacente a dois vértices de grau 3, o que não ocorre no grafo (a), portanto os grafos não são isomorfos.
a b 5 4 c 1 f d 3 2 e 6 Grafos Isomorfos PRÁTICA 5 (221): Os grafos (a) e (b) são isomorfos? Se forem, descreva as bijeções. • Grafos isomorfos podem ter representações gráficas diferentes mas são essencialmente o mesmo grafo. Portanto, na teoria dos grafos, quaisquer dois grafos isomorfos são considerados um mesmo grafo. (a) (b)
a b 5 4 c 1 f d 3 2 e 6 Grafos Isomorfos (a) PRÁTICA 5 (221): 1→d 2 →e 3 →f 4 →c 5 →b 6 →a (b)