Vous êtes sur la page 1sur 73

Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos

Grafos e Teoria da Complexidade


Conceitos Iniciais
Anna Izabel J. Tostes
Pontifcia Universidade Catlica de Minas Gerais
2/2011
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sumrio
1 Conceitos fundamentais e aplicaes
2 Terminologia
3 Estruturas de dados para representao de grafos
4 Operaes sobre grafos
5 Isomorsmo
6 Subgrafos
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Motivao
Porque estudar grafos?
Arcabouo matemtico com aplicao em diversas reas do conhecimento
Utilizados na denio e/ou resoluo de problemas
Estudar grafos mais uma forma de solucionar problemas computveis
Os estudos tericos em grafos buscam o desenvolvimento de algoritmos
mais ecientes.
Abstrao matemtica que representa situaes reais atravs de um
diagrama.
reas de conhecimento
Gentica, qumica, pesquisa operacional, telecomunicaes, engenharia eltrica,
redes de computadores, conexo de vos areos, restries de precedncia, uxo
de programas, dentre outros
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Motivao
Porque estudar grafos?
Arcabouo matemtico com aplicao em diversas reas do conhecimento
Utilizados na denio e/ou resoluo de problemas
Estudar grafos mais uma forma de solucionar problemas computveis
Os estudos tericos em grafos buscam o desenvolvimento de algoritmos
mais ecientes.
Abstrao matemtica que representa situaes reais atravs de um
diagrama.
reas de conhecimento
Gentica, qumica, pesquisa operacional, telecomunicaes, engenharia eltrica,
redes de computadores, conexo de vos areos, restries de precedncia, uxo
de programas, dentre outros
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Motivao
Pontes de Knigsberg
O rio Pregel divide o centro da cidade de Knigsberg (Prssia no sculo
XVII, atual Kaliningrado, Rsia) em quatro regies. Essas regies so
ligadas por um complexo de sete (7) pontes, conforme mostra a gura.
Discutia-se nas ruas da cidade a possibilidade de atravessar todas as
pontes, voltando ao lugar de onde se saiu, sem repetir alguma. Havia-se
tornado uma lenda popular a possibilidade da faanha quando Euler, em
1736, provou que no existia caminho que possibilitasse tais restries.
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Motivao
Pontes de Knigsberg
Resolvido em 1736 por Leonhard Euler
Necessrio um modelo para representar o problema
Abstrao de detalhes irrelevantes:
rea de cada ilha
Formato de cada ilha
Tipo da ponte, etc.
Euler generalizou o problema atravs de um modelo de grafos
1
2
3
4
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Motivao
Pontes de Knigsberg
Resolvido em 1736 por Leonhard Euler
Necessrio um modelo para representar o problema
Abstrao de detalhes irrelevantes:
rea de cada ilha
Formato de cada ilha
Tipo da ponte, etc.
Euler generalizou o problema atravs de um modelo de grafos
1
2
3
4
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Problemas das 3 casas
possvel conectar os 3 servios s 3 casas sem haver cruzamento
de tubulao?
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Colorir um mapa
Quantas cores so necessrias para colorir o mapa do Brasil, sendo
que estados adjacentes no podem ter a mesma cor?
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Caminho mnimo
De forma a reduzir seus custos operacionais, uma empresa de
transporte de cargas deseja oferecer aos motoristas de sua frota um
mecanismo que os auxilie a selecionar o melhor caminho (o de
menor distncia) entre quaisquer duas cidades por ela servidas, de
forma a que sejam minimizados os custos de transporte.
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grafo direcionado
Par G=(V,E), onde V um
conjunto nito e E uma
relao binria em V.
Grafo orientado.
Dgrafo.
A

B

E
.
C

Grafo no direcionado
Par G=(V,E) onde o conjunto
de arestas E consiste em pares
de vrtices no orientados. A
aresta (v
i
, v
j
) e (v
j
, v
i
) so
consideradas a mesma aresta.
Grafo no orientado.
A B E
C D
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grafo direcionado
Par G=(V,E), onde V um
conjunto nito e E uma
relao binria em V.
Grafo orientado.
Dgrafo.
A

B

E
.
C

Grafo no direcionado
Par G=(V,E) onde o conjunto
de arestas E consiste em pares
de vrtices no orientados. A
aresta (v
i
, v
j
) e (v
j
, v
i
) so
consideradas a mesma aresta.
Grafo no orientado.
A B E
C D
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Loop
uma aresta associada ao par de
vrtices (v
i
, v
i
)
A

Arestas paralelas
quando mais de uma aresta est
associada ao mesmo par de
vrtices
A

B
Grafo simples
um grafo que no possui loops e
nem arestas paralelas
A
B C
D
Vrtices adjacentes
Dois vrtices so ditos adjacentes
se eles so pontos nais de uma
mesma aresta
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Loop
uma aresta associada ao par de
vrtices (v
i
, v
i
)
A

Arestas paralelas
quando mais de uma aresta est
associada ao mesmo par de
vrtices
A

B
Grafo simples
um grafo que no possui loops e
nem arestas paralelas
A
B C
D
Vrtices adjacentes
Dois vrtices so ditos adjacentes
se eles so pontos nais de uma
mesma aresta
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Loop
uma aresta associada ao par de
vrtices (v
i
, v
i
)
A

Arestas paralelas
quando mais de uma aresta est
associada ao mesmo par de
vrtices
A

B
Grafo simples
um grafo que no possui loops e
nem arestas paralelas
A
B C
D
Vrtices adjacentes
Dois vrtices so ditos adjacentes
se eles so pontos nais de uma
mesma aresta
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Loop
uma aresta associada ao par de
vrtices (v
i
, v
i
)
A

Arestas paralelas
quando mais de uma aresta est
associada ao mesmo par de
vrtices
A

B
Grafo simples
um grafo que no possui loops e
nem arestas paralelas
A
B C
D
Vrtices adjacentes
Dois vrtices so ditos adjacentes
se eles so pontos nais de uma
mesma aresta
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grau de um vrtice
Grafo no direcionado:
grau d(v) - nmero de
arestas que incidem em v.
Grafo direcionado:
grau de entrada d

(v)-
nmero de arestas que
chegam em v
grau de sada d
+
(v)-
nmero de arestas que
saem em v
Um lao conta duas vezes para o
grau de um vrtice

0
2

1
2

1
0

2
0

Sequncia de graus
Consiste em escrever em ordem
crescente o grau de todos os seus
vrtices
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grau de um vrtice
Grafo no direcionado:
grau d(v) - nmero de
arestas que incidem em v.
Grafo direcionado:
grau de entrada d

(v)-
nmero de arestas que
chegam em v
grau de sada d
+
(v)-
nmero de arestas que
saem em v
Um lao conta duas vezes para o
grau de um vrtice

0
2

1
2

1
0

2
0

Sequncia de graus
Consiste em escrever em ordem
crescente o grau de todos os seus
vrtices
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grau de um vrtice
Grafo no direcionado:
grau d(v) - nmero de
arestas que incidem em v.
Grafo direcionado:
grau de entrada d

(v)-
nmero de arestas que
chegam em v
grau de sada d
+
(v)-
nmero de arestas que
saem em v
Um lao conta duas vezes para o
grau de um vrtice

0
2

1
2

1
0

2
0

Sequncia de graus
Consiste em escrever em ordem
crescente o grau de todos os seus
vrtices
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grau de um vrtice
Grafo no direcionado:
grau d(v) - nmero de
arestas que incidem em v.
Grafo direcionado:
grau de entrada d

(v)-
nmero de arestas que
chegam em v
grau de sada d
+
(v)-
nmero de arestas que
saem em v
Um lao conta duas vezes para o
grau de um vrtice

3

1

0
2

1
2

1
0

2
0

Sequncia de graus
Consiste em escrever em ordem
crescente o grau de todos os seus
vrtices
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grau de um vrtice
Grafo no direcionado:
grau d(v) - nmero de
arestas que incidem em v.
Grafo direcionado:
grau de entrada d

(v)-
nmero de arestas que
chegam em v
grau de sada d
+
(v)-
nmero de arestas que
saem em v
Um lao conta duas vezes para o
grau de um vrtice

3

1

0
2

1
2

1
0

2
0

Sequncia de graus
Consiste em escrever em ordem
crescente o grau de todos os seus
vrtices
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grau de um vrtice
Grafo no direcionado:
grau d(v) - nmero de
arestas que incidem em v.
Grafo direcionado:
grau de entrada d

(v)-
nmero de arestas que
chegam em v
grau de sada d
+
(v)-
nmero de arestas que
saem em v
Um lao conta duas vezes para o
grau de um vrtice

3

1

0
2

1
2

1
0

2
0

Sequncia de graus
Consiste em escrever em ordem
crescente o grau de todos os seus
vrtices
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Duas arestas no paralelas so adjacentes se elas so
incidentes a um vrtice comum
1
2
3
4 a
b

c

1
2
3
4 a
b
c
d
Quando um vrtice v
i
o vrtice nal de alguma aresta e
j
, v
i
e e
j
so incidentes
1
2
3
4 a
b

c

1
2
3
4 a
b
c
d
Um grafo no qual todos os vrtices possuem o mesmo grau
chamado de grafo regular.
1
2
3
4
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Um vrtice com nenhuma aresta incidente chamado de
vrtice isolado.
1
2
3
4
5
6
Um vrtice com grau 1 chamado de vrtice pendente
1
2
3
4 a
b
c
d
Um grafo sem nenhuma aresta chamado de grafo nulo.
Todos os vrtices em um grafo nulo so vrtices isolados
1
2
3
4
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Grafos valorado e rotulado
Grafo rotulado
Um grafo G(V,A) dito ser
rotulado em vrtices (ou
arestas) quando a cada vrtice
(ou aresta) estiver associado
um rtulo
AED
PAA PDI
GRAFOS
Grafo valorado
Um grafo G(V,A) dito ser
valorado quando existe uma ou
mais funes relacionando V
e/ou A com um conjunto de
nmeros.
AED
PAA PDI
GRAFOS
20
5
30
50
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Grafos valorado e rotulado
Grafo rotulado
Um grafo G(V,A) dito ser
rotulado em vrtices (ou
arestas) quando a cada vrtice
(ou aresta) estiver associado
um rtulo
AED
PAA PDI
GRAFOS
Grafo valorado
Um grafo G(V,A) dito ser
valorado quando existe uma ou
mais funes relacionando V
e/ou A com um conjunto de
nmeros.
AED
PAA PDI
GRAFOS
20
5
30
50
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grafo completo
Um grafo G=(V,E) completo se para cada par de vrtices v
i
e v
j
existe uma aresta entre v
i
e v
j
. Em um grafo completo quaisquer
dois vrtices distintos so adjacentes (K
n
)
1
1
2 1
2
3
1
2
3
4
Arestas no grafo completo
Seja K
n
um grafo completo com n vrtices. O nmero de arestas :
|E| =
(n 1) n
2
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grafo conexo
Existe pelo menos um caminho entre todos os pares de vrtices
1
2
3
4
1
2
3
4
1
2
3
4
Grafo bipartido
Um grafo dito ser bipartido quando seu conjunto de vrtices V
puder ser particionado em dois subconjuntos V
1
e V
2
, tais que toda
aresta de G une um vrtice de V
1
a outro de V
2
.
1
2
3
4
5
1
2 6
3
4 5
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Terminologia
Grafo conexo
Existe pelo menos um caminho entre todos os pares de vrtices
1
2
3
4
1
2
3
4
1
2
3
4
Grafo bipartido
Um grafo dito ser bipartido quando seu conjunto de vrtices V
puder ser particionado em dois subconjuntos V
1
e V
2
, tais que toda
aresta de G une um vrtice de V
1
a outro de V
2
.
1
2
3
4
5
1
2 6
3
4 5
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Grafo bipartido completo
Grafo bipartido completo
Um grafo dito ser bipartido quando seu conjunto de vrtices V
puder ser particionado em dois subconjuntos V
1
e V
2
, tais que toda
aresta de G une um vrtice de V
1
a outro de V
2
, e que todo vrtice
de V
1
adjacente a todo vrtice de V
2
.
1
2
3
4
5
1
2 6
3
4 5
Arestas no grafo bipartido completo
Seja K
mn
um grafo bipartido completo com n vrtices em V
1
e m
vrtices em V
2
. O nmero de arestas :
|E| = n m
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Grafo bipartido completo
Grafo bipartido completo
Um grafo dito ser bipartido quando seu conjunto de vrtices V
puder ser particionado em dois subconjuntos V
1
e V
2
, tais que toda
aresta de G une um vrtice de V
1
a outro de V
2
, e que todo vrtice
de V
1
adjacente a todo vrtice de V
2
.
1
2
3
4
5
1
2 6
3
4 5
Arestas no grafo bipartido completo
Seja K
mn
um grafo bipartido completo com n vrtices em V
1
e m
vrtices em V
2
. O nmero de arestas :
|E| = n m
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Propriedade de grau
Grau par
O nmero de arestas incidentes a um vrtice v
i
chamado de grau,
d(v
i
), do vrtice i . A soma dos graus de todos os vrtices de um
grafo G duas vezes o nmero de arestas de G.
n

i =1
d(v
i
) = 2e
TEOREMA: Vrtice de grau mpar
O nmero de vrtices de grau mpar em um grafo par
n

i =1
d(v
i
) =

d(v
j
)par
d(v
j
) +

d(v
k
)impar
d(v
k
)
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Propriedade de grau
Grau par
O nmero de arestas incidentes a um vrtice v
i
chamado de grau,
d(v
i
), do vrtice i . A soma dos graus de todos os vrtices de um
grafo G duas vezes o nmero de arestas de G.
n

i =1
d(v
i
) = 2e
TEOREMA: Vrtice de grau mpar
O nmero de vrtices de grau mpar em um grafo par
n

i =1
d(v
i
) =

d(v
j
)par
d(v
j
) +

d(v
k
)impar
d(v
k
)
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo
Dado um grafo G = (V, E):
V = conjunto de vrtices.
E = conjunto de arestas, que pode ser representado pelo
subconjunto de V V.
O tamanho da entrada de dados medido em termos do:
Nmero de vrtices |V|.
Nmero de arestas |E|.
Se G conexo, ento |E| |V| 1.
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo
Conveno I (Notao):
Dentro e somente dentro da notao assinttica os smbolos V e
E signicam respectivamente |V| e |E|.
Se um algoritmo executa em tempo O(V +E) equivalente a
dizer que executa em tempo O(|V| +|E|).
Conveno II (Em pseudo-cdigo):
O conjunto V de vrtices de G representado por V[G].
O conjunto E de arestas de G representado por E[G].
Os conjuntos V e E so vistos como atributos de G.
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Matriz de adjacncia:
Forma preferida de representar grafos densos (|E| |V|
2
).
Indica rapidamente (O(1)) se existe uma aresta conectando dois
vrtices.
Lista de adjacncia:
Representao normalmente preferida.
Prov uma forma compacta de representar grafos esparsos
(|E| |V|
2
).
Matriz de incidncia:
Representao que inclui vrtice e aresta.
As duas primeiras formas acima so as principais formas de
representar um grafo.
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Matriz de adjacncia e grafo dirigido:
Seja o grafo dirigido abaixo:
Este grafo pode ser representado por
uma matriz A = (a
ij
), onde (a
ij
)
representa o nmero de arestas de v
i
para v
j
.
Matriz de Adjacncia:
v
1
v
2
v
3
v
1

1 0 0
1 1 2
1 0 0

A = v
2
v
3
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Matriz de adjacncia e grafo dirigido:
Denio: Seja G um grafo dirigido com vrtices v
1
,v
2
, ,v
n
. A
matriz de adjacncia de G a matriz A = (a
ij
)(A[1 n, 1 n]),
denida como:
a
ij
= # de arestas de v
i
para v
j
, i , j = 1, 2, , n.
Valor diferente de zero na diagonal principal: lao.
Valor igual a 1 na entrada (a
ij
): uma nica aresta de v
i
a v
j
.
Valores maiores que 1 na entrada (a
ij
): arestas paralelas de v
i
a v
j
.
Espao: O(V
2
).
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Exemplo:
Veja os exemplos abaixo em matriz de adjacncia:
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Matriz de adjacncia e grafo no dirigido:
Denio: Seja G um grafo no dirigido com vrtices v
1
,v
2
, ,v
n
.
A matriz de adjacncia de G a matriz A = (a
ij
) sobre o conjunto
de inteiros no negativos tal que:
a
ij
= # de arestas conectando v
i
a v
j
, i , j = 1, 2, , n.
Seja o grafo abaixo: A matriz de adjacncia
correspondente :
v
1
v
2
v
3
v
4
v
1

0 1 0 1
1 1 2 1
0 2 0 0
1 1 0 1

A = v
2
v
3
v
4
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Matriz de adjacncia: anlise.
Deve ser utilizada para grafos densos, onde |E| prximo de
|V|
2
(|E| |V|
2
).
O tempo necessrio para acessar um elemento independente
de |V| ou |E|.
muito til para algoritmos em que necessitamos saber com
rapidez se existe uma aresta ligando dois vrtices.
A maior desvantagem que a matriz necessita O(V
2
) de
espao.
Ler ou examinar a matriz tem complexidade de tempo O(V
2
).
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Uso de matriz de adjacncia:
Quando usada, a maior parte dos algoritmos requer tempo
O(V
2
), mas existem excees.
Seja um grafo dirigido que contm um vrtice sink, ou seja,
um vrtice com:
Grau de entrada (in-degree) = |V| 1
Grau de sada (out-degree) = 0
No existe uma aresta loop.
Apresente um algoritmo para determinar se um grafo dirigido possui
um vrtice sink em tempo O(V) usando uma matriz de adjacncia.
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Matriz de incidncia:
Denio: Seja G um grafo no dirigido com vrtices v
1
,v
2
, ,v
n
e
arestas e
1
, e
2
, , e
m
. A matriz de incidncia de G a matriz
M = (m
ij
) de tamanho n m sobre o conjunto dos inteiros no
negativos tal que:
m
ij
=

1 quando a aresta e
j
incidente a v
i
.
0 caso contrrio.
Seja o grafo abaixo: A matriz de adjacncia correspondente :
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Lista de adjacncia:
Em grafo dirigido.
Seja o grafo dirigido
abaixo:
Este grafo pode ser representado por
uma lista de adjacncia Adj :
Adj [v
1
] = [v
1
]
Adj [v
2
] = [v
1
, v
2
, v
3
, v
3
]
Adj [v
3
] = [v
1
]
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Este grafo pode ser
representado por uma lista de
adjacncia:
Adj [v
1
] = []
Adj [v
2
] = [v
2
, v
3
]
Adj [v
3
] = [v
1
, v
1
, v
2
]
Este grafo pode ser representado
por uma lista de adjacncia:
Adj [v
1
] = [v
1
, v
2
]
Adj [v
2
] = [v
1
, v
3
, v
3
]
Adj [v
3
] = []
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Representao de um Grafo: Estruturas de Dados
Lista de adjacncia:
Em grafo no dirigido.
Dado o grafo: Uma lista de adjacncia correspondente
:
Adj [v
1
] = [v
2
, v
4
]
Adj [v
2
] = [v
1
, v
2
, v
3
, v
3
, v
4
]
Adj [v
3
] = [v
2
, v
2
]
Adj [v
4
] = [v
1
, v
2
, v
4
]
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Operaes sobre grafos
Unio
Seja G
1
= (V
1
, A
1
) e G
2
= (V
2
, A
2
) dois grafos. O grafo
G = G
1
G
2
formado pelo grafo com conjunto de vrtices
V
1
V
2
e conjunto de arestas E
1
E
2
.
1
2

1
2
3
=
a
b
c
d
e
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Operaes sobre grafos
Unio
Seja G
1
= (V
1
, A
1
) e G
2
= (V
2
, A
2
) dois grafos. O grafo
G = G
1
G
2
formado pelo grafo com conjunto de vrtices
V
1
V
2
e conjunto de arestas E
1
E
2
.
1
2

1
2
3
=
a
b
c
d
e
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Operaes sobre grafos
Soma
Seja G
1
= (V
1
, A
1
) e G
2
= (V
2
, A
2
) dois grafos. O grafo
G = G
1
+ G
2
formado por G
1
G
2
e de arestas ligando cada
vrtice de V
1
a V
2
1
2
+
1
2
3
=
a
b
c
d
e
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Operaes sobre grafos
Soma
Seja G
1
= (V
1
, A
1
) e G
2
= (V
2
, A
2
) dois grafos. O grafo
G = G
1
+ G
2
formado por G
1
G
2
e de arestas ligando cada
vrtice de V
1
a V
2
1
2
+
1
2
3
=
a
b
c
d
e
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Propriedades de soma e unio
Propriedades
Podem ser aplicadas a qualquer nmero nito de grafos
So operaes associativas
So operaes comutativas
Grafos direcionados
Dena soma e unio para grafos direcionados. As propridades de
associao e comutao so mantidas?
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Remoo de aresta e de vrtice
Remoo de aresta
Se e uma aresta de um grafo G, denota-se G e o grafo obtido de G
pela remoo da aresta e. Se E um conjunto de arestas em G,
denota-se G-E ao grafo obtido pela remoo das arestas em E.
Remoo de vrtice
Se v um vrtice de um grafo G denota-se por G v o grafo obtido de
G pela remoo do vrtice v conjuntamente com as arestas incidentes a
v. Denota-se G S ao grafo obtido pela remoo dos vrtices em S,
sendo S um conjunto qualquer de vrtices de G.
Contrao de aresta/vrtice
Denota-se por G/e o grafo obtido pela contrao da aresta e. Remova
e = (v, w) de G e una suas extremidades v e w de tal forma que o vrtice
resultante seja incidente s arestas originalmente incidentes a v e w.
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Isomorsmo
Dois grafos G e H so ditos isomorfos se existir uma
correspondncia um-para-um entre seus vrtices e entre suas
arestas, de maneira que as relaes de incidncia so preservadas
c
a e
d b
1
2
3 4
5
k
n
g
e
x
a
b
c
d
e
f
1 2
3 4
5 6
a
b
c
d
e
f
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Isomorsmo
Dois grafos G e H so ditos isomorfos se existir uma
correspondncia um-para-um entre seus vrtices e entre suas
arestas, de maneira que as relaes de incidncia so preservadas
c
a e
d b
1
2
3 4
5
k
n
g
e
x
a
b
c
d
e
f
1 2
3 4
5 6
a
b
c
d
e
f
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Isomorsmo
Dois grafos G e H so ditos isomorfos se existir uma
correspondncia um-para-um entre seus vrtices e entre suas
arestas, de maneira que as relaes de incidncia so preservadas
c
a e
d b
1
2
3 4
5
k
n
g
e
x
a
b
c
d
e
f
1 2
3 4
5 6
a
b
c
d
e
f
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Isomorsmo
Os desenhos abaixo:
representam o mesmo grafo G:
Conjuntos de vrtices e arestas so idnticos.
Funes aresta-vrtice so as mesmas.
O termo isomorfos vem do grego, o que signica a mesma forma.
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Isomorsmo
Estes grafos so
diferentes apesar de
possurem os mesmos
conjuntos de vrtices
e arestas.
As funes
aresta-vrtice no so
as mesmas.
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Isomorsmo
Condies necessrias mas no sucientes para que G e H sejam
isomorfos:
Mesmo nmero de vrtices
Mesmo nmero de arestas
Mesmo nmero de componentes
Mesmo nmero de vrtices com o mesmo grau

No existe um algoritmo eciente para determinar se dois


grafos so isomorfos
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Isomorsmo
Condies necessrias mas no sucientes para que G e H sejam
isomorfos:
Mesmo nmero de vrtices
Mesmo nmero de arestas
Mesmo nmero de componentes
Mesmo nmero de vrtices com o mesmo grau

No existe um algoritmo eciente para determinar se dois


grafos so isomorfos
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Isomorsmo
Condies necessrias mas no sucientes para que G e H sejam
isomorfos:
Mesmo nmero de vrtices
Mesmo nmero de arestas
Mesmo nmero de componentes
Mesmo nmero de vrtices com o mesmo grau

No existe um algoritmo eciente para determinar se dois


grafos so isomorfos
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Grafo complementar
Denio
Seja G = (V, E) um grafo simples dirigido ou no-dirigido
O complemento de G, C(G), um grafo formado da seguinte
maneira:
Os vrtices de C(G) so todos os vrtices de G
As arestas de C(G) so exatamente as arestas que faltam em
G para formarmos um grafo completo
Exerccio
Encontre um grafo com 5 vrtices que seja isomorfo a seu
complemento.
Qual o nmero de arestas de um grafo que isomorfo a seu
complemento?
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Grafo complementar
Denio
Seja G = (V, E) um grafo simples dirigido ou no-dirigido
O complemento de G, C(G), um grafo formado da seguinte
maneira:
Os vrtices de C(G) so todos os vrtices de G
As arestas de C(G) so exatamente as arestas que faltam em
G para formarmos um grafo completo
Exerccio
Encontre um grafo com 5 vrtices que seja isomorfo a seu
complemento.
Qual o nmero de arestas de um grafo que isomorfo a seu
complemento?
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Grafo complementar
Denio
Seja G = (V, E) um grafo simples dirigido ou no-dirigido
O complemento de G, C(G), um grafo formado da seguinte
maneira:
Os vrtices de C(G) so todos os vrtices de G
As arestas de C(G) so exatamente as arestas que faltam em
G para formarmos um grafo completo
Exerccio
Encontre um grafo com 5 vrtices que seja isomorfo a seu
complemento.
Qual o nmero de arestas de um grafo que isomorfo a seu
complemento?
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sub-grafo
Sub-grafo
Um grafo G
1
= (V
1
, A
1
) dito ser subgrafo de um grafo G(V, A)
quando V
1
V e A
1
A.
Sub-grafo induzido
Se G
2
= (V
2
, A
2
) um subgrafo de G
1
= (V
1
, A
1
) e possui toda
aresta (v, w) de G
1
tal que ambos, v e w, estejam em V
2
, ento
G
2
o subgrafo induzido pelo subconjunto de vrtices V
2
.
Exemplo
1
2
3
4
5
subgrafo
induzido por {1, 2, 3, 4}
1
2
3
4
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sub-grafo
Sub-grafo
Um grafo G
1
= (V
1
, A
1
) dito ser subgrafo de um grafo G(V, A)
quando V
1
V e A
1
A.
Sub-grafo induzido
Se G
2
= (V
2
, A
2
) um subgrafo de G
1
= (V
1
, A
1
) e possui toda
aresta (v, w) de G
1
tal que ambos, v e w, estejam em V
2
, ento
G
2
o subgrafo induzido pelo subconjunto de vrtices V
2
.
Exemplo
1
2
3
4
5
subgrafo
induzido por {1, 2, 3, 4}
1
2
3
4
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sub-grafo
Um grafo g dito ser um subgrafo de um grafo G se todos os
vrtices e todas as arestas de g esto em G
Observaes:
Todo grafo subgrafo de si prprio
O subgrafo de um subgrafo de G subgrafo de G
Um vrtice simples de G um subgrafo de G
Uma aresta simples de G (juntamente com suas extremidades)
subgrafo de G
Subgrafos disjuntos de arestas: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de arestas se G
1
e G
2
no
tiverem nenhuma aresta em comum.
G
1
e G
2
podem ter vrtices em comum?
Subgrafos disjuntos de vrtices: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de vrtices se G
1
e G
2
no
tiverem nenhum vrtice em comum.
G
1
e G
2
podem ter arestas em comum
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sub-grafo
Um grafo g dito ser um subgrafo de um grafo G se todos os
vrtices e todas as arestas de g esto em G
Observaes:
Todo grafo subgrafo de si prprio
O subgrafo de um subgrafo de G subgrafo de G
Um vrtice simples de G um subgrafo de G
Uma aresta simples de G (juntamente com suas extremidades)
subgrafo de G
Subgrafos disjuntos de arestas: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de arestas se G
1
e G
2
no
tiverem nenhuma aresta em comum.
G
1
e G
2
podem ter vrtices em comum?
Subgrafos disjuntos de vrtices: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de vrtices se G
1
e G
2
no
tiverem nenhum vrtice em comum.
G
1
e G
2
podem ter arestas em comum
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sub-grafo
Um grafo g dito ser um subgrafo de um grafo G se todos os
vrtices e todas as arestas de g esto em G
Observaes:
Todo grafo subgrafo de si prprio
O subgrafo de um subgrafo de G subgrafo de G
Um vrtice simples de G um subgrafo de G
Uma aresta simples de G (juntamente com suas extremidades)
subgrafo de G
Subgrafos disjuntos de arestas: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de arestas se G
1
e G
2
no
tiverem nenhuma aresta em comum.
G
1
e G
2
podem ter vrtices em comum?
Subgrafos disjuntos de vrtices: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de vrtices se G
1
e G
2
no
tiverem nenhum vrtice em comum.
G
1
e G
2
podem ter arestas em comum
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sub-grafo
Um grafo g dito ser um subgrafo de um grafo G se todos os
vrtices e todas as arestas de g esto em G
Observaes:
Todo grafo subgrafo de si prprio
O subgrafo de um subgrafo de G subgrafo de G
Um vrtice simples de G um subgrafo de G
Uma aresta simples de G (juntamente com suas extremidades)
subgrafo de G
Subgrafos disjuntos de arestas: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de arestas se G
1
e G
2
no
tiverem nenhuma aresta em comum.
G
1
e G
2
podem ter vrtices em comum?
Subgrafos disjuntos de vrtices: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de vrtices se G
1
e G
2
no
tiverem nenhum vrtice em comum.
G
1
e G
2
podem ter arestas em comum
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sub-grafo
Um grafo g dito ser um subgrafo de um grafo G se todos os
vrtices e todas as arestas de g esto em G
Observaes:
Todo grafo subgrafo de si prprio
O subgrafo de um subgrafo de G subgrafo de G
Um vrtice simples de G um subgrafo de G
Uma aresta simples de G (juntamente com suas extremidades)
subgrafo de G
Subgrafos disjuntos de arestas: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de arestas se G
1
e G
2
no
tiverem nenhuma aresta em comum.
G
1
e G
2
podem ter vrtices em comum?
Subgrafos disjuntos de vrtices: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de vrtices se G
1
e G
2
no
tiverem nenhum vrtice em comum.
G
1
e G
2
podem ter arestas em comum
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sub-grafo
Um grafo g dito ser um subgrafo de um grafo G se todos os
vrtices e todas as arestas de g esto em G
Observaes:
Todo grafo subgrafo de si prprio
O subgrafo de um subgrafo de G subgrafo de G
Um vrtice simples de G um subgrafo de G
Uma aresta simples de G (juntamente com suas extremidades)
subgrafo de G
Subgrafos disjuntos de arestas: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de arestas se G
1
e G
2
no
tiverem nenhuma aresta em comum.
G
1
e G
2
podem ter vrtices em comum?
Subgrafos disjuntos de vrtices: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de vrtices se G
1
e G
2
no
tiverem nenhum vrtice em comum.
G
1
e G
2
podem ter arestas em comum
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sub-grafo
Um grafo g dito ser um subgrafo de um grafo G se todos os
vrtices e todas as arestas de g esto em G
Observaes:
Todo grafo subgrafo de si prprio
O subgrafo de um subgrafo de G subgrafo de G
Um vrtice simples de G um subgrafo de G
Uma aresta simples de G (juntamente com suas extremidades)
subgrafo de G
Subgrafos disjuntos de arestas: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de arestas se G
1
e G
2
no
tiverem nenhuma aresta em comum.
G
1
e G
2
podem ter vrtices em comum?
Subgrafos disjuntos de vrtices: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de vrtices se G
1
e G
2
no
tiverem nenhum vrtice em comum.
G
1
e G
2
podem ter arestas em comum
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais
Introduo Terminologia Estruturas de Dados Operaes Isomorsmo Subgrafos
Sub-grafo
Um grafo g dito ser um subgrafo de um grafo G se todos os
vrtices e todas as arestas de g esto em G
Observaes:
Todo grafo subgrafo de si prprio
O subgrafo de um subgrafo de G subgrafo de G
Um vrtice simples de G um subgrafo de G
Uma aresta simples de G (juntamente com suas extremidades)
subgrafo de G
Subgrafos disjuntos de arestas: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de arestas se G
1
e G
2
no
tiverem nenhuma aresta em comum.
G
1
e G
2
podem ter vrtices em comum?
Subgrafos disjuntos de vrtices: dois (ou mais) subgrafos G
1
e
G
2
de um grafo G so disjuntos de vrtices se G
1
e G
2
no
tiverem nenhum vrtice em comum.
G
1
e G
2
podem ter arestas em comum
Anna Tostes | annatostes at gmail.com Grafos e Teoria da Complexidade - Conceitos Iniciais

Vous aimerez peut-être aussi