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