Um gráfico colorido pode ser descrito como tupla onde é um gráfico é a coloração. Diz-se que dois gráficos coloridos e são isomórficos se existir um isomorfismo modo que a coloração seja obedecida, ou seja, para todos .
Essa noção captura o isomorfismo de gráficos coloridos em um sentido muito estrito. Considere o caso em que você tem dois mapas políticos da mesma região, mas eles usam conjuntos de cores diferentes. Se alguém perguntar se as cores são da mesma maneira, assumiremos que isso significa se existe um mapeamento bijetivo entre os dois conjuntos de cores, de modo que as cores dos dois mapas coincidam com esse mapeamento. Esta noção pode ser formalizadas descrevendo gráficos coloridos como tuplo em que é uma relação de equivalência sobre o conjunto de vértice . Podemos então dizer dois desses gráficos e são isomórficos se existe um isomorfismo tal que para todos os pares sustenta que
Minha pergunta é se esse conceito foi estudado anteriormente, encontrando formas canônicas etc. e, em caso afirmativo, com que nome ele é conhecido.
fonte
Respostas:
O problema que você descreve foi definitivamente considerado (lembro-me de discuti-lo na escola de pós-graduação, e na época já havia sido discutido muito antes disso), embora não possa apontar para nenhuma referência específica na literatura. Possivelmente porque é linearmente equivalente ao isomorfismo gráfico incolor, da seguinte forma (isso é verdade mesmo para formas canônicas). Chame o problema que você descreve EQ-GI.
GI é apenas o caso especial de EQ-GI, em que cada gráfico possui apenas uma classe de equivalência composta por todos os vértices.
Na outra direção, para reduzir EQ-GI a GI, seja um gráfico com relação de equivalência com n vértices, m arestas ec classes de equivalência. Construa um gráfico G ′ cujo conjunto de vértices consiste nos vértices de G , juntamente com os novos vértices v 1 , … , v c , um para cada classe de equivalência em = G , bem como n + c + 1 novos vértices w 0 , … ,(G,∼G) n m c G′ G v1,…,vc =G n+c+1 . Ligue o w i 's num caminho w 0 - W 1 - W 2 - ⋯ - w n + c , ligar cada v i a w 0 , e para todos os vértices de L , ligá-lo à correspondente equivalência classe vértice v i . Então G ′ tem no máximo n + 2 c + n + 1 ≤ O ( n )w0,…,wn+c wi w0−w1−w2−⋯−wn+c vi w0 G vi G′ n+2c+n+1≤O(n) vértices e podem ser construídos essencialmente ao mesmo tempo. (Ele também possui no máximo arestas - que é O ( m ) para gráficos conectados - mas isso é um pouco menos relevante uma vez que a maioria dos algoritmos GI tem tempos de execução que dependem essencialmente apenas de n .)m+n+c+(n+c+1)≤m+4n+1≤O(m+n) O(m) n
Atualização : Como houve alguma confusão nos comentários, estou adicionando aqui um esboço da correção do argumento acima. Dado e ( G 2 , ∼ 2 ) , sejam G ′ 1 e G ′ 2 os gráficos construídos como acima; Seja v i , 1 denotar o vértice v i de cima em G ′ 1 , e v i , 2 aquele em G ′(G1,∼1) (G2,∼2) G′1 G′2 vi,1 vi G′1 vi,2 e da mesma forma parawi,1ewi,2. Se existe um isomorfismoG ′ 1 ≅G ′ 2 , ele deve enviarwi,1awi,2para todoi, pois em cada gráficown+cé o vértice único que é o ponto final de qualquer caminho de comprimento pelo menosn+c+1. Em particular,w0,1G′2 wi,1 wi,2 G′1≅G′2 wi,1 wi,2 i wn+c n+c+1 w0,1 mapeia para . Desde os vizinhos de w 0 que não são w 1 são exatamente o v i , o isomorfismo deve mapear o conjunto { v 1 , 1 , ... , v c , 1 } para o conjunto { v 1 , 2 , ... , v c , 2 } (e, em particular, ∼ 1 e ∼ 2 devem ter o mesmo número, cw0,2 w0 w1 vi {v1,1,…,vc,1} {v1,2,…,vc,2} ∼1 ∼2 c , de classes de equivalência). Observe que o isomorfismo não precisa enviar a v i , 2 para todos os i , mas é permitido permutar os índices dos v 's desde que as classes de equivalência correspondentes possam ser mapeadas uma para a outra. Por outro lado, com base nesta descrição de como os isomorfismos entre G ′ 1 e G ′ 2 podem parecer, é fácil ver que se ( G 1 , ∼ 1 ) ≅ ( G 2 , ∼ 2 )vi,1 vi,2 i v G′1 G′2 (G1,∼1)≅(G2,∼2) então isso dá um isomorfismo .G′1≅G′2
fonte
Li seu último comentário na resposta correta do Josué; se você precisar transformar EQ-GI em GI colorido (ou seja, você estiver com problemas com as cores atribuídas às classes de equivalência), poderá usar a seguinte redução:
Observe também que você pode soltar as cores e obter uma instância GI equivalente :-)
A redução corresponde ao exemplo no seu comentário
fonte