Grafos
10 de fevereiro de 2017
1 Grafos
1.1 Introdução à Teoria dos Grafos
• Teoria dos grafos é uma ferramenta para formular problemas, tornando-os precisos, e denindo inter-relações fundamentais.
• Na Teoria dos Grafos, a maior unidade de aprendizado que se usa é a assis-tência a colocações e possíveis encaminhamentos futuros a um problema. • A Teoria dos Grafos pode nos levar a novos conceitos teóricos os quais
podem ser usados para construir teorias sobre problemas da sociedade. • Teoria dos grafos em geral, tem que ser usada em conjunto com muitas
outras ferramentas, matemáticas ou estatísticas, etc. Felizmente, o uso da teoria dos grafos pode nos ajudar a compreender em poucas palavras o signicado de grandes problemas ligados à nossa vida social, e algumas de suas possíveis soluções.
1.2 Notação Básica e Exemplos
Um grafo é uma estrutura de abstração bastante útil na representação e solução de diversos tipos de problema. Matematicamente, um grafo formaliza relações de interdependência existentes entre os elementos de um conjunto. Um grafo possui representação gráca bastante confortável. Nessa forma de modelagem, os elementos do conjunto são desenhados como pontos ou círculos e denominados nós ou vértices. As relações entre os elementos do conjunto são caracterizadas por traços ou setas ligando os pontos e que são denominadas arestas ou arcos. A Figura 1.1(1) exibe as possíveis representações para os vértices de um grafo. A Figura 1.1(2) exibe as possíveis formas de ligação e a Figura 1.1(3) como vértices se unem através de arestas ou arcos.
Os termos nós e vértices são empregados na literatura usualmente como sinônimos. Será denominado por N, N={1,2,...,n}, o conjunto que contém os n vértices do grafo, e por M, M={1,2,...,m}, o que contém as m arestas. É também usual a utilização da variável xi, i = 1,2,...,n, para a representação
dos n vértices e a variável aij para representar a aresta que liga os vértices i e j. Por conveniência, e quando adequadamente denido, as arestas poderão ser representadas pelos pares (i,j), (xi,xj) ou i-j. Em um grafo não direcionado
os pares de vértices do conjunto N são não ordenados. Uma representação das arestas segundo a variável aj, j = 1,...,m é igualmente admissível, contudo menos
comum.
1.3 Grafo
Um grafo é uma estrutura abstrata que representa um conjunto de elementos denominados vértices e suas relações independência ou arestas.
1.4 Representações Matemáticas
Denominando por N o conjunto de vértices da estrutura e por M o conjunto das arestas ou ligações entre os vértices, um grafo pode ser representado por G = (N, M ).
Quando as propriedades das relações entre os elementos do conjunto N de-pendem de sua origem (o conjunto dos vértices é composto por pares ordenados) os grafos são ditos direcionados. No caso dos grafos direcionados, os índices representam a direção considerada, de modo que aij representa uma ligação
di-recionada que tem origem no vértice i e término no vértice j. As ligações nos grafos direcionados são denominadas arcos, e sua representação gráca implica um traço com uma seta sinalizando o sentido da relação considerada. Evitando sobrecarregar a notação e quando aplicável, dois vértices genéricos de G poderão ser representados por v e w.
A Figura 1.2 apresenta três grafos como exemplo. Nos grafos (1) e (3) apenas os vértices são rotulados com N={1,2,3,4,5,6,7,8} e N={1,2,3,4,5} res-pectivamente. No grafo (2), vértices e arestas são rotulados, N = {1,2,3,4,5,6} e M={a,b,c,d,e,f}.
Exemplo 1 - Modelagem através de grafos
O exemplo que se segue mostra como um complexo sistema eletrônico pode ser simpli cado e representado através de um grafo. A representação acon-tece associada a uma placa de circuitos. O objetivo é criar um modelo que permita examinar o caminho da corrente elétrica entre alguns dos componentes da placa. Como primeiro fato derivado do objetivo, provavelmente não será necessário examinar ou representar a placa inteira, somente os componentes de interesse. Por outro lado, a cor, tamanho, peso, textura e outros detalhes tanto da placa quanto dos componentes são irrelevantes para a corrente. Assim, os componentes podem ser representados por símbolos e suas conexões elétricas por traços em um esquema sobre um papel. O esquema é exibido na Figura 1.3(2), associado ao circuito na Figura 1.3(1), na parte superior da mesma gura.
Exemplo 2 - Modelagem através de grafos
Um segundo exemplo pode ser coletado em um mapa rodoviário. Considere as cidades do Rio Grande do Norte, Brasil, e as estradas existentes entre elas, como exibido na Figura 1.4.
2 Denições Básicas
Além de admitir diferentes formalizações, são comuns notações particulares. A Figura 1.8 emprega uma representação que denomina as arestas ai. Observe que nas Figuras 1.8(2), (4) e (5) uma aresta liga o vértice 1 a ele mesmo. Tais arestas são denominadas laço. Por outro lado as arestas a3,a4e a5 representam
ligações diferentes entre vértices idênticos. Nesse caso são denominadas arestas paralelas.
Um grafo que não contém laços ou arestas paralelas é chamado grafo simples. No presente texto, sempre que o termo grafo for empregado, implicitamente o conceito referido será o de grafo simples. Um grafo que contém no mínimo um laço é denominado pseudografo. Um grafo não direcionado que possui no mínimo duas arestas paralelas é denominado multigrafo. Um grafo direcionado que possui dois ou mais arcos de mesma direção ligando um mesmo par de vértices é denominado multigrafo direcionado. Um pseudografo onde todos os vértices possuem um laço associado é denominado grafo reexivo.
Um grafo vazio é aquele que contém exclusivamente vértices. Um grafo é dito nulo quando não possui vértices (Harary & Read, 1973). Um grafo é dito
trivial ou singleton quando possui somente um vértice. A Figura 1.8 exempli ca os grafos citados.
O conceito de grafo pode ser generalizado para o caso em que a relação entre os vértices permite a consideração de mais de um par de nós ou vértices. Quando um grafo possui uma ou mais arestas que correspondam a relações que envolvam mais de dois vértices, esse grafo é denominado hipergrafo.
Na Figura 1.9 tem-se N = {1,2,3,4,5,6} e = {(1,2,3); (3,4); (4,5,6)}. Os hipergrafos possuem várias aplicações práticas, dentre elas a computação grá
2.1 Grafo Rotulado
Um grafo G = (N, M) é rotulado se existem atribuições associadas a suas arestas ou vértices (tanto numéricas como alfabeticas).
Na Figura 1.10 o grafo 1 é não rotulado. O grafo 2 possui rótulos nos vértices. O grafo 3 é rotulado nas arestas.
2.2 Grafo Ponderado
Um grafo G = (N, M) é ponderado se existem valores numéricos (pesos) asso-ciados às suas arestas ou vértices.
2.3 Grafo Direcionado
Um grafo é dito direcionado ou orientado quando o sentido das ligações entre os vértices é importante. Nesse caso, as arestas possuem um sentido marcado por uma seta e recebem o nome de Arcos.
2.4 Representações Matemáticas
Denominando-se V o conjunto de vértices da estrutura e E o conjunto dos pares ordenados do produto cartesiano n × n das ligações existentes G, um grafo orientado é também representado por G = (V, E) .
Quando nada é observado, G é considerado uma referência válida para grafos não direcionados. A distinção do sentido dos arcos no conjunto E obriga sua representação através de pares ordenados. No presente texto, em princípio, será utilizada a notação com vírgula (1,2) para representar os pares ordenados dos arcos e com um traço (1-2) para representar as arestas. Um grafo pode possuir simultaneamente arcos e arestas. Tais grafos são denominados mistos. Qualquer grafo misto pode ser transformado em um grafo direcionado decompondo-se as arestas em dois arcos de sentidos contrários, como exemplicado nas Figuras 1.12(3) e (4). No exemplo, as arestas (4-5), (2-7) e (3-8) são substituídas por dois arcos (4,5), (5,4) etc. Um grafo misto pode ser representado por G=(N,M,E), onde o conjunto dos arcos é caracterizado por E, independentemente do conjunto das arestas M.
2.5 Ordem de um Grafo
Denomina-se ordem de G a carndinalidade de seu conjunto de vértices -|N|
2.6 Tamanho de um Grafo
A Figura 1.13 exemplica o cálculo da ordem e do tamanho de um grafo G. O grafo (1) é de ordem 5 e de tamanho 8; o grafo (2) é de ordem 4 e tamanho 4.
2.7 Grafos Finitos e Innitos
Um grafo é dito nito quando possui um número nito de vértice e de arestas. É dito innito em caso contrário.
A Figura 1.14 exemplica o conceito de grafos nitos e innitos. O grafo (1) é innito, e o elemento ilimitado desse grafo é representado no trecho pontilhado.
2.8 Adjacência de Vértices
Dois vértices i e j são vizinhos ou adjacentes quando existe uma aresta que liga ia j ou vice-versa.
O conjunto de vértices vizinhos do vértice i será denominado Γ (i). Alguns autores também utilizam a notação N (i) para representar a vizinhança do vér-tice i.
A Figura 1.15(2) exemplica os vértices adjacentes ao vértice 3 da Figura 1.15(1).
2.9 Sucessores e Antecessores
Um vértice j é sucessor de i se existe pelo menos um arco ligando i a j. Os sucessores do vértice i são Γ+(i). No caso da ocorrência da relação inversa
diz-se que o vértice j é antecessor de i. Os antecessores do vértice i são Γ−(i).
A Figura 1.16 exemplica o conjunto de antecessores do vértice 3, Γ−(3) =
{1}e o conjunto de sucessores de 3, Γ+(3) = {4, 5}.
2.10 Adjacência de Arestas
A Figura 1.17 exemplica o conceito de adjacência de arestas. As arestas adjacentes ao vértice 3 são ressaltadas em vermelho.
O conceito de vizinhaça e de conjuntos sucessores pode ser generalizado para o conceito de alcançabilidade. Um vértice vj é alcançavel a partir de vino grafo
G (V, E)se existe uma sequência de vértices vi, vi+1, vi+2, . . . , vi+k, vj, k ≥ 0, tal
que (vr, vr+1) ∈ E,i ≤ r ≤ k, e (vi+k, vj) ∈ E. O conjunto de vértices
alcan-çáveis a partir de vi é portanto, formado pelos sucessores de vi, os sucessores
dos sucessores, e daí por diante. No modelo de grafos esse tipo de informação poderá ser útil para representar fenômenos de propagação de informação ou de comunicação. O fecho transitivo permite modelar o fenômeno da alcançabili-dade.
2.11 Fecho Transitivo de um Vértice
O conjunto de vértices alcançáveis a partir de x, ˆΓ+(x) é denominado Fecho
Transitivo do Vértice x.
O conjunto de vértices a partir dos quais o vértice x é alcançável, ˆΓ−(x), é
denominado Fecho Transitivo.
Quando o grafo é não direcionado usamos a notação ˆΓ (x) que denota o conjunto de vértices alcançáveis a partir de x, os quais são os mesmos a partir dos quais o vértice x é alcançável.
2.12 Fecho Transitivo de um Grafo
Denomina-se fecho transitivo do grafo G o grafo ˆG construído a partir de G, incluindo-se um arco (x, y)para todo y alcançável a partir de x.
Na Figura 1.18(2) observa-se que o fecho transitivo direto do vértice 1 da Figura 1.18(1) é: ˆΓ+(1) = {2, 3, 4, 5, 7, 9, 10, 13}
A Figura 1.19 exemplica a obtenção de G a partir de G.
2.13 Passeio ou Percurso
Um passeio ou percurso é uma sequência nita de vértices e arestas x0, a1, x1, a2, . . . , xk−1, ak, xk
começando e terminando com vértices tais que xi−1e xisão os vértices terminais
Na Figura 1.20(1) o passeio inicia pelo vértice 1, avançando na sequência 1 − a1− 6 − a2− 4 − a3− 3 − a4− 2 − a5− 6 − a2− 4 − a3− 3.
Outra representação possível é através da sequência de vértices, ou seja, 1-6-4-3-2-6-4-3.
Comumente o passeio pode ser denominado x0− xk, onde x0 e xk são os
vértices terminais.
Um passeio é dito aberto quando x0 6= xk e fechado em caso contrário. A
Figura 1.20(2) mostra o passeio fechado 1-5-3-4-2-3-1.
Os conceitos de fechado e aberto se aplicam igualmente à cadeias e caminhos.
2.14 Cadeia ou Trilha
A Figura 1.21(1) exemplica uma cadeia aberta 5 − a8− 1 − a7− 4 − a3−
3 − a4− 2 − a5− 6 − a1− 1. Quando nenhuma observação em contrário for feita,
a cadeia será considerada aberta.
A Figura 1.21(2) exibe uma cadeia fechada 5-1-3-4-1-6-2-5. As cadeias são formadas independentemente de considerações sobre os vértices visitados.
Observe que a cadeia da gura 1.21(1) é aberta, apesar de possuir uma subcadeia fechada (1-4-3-2-6-1).
Se todos os vértices de uma cadeia (ou de um passeio) forem distintos, a cadeia (ou o passeio) será denominada caminho.
2.15 Caminho
Um caminho é uma cadeia sem repetição de vértices
Em um grafo G = (N, M), não ponderado, o comprimento de um caminho é o número de arestas desse caminho.
Em um grafo G = (N, M), ponderado, o comprimento de um caminho é a soma dos pesos das arestas desse caminho.
Um caminho entre os vértices a e b será denotado por a − b, por Pa−bou
O caminho da Figura 1.22(1) percorre os vértices 1-6-4-3-2-5, passando pelas arestasa1, a2, a3, a4e a6.
Na Figura 1.22(2) o grafo é não ponderado em arestas, de forma que o comprimento do caminho marcado 5-1-3-2 é igual a 3, o número de arestas do caminho.
No caso do caminho entre os vértices A e G, mostrado na Figura 1.22(4), seu comprimento é a soma dos valores das arestas, sendo igual a 11.
No caso do mesmo grafo não ponderado, representado na Figura 1.22(3), o comprimento do caminho é igual a 3.
2.16 Distância entre vértices
A distância entre um par de vértices xie xj, denotada por d (xi, xj), corresponde
ao caminho de menor comprimento capaz de ligar xia xj. No caso de o caminho
A Figura 1.23 exibe o caminho A-H ressaltado pelas linhas mais espessas, que representa a menor distância entre os vértices A e H.
O comprimento do menor caminho A-H é a distância d (A, H) = 7.
2.17 Cadeia Euleriana
Trata-se de uma cadeia em G que, passando por todas as arestas de G, as visita apenas uma vez.
2.18 Caminho Hamiltoniano
Trata-se de um caminho em G que, passando por todos os vértices de G, os visita apenas uma vez.
Alguns autores usam os termos caminho euleriano e ciclo euleriano para notar cadeia euleriana e cadeia euleriana fechada, respectivamente.
A Figura 1.26(1) exibe um grafo exemplo G.
A Figura 1.26(2) mostra um caminho euleriano em G. Os números marcam a sequência das arestas no caminho.
2.19 Ciclo
Em um grafo G, um ciclo é um caminho fechado.
2.20 Grafo Ciclo
Um grafo ciclo (Cn) é um grafo com n vértices formado por apenas um ciclo
passando por todos os vértices.
Quando o grafo G é orientado, alguns autores denominam circuito a sequên-cia de arcos distintos que repete somente o primeiro e último nó visitados.
As Figuras 1.27(2) e (3) apresentam ciclos da Figura 1.27(1). As Figuras 1.27(5) e (6) apresentam circuitos relativos à Figura 1.27(4).
O problema de ciclos e circuitos eulerianos e hamiltonianos corresponde ao problema de um percurso fechado sobre todas as arestas ou vértices de G sem a repetição de arestas e vértices, conforme sejam, respectivamente, eulerianos ou hamiltonianos.
2.21 Cadeia Euleriana Fechada/Ciclo Euleriano
É uma cadeia euleriana que inicia e termina em um mesmo vértice.
2.22 Ciclo Hamiltoniano
Trata-se de um caminho hamiltoniano fechado.
Em grafos orientados, os percursos fechados hamiltonianos são denominados circuitos hamiltonianos e os percursos eulerianos são ditos cadeias fechadas / direcionadas eulerianas ou circuitos eulerianos.
O uso dos termos caminho euleriano e ciclo euleriano deve ser cuidadoso. Há possibilidade de ambiguidade, tendo em vista que caminhos e ciclos são denidos como sequências de vértices, não como sequências de arestas.
A Figura 1.29(3) exibe um ciclo euleriano e a Figura 1.29(2) um ciclo hamil-toniano sobre o grafo da Figura 1.29(1).
As setas indicam um sentido do percurso. O vértice amarelo é arbitrado como inicial para facilitar a visualização.
Grafos em que não é possível traçar um ciclo hamiltoniano, são denominados não hamiltonianos. Em caso contrário são ditos hamiltonianos. O mesmo ocorre no caso dos ciclos eulerianos.
A Figura 1.30(1) exibe um grafo não hamiltoniano e a Figura 1.30(2) um grafo hamiltoniano. A Figura 1.30(3) exibe um ciclo hamiltoniano do grafo da Figura 1.30(2).
2.23 Percurso Pré-Euleriano
Percurso pré-euleriano é um percurso que passa pelo menos uma vez em cada aresta do grafo G.
2.24 Percurso Pré-Hamiltoniano
Percurso pré-hamiltoniano é um percurso que passa pelo menos uma vez em cada vértice do grafo G.
A Figura 1.32(1) apresenta um percurso pré-euleriano fechado um ciclo pré-euleriano do grafo da Figura 1.31. O ciclo é 3-7-1-3-4-5-3-7-2-6-5-7-3. De forma semelhante, a Figura 1.32(2) apresenta um percurso pré- -hamiltoniano fechado um ciclo pré-hamiltoniano referente à Figura 1.31.
A Figura 1.32(3) exibe um caminho pré-hamiltoniano iniciando no vértice 3 e terminando no vértice 5, seguindo pelos vértices 3-4-5-6-2-7-1-3-5.
2.25 Corda
Corda é uma aresta que une dois vértices não consecutivos de um ciclo.
2.26 Cintura de G g(G)
Cintura de G é o comprimento do menor ciclo de G.
2.27 Circunferência de G g(G)
A Figura 1.35(1) exemplica a cintura do grafo da Figura 1.34 (g(G) = 3) e a Figura 1.35(2) sua circunferência c(g) = 6.
A Figura 1.35(3) exibe o grafo de Heawood e calcula sua cintura, que vale 6.
2.28 Excentricidade Ex(v)
Excentricidade, Ex (v) de um vértice v ∈ N é a maior distância entre v e w, para todo w ∈ N.
2.29 Raio de G Rad(G)
Raio de um grafo G, Rad (G), é o menor valor de excentricidade para todo vértice v ∈ N.
2.30 Diâmetro de G Diam(G)
Diâmetro de um grafo G, Diam (G), é o maior valor de excentricidade para todo vértice v ∈ N.
2.31 Centro de G Centro(G)
Centro de um grafo G, Centro (G), é o subconjunto dos vértices de excentrici-dade mínima.
A Figura 1.37 exemplica os conceitos anteriormente descritos para o grafo da Figura 1.36.
Observe que a Figura 1.37(4) mostra que o grafo da Figura 1.36 possui um centro composto por três vértices.
No caso de o grafo ser direcionado, o grau de um vértice xj é composto por
um valor interno e um externo. O grau interno de um vértice xj pertencente a
um grafo direcionado é igual ao número de arcos incidentes que apontam para o vértice. O grau externo de um vértice xj pertencente a um grafo direcionado
é igual ao número de arcos emergentes ao vértice que deixam o vértice conside-rado. É comum representar os graus internos e externos com o auxílio de sinais relativos (d−(x
i) , d+(xi))
No caso de grafos direcionados, as parcelas do grau do vértice podem também ser denominadas semigraus e denotadas, por convenção, com valores positivos e negativos. A soma absoluta do semigrau interior d−(x
i) e exterior d+(xi)
conduz ao valor nal do grau do nó. A expressão para a obtenção do grau em grafos orientados é: d (xi) = |d+(xi)| +|d−(xi)|
A Figura 1.38 ilustra os conceitos de grau interno e grau externo para os vértices 2, 5 e 6.
No caso da Figura 1.38(2) pode-se calcular o grau dos vértices 3 e 4 como a seguir, caracterizando o fato de que esses graus correspondem aos graus dos vértices no grafo não direcionado subjacente.
d (3) = |d−(3)| + |d+(3)| = |−3| + |0| = 3
d (4) = |d−(4)| + |d+(4)| = |0| + |−4| = 4
2.33 Grafo Par
Um grafo G é dito par se todos os seus vértices possuírem grau par.
2.34 Grafo Conexo
G é conexo se para todo par de vértices i e j existe pelo menos um caminho entre i e j.
Se G é um grafo direcionado, então é considerado conexo quando o seu grafo subjacente (não direcionado) é conexo.
O grafo subjacente não direcionado é o grafo resultante de G quando a orientação dos arcos de G é ignorada.
Alguns grafos não admitem ciclos. A classe mais importante dos grafos acíclicos é constituída pelas árvores. As árvores modelam um enorme número de aplicações reais.
2.35 Árvores
Um grafo é denominado árvore se for conexo e não possuir ciclos.
2.36 Folhas da Árvore ou Vértices Terminais
Em uma árvore, um vértice com grau 1 é denominado folha ou vértice terminal
2.37 Vértices Extremos
Quando o número de vértices terminais de um grafo é 2, é usual denominá-los vértices extremos de G.
A Figura 1.42(2) exibe as folhas da árvore da Figura 1.42(1) em azul. No caso, a árvore possui quatro folhas, ou seja, quatro vértices de grau 1. A Figura 1.42(3) mostra um grafo e os vértices terminais dos caminhos 1-2-3-4-5 e 1-2-6-5.
Referências
[1] Goldbarg, Marco Cesar. Grafos : conceitos, algoritmos e aplicaçδões / Marco Goldbarg, Elizabeth Goldbarg. - Rio de Janeiro :Elsevier, 2012.