Aula 07 - Isomorfismo

download Aula 07 - Isomorfismo

of 23

Transcript of Aula 07 - Isomorfismo

  • 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: VG VH 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: VG VH 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

    AG =

    AH =

    G H

  • Isomorfismo por fora bruta Algoritmo: Teste fora bruta para o isomorfismo de grafos

    funo isomorfos(G,H)

    se |VG| |VH| 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 AG com esta ordenao

    para cada ordenao de vrtices de H faa

    Escreva a matriz de adjacncia AH se AH=AG 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