Você está na página 1de 23

Isomorfismo de grafo

Prof. Andre Luiz


Teoria dos grafos
Isomorfismo de grafos
Decidir quando dois desenhos de grafos
representam o mesmo grafo uma tarefa difcil
Uma tarefa relacionada a de decidir quando duas
especificaes diferentes de grafos so
estruturalmente equivalentes
Desenvolver um algoritmo para tomar estas
decises um problema no resolvido

Isomorfismo de grafos
A forma e o comprimento de uma aresta e a sua
posio no espao no fazem parte da
especificao de um grafo
Cada grafo tem infinitas representaes espaciais

2 3
0 1
6 7
4 5
2 3
0
1
6 7
4
5
Dois desenhos diferentes do mesmo grafo
Isomorfismo de grafos
Como reconhecemos que os grafos abaixo so o
mesmo grafo?
Os vrtices e arestas tem rtulos iguais
Ambos tm 8 vrtices e 12 arestas
Cada par de vrtices adjacentes em um grafo
adjacente no outro grafo

2 3
0 1
6 7
4 5
2 3
0
1
6 7
4
5
Dois desenhos diferentes do mesmo grafo
Equivalncia estrutural
O conceito de isomorfismo vem formalizar
exatamente a ideia de grafos que, apesar de no
serem iguais, apresentam as mesmas propriedades
estruturais.

Equivalncia estrutural
Se os grafos no tiverem rtulos ou os rtulos
forem diferentes a tarefa fica mais difcil

3
5
2 1
6
7
4
8
u
w t
s
x
y v
z
Equivalncia estrutural
A especificao de um grafo G pode ser
transformada na especificao de um grafo H pela
seguinte funo bijetora f nos rtulos dos vrtices

3
5
2 1
6
7
4
8
u
w t
s
x
y v
z
1 s 5 w
2 t 6 x
3 u 7 y
4 v 8 z
Formalizando equivalncia
Definio: Seja G e H dois grafos simples, uma
bijeo de vrtices f: V
G
V
H
preserva adjacncia
se para cada par de vrtices adjacentes u e v no
grafo G, os vrtices f(u) e f(v) so adjacentes no
grafo H.
Definio: f preserva no-adjacncia se f(u) e f(v)
forem no-adjacentes sempre que u e v forem no-
adjacentes

Formalizando equivalncia
Definio: Uma bijeo de vrtices f: V
G
V
H
entre
os conjuntos de vrtices de dois grafos simples G e
H preserva estrutura se ela preserva adjacncia e
no-adjacncia.
Para cada par de vrtices em G:
u e v so adjacentes em G ento f(u) e f(v) so
adjacentes em H
u e v no so adjacentes em G ento f(u) e f(v) no so
adjacentes em H
Isomorfismo de grafos
A figura abaixo define um isomorfismo entre os dois
grafos simples mostrados. Verifique que a funo
preserva a estrutura.
2 3
0 1
6 7
4 5
c
e
b a
f
g
d
h
a=f(0)
d=f(3)
f=f(5)
g=f(6)
b=f(1)
c=f(2)
e=f(4)
h=f(7)
Isomorfismo de grafos
Fica mais fcil analisar a preservao da estrutura
alterando-se os rtulos do segundo grafo
2 3
0 1
6 7
4 5
2
4
1 0
5
6
3
7
Isomorfismo de grafos
No exemplo abaixo, a funo j j+4 bijetora e
preserva adjacncia, mas no um isomorfismo.
Por que?
1 2
0 3
5 6
4 7
Isomorfismo de grafos
No exemplo abaixo, a funo j j mod 2 preserva
adjacncia e no-adjacncia, mas no um
isomorfismo. Por que?
2
1 0
1 0
Isomorfismo de grafos
A relao isomrfico a uma relao simtrica,
transitiva e reflexiva, sendo assim um relao de
equivalncia.
Reflexiva: G isomrfico a ele prprio
Simtrica: se G isomrfico a H, ento H isomrfico G
Transitiva: se F isomrfico a G, e G isomrfico H, ento F
isomrfico H
Definio: Cada classe de equivalncia chamada um
tipo isomrfico.
Os grafos abaixo representam os 4 tipos isomrficos de
um grafo simples de 3 vrtices

Isomorfismo de dgrafos
Definio: Dois dgrafos so isomrficos se existe
um isomorfismo f entre seus grafos equivalentes
que preserve a direo de cada aresta.
Isto , a aresta e direcionada de u para v se, e
somente se, f(e) direcionada de f(u) para f(v).
Dgrafos no-isomrficos
Isomorfismo por fora bruta
A definio de isomorfismo implica que dois grafos
so isomorfos se for possvel ordenar seus vrtices
de forma que suas matrizes de adjacncia sejam
iguais
u
x w
v
a b
c
d
A
G
= <u v w x>

A
H
= <a d c b>
G H
Isomorfismo por fora bruta
Algoritmo: Teste fora bruta para o isomorfismo de grafos

funo isomorfos(G,H)
se |V
G
| |V
H
| ento
retorne 0
se as sequncias de graus no so iguais ento
retorne 0
Fixe uma ordenao para o grafo G
Escreva a matriz de adjacncia A
G
com esta ordenao
para cada ordenao de vrtices de H faa
Escreva a matriz de adjacncia A
H
se A
H
=A
G
ento
retorne 1
retorne 0
Isomorfismo por fora bruta
Seria muito til ter um algoritmo rpido para
verificar se dois grafos quaisquer so isomorfos
Dado uma bijeo de vrtices, pode-se verificar se
os grafos so isomorfos visitando todos os pares
de vrtices
No entanto existem n! bijees possveis para
verificar
O algoritmo fora bruta no funciona
O problema do isomorfismo
O problema do isomorfismo construir um
algoritmo para decidir o isomorfismo de grafos, ou
de provar que este algoritmo no existe.
Aplicao: Disputa de patentes e espionagem
industrial na indstria de chips e circuitos
eletrnicos. Provar que um circuito um mero
rearranjo de outro circuito.
Exerccios
Ache os tipos isomrficos de uma rvore de 4
vrtices
Exerccios
Ache uma bijeo de vrtices que defina um
isomorfismo entre os grafos abaixo:
u v
x w r z s t
Exerccios
Ache uma bijeo de vrtices que defina um
isomorfismo entre os grafos abaixo:
u v
x w
s z
r t
Exerccios
Ache uma bijeo de vrtices que defina um
isomorfismo entre os grafos abaixo:
u v
x w
s z
r t
y q