Sei sulla pagina 1di 8

UNIVERSIDADE PAULISTA

CURSO DE CIÊNCIA DA COMPUTAÇÃO


Prof.a Lúcia Guimarães

NOTAS DE AULA

TEORIA DOS GRAFOS


I - TERMINOLOGIA E NOTAÇÃO

Exemplo: Certa cidade existem 7 pontes que cruzam um determinado rio unindo
duas ilhas opostas e a terra que margeia o rio. Associado a estas 7 pontes existe
a seguinte dúvida: é possível realizar uma caminhada pela cidade começando e
terminando no mesmo ponto e atravessando cada ponte exatamente uma única
vez?

B
TERRA B

C
ILHA A ILHA C A

TERRA D D

Definição 1: Um grafo (G) é um conjunto finito (N) de pontos denominados nós ou


vértices e um conjunto finito (A) de arcos ou arestas, e g um função que associa a
cada arco a um par não ordenado x-y de vértices (nós) chamados de
extremidades do arco a. Ou seja, cada elemento do conjunto A é um par de
elementos do conjunto N.
Se um grafo possui n vértices e m arcos, os conjuntos N e A podem ser
determinados: V={v1, v2, .., vn} e A={a1, a2, .., am} , onde ak={vi, vj} e vi, vj ∈ N.

No exemplo acima o grafo possui 4 vértices e 7 arcos, os conjuntos N e A podem


ser escritos como: N={A, B, C, D} e A={a1, a2, a3, a4, a5, a6, a7} onde, por exemplo,
g(a1)={a,b}.

1
Observação: Note o uso das chaves para a definição de ek. Desde que o arco não
possui uma direção definida no grafo, este é representado pelos 2 vértices sem
ordem específica, isto é {vi, vj} e {vj, vi} são os mesmo arcos.

Exemplos de alguns problemas que podem ser representados e resolvidos


usando a teoria dos grafos:
 Caminho Mínimo: Dado um conjunto de cidades, e as distâncias entre as
respectivas cidades. Dado, também duas cidades A e B, deseja-se encontrar
o caminho de comprimento mínimo entre A e B.

 Arvore Geradora de Peso Mínimo: Um conjunto de computadores em


posições fixas deve ser interligado através de fibras óticas. Sabendo a
quantidade de fibra ótica para ligar qualquer dois computadores, determinar
uma rede conectando todos esses computadores e usando a menor
quantidade de fibra ótica possível.

 Emparelhamento Perfeito: Dados um conjunto de vagas para diferentes


empregos e um conjunto de pessoas. Cada pessoa esta apta a trabalhar em
um conjunto de empregos. Cada pessoa deve ter no máximo uma pessoa
contratada. O problema consiste em encontrar o maior conjunto de pessoas
contratadas.

 Caixeiro Viajante: Uma máquina de soldar deve passar por várias posições
em uma placa de circuito, onde há vários pontos a serem soldados. Para
cada par de pontos, o dispositivo mecânico leva um determinado tempo para
ir de um ponto ao outro. O objetivo é encontrar um trajeto mais rápido
percorrendo todos os pontos e retornar para uma posição inicial para
começar a soldar uma nova placa.

 Coloração de Vértices: Um mapa deve ser colorido de forma que dois


estados vizinhos não tenham a mesma cor. O problema consiste em

2
encontrar uma forma de colorir o mapa usando o menor número de cores
possível.

II – DEFINIÇÕES:

1. Um grafo pode ser denominado por G ou G(N, A, g);


2. Um Grafo Nulo é aquele onde os conjuntos N e A são vazios;
3. Laço ou “Loop” vértice {vi, vi} que está contido em G;
4. Dígrafo ou grafo direcionado: grafos onde cada arco possui uma direção
definida, ou seja, (vi, vj) ≠ (vj, vi). Note que nos dígrafos os arcos são
denominados por parênteses, pois estes indicam uma ordem.
5. Vértices Adjacentes: dois vértices vi e vj são adjacentes se {vi, vi} ∈ A ou (vi, vj)
∈ A;
6. Grafos (dígrafos) simples: são aqueles que permitem somente um arco (em
cada direção) entre um par de vértices e não permitem laços (“loops”);
7. Multigrafos (Multidígrafos): são aqueles onde pode existir mais de um arco
(em cada direção) entre um par de vértices e laços (“loops”) são permitidos.
8. Seja G(N, A, g) um grafo, então G’(N’, E’, g’) é um subgrafo de G se N’ é um
subconjunto de N e A’é um subconjunto de A, onde os arcos unem somente
vértices pertencentes à V’;
9. Grafo Conexo (Desconexo): É aquele que para quaisquer dois vértices
distintos vi e vj (não) existe um caminho ligando vi e vj.
10. Grau de um vértice: número de arcos incidentes a ele (número de arcos no
qual v é um dos vértices que define o arco). Dígrafos possuem grau de entrada
e grau de saída
Teorema 1: Seja G(N,A,g) um grafo onde N={v1, v2, .., vn} , então
2A = ∑ d(v ) . Ou seja, em um grafo a soma dos graus dos vértices é duas
v i∈V
i

vezes o número de arcos.

3
n n
Teorema 2: Seja G(N,A, g) um dígrafo então A = ∑ deg + ( v i ) = ∑ deg − ( v i ) . Ou
i=1 i=1

seja, em um grafo a soma dos graus de saída dos vértices é igual a soma dos
graus de entrada dos vértices que equivale ao número de arcos do grafo.

11. Grafos Completos: são grafos simples que possuem arcos conectando todo
par de vértices, sendo representados por Kn, onde n representa o número de
vértices.
12. Floresta: grafo acíclico, simples e não direcionado.
13. Árvore: grafo acíclico, conexo, simples e não direcionado.
Toda árvore com n vértices possui (n-1) arcos. Toda árvore com n
vértices, n≥2, tem pelo menos uma folha.
14. Folha em uma floresta é um vértice com um grau. Toda árvore que possui pelo
menos dois vértices tem uma folha

III – CAMINHOS E CICLOS

Os grafos descrevem, de certa maneira, como os dados associados a um vértice


estão relacionados aos dados associados a outros vértices. Assim, sua aplicação
esta freqüentemente relacionada a caminhos e ciclos.

Caminho: em um grafo simples é a seqüência de vértices v0, v1, v2, .., vn tal que
{vi, vi} ∈ A ou (vi, vj) ∈ A. Se v0=vn o caminho é um ciclo.

Um caminho ou um ciclo com vértices não repetidos (exceto o primeiro e o último


do ciclo) é denominado caminho elementar

Tamanho de um caminho: é o número de arcos deste caminho. Se um mesmo


arco é cruzado mais de uma vez em um caminho, o arco é considerado no
tamanho do caminho, tantas vezes quantas ele foi cruzado. Verifica-se então, que
o tamanho de um caminho é o número de vértices deste caminho subtraído de 1.

4
IV – GRAFOS EULERIANOS

Um caminho de Euler é um caminho no grafo G que atravessa cada arco


exatamente uma vez. Se o caminho começa e termina no mesmo vértice o têm-se
um ciclo de Euler.
Voltando ao exemplo das 7 pontes, verifica-se que ele é equivalente a perguntar
se o grafo possui um caminho de euler. (Se houvesse a restrição em determinar
onde a caminhada se inicia, então seria um ciclo de Euler).

Teorema 3: Existe um caminho de Euler em um grafo conexo se, se somente se,


não existem nós ímpares ou existem

Aplicando o teorema no problema das 7 pontes conclui-se que não é possível


atravessar todas as pontes uma única vez.

O conceito de grafos de Euler está diretamente associado com os arcos do grafo.


Existe também o conceito de grafos de Hamilton que está diretamente associado
aos vértices do grafo:
Caminho de Hamilton é um passeio no grafo G que atravessa cada nó (vértice)
exatamente uma vez. Se o caminho começa e termina no mesmo vértice o têm-se
um ciclo de Hamilton.

Observação: Em problemas práticos, se o grafo não possuir um caminho (ciclo)


de Euler, procura-se encontrar o menor caminho (ciclo) que atravesse cada arco
pelo menos uma vez. A idéia é análoga considerando caminho (ciclo) de
Hamilton.

5
V – GRAFOS ISOMORFOS E PLANARES

V.1 – GRAFOS ISOMORFOS


Dois grafos podem, visualmente parecer muito diferente, mas ainda serem o
mesmo grafo de acordo com a sua definição formal.

Exemplos:

V3 V2 V2 V3

V1 V4 V4
V1
G1 G2
Definição: Dois grafos G1(N1,A1,g1) e G2(N2,A2,g2) são são isomorfos se exitem
bijeções f1 : N1 → N2 e f 2 : A 1 → A 2 , tais que para cada arco a ∈ A 1, J 1 (a ) = x − y se,
e somente se J 2 [f2 (a )] = f1 (x ) − f2 (y )

Determinar que dois grafos são isomorfos requer que se encontre a bijeção (ou,
para grafos não simples as bijeções) e então que a propriedade de adjacência (ou
relação entre as arestas e seus extremos) é preservada.

Para determinar se dois grafos são isomorfos ou não é possível verificar,


inicialmente, se eles NÃO são isomorfos através das condições:
 Um grafo possui mais vértices que o outro;
 Um grafo tem mais arcos que o outro;
 Um grafo tem arcos paralelos e outro não;
 Um grafo tem um loop e o outro não;
 Um vértice tem 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
Se uma dessas condições for verdadeira é possível afirmar que OS GRAFOS
NÃO SÃO ISOMORFOS.

6
Os grafos isomorfos são considerados “os mesmos”, exceto por diferenças
cosméticas na forma como são desenhados ou rotulados, enquanto que grafos
não isomorfos possuem diferenças estruturais.

V.2 - GRAFOS PLANARES


Um grafo planar é aquele que pode ser representado em um plano de modo que
seus arcos se intersectam apenas em nós

Um grafo planar, simples e conexo, divide o plano em um determinado número de


regiões, incluindo regiões totalmente delimitadas por arcos e região exterior e
ilimitada. Euler observou relação entre o número n de nós (vértices), o número a
de arcos e o número r de regiões de tal grafo. Essa relação é conhecida como a
fórmula de Euler:

n – a + r =2
Esta fórmula leva ao seguinte teorema:

Teorema sobre o Número de Nós e Arcos Para um grafo planar simples e


conexo com n nós e a arcos:
1. Se a representação planar divide o plano em r regiões, então:

n – a + r =2
2. Se n ≥ 3, então

a ≤ 3n - 6
3. Se n ≥ 3, e não existe ciclos de comprimento 3, então

a ≤ 2n -4

complexidade deste algoritmo é O(n2).

Potrebbero piacerti anche