Un graphique coloré peut être décrit comme un tuple où est un graphique et est la coloration. On dit que deux graphes colorés et sont isomorphes s'il existe un isomorphisme tel que la coloration est respectée, c.-à-d. pour tout .
Cette notion capture l'isomorphisme des graphes colorés dans un sens très strict. Prenons le cas où vous avez deux cartes politiques de la même région mais qui utilisent des jeux de couleurs différents. Si l'on demande s'ils sont colorés de la même manière, on supposerait que cela signifie s'il existe une correspondance bijective entre les deux jeux de couleurs de sorte que les couleurs des deux cartes coïncident via cette correspondance. Cette notion peut être formalisée par la description des graphiques colorés comme tuple où est une relation d'équivalence sur l'ensemble des sommets du . On peut alors dire deux de ces graphes et sont isomorphes s'il existe un isomorphisme tel que pour toutes les paires il est vrai que
Ma question est de savoir si ce concept a été étudié précédemment par la recherche de formes canoniques, etc. et si oui sous quel nom il est connu?
Réponses:
Le problème que vous décrivez a certainement été pris en compte (je me souviens en avoir discuté à l'école, et à l'époque il avait déjà été discuté bien avant), bien que je ne puisse citer aucune référence particulière dans la littérature. Peut-être parce qu'il est linéairement équivalent à l'isomorphisme du graphique non coloré, comme suit (cela est vrai même pour les formes canoniques). Appelez le problème que vous décrivez EQ-GI.
GI est juste le cas particulier de EQ-GI où chaque graphique a une seule classe d'équivalence composée de tous les sommets.
Dans l'autre sens, pour réduire EQ-GI à GI, soit un graphe avec une relation d'équivalence avec n sommets, m arêtes et c classes d'équivalence. Construire un graphe G ′ dont l'ensemble des sommets se compose des sommets de G , ainsi que de nouveaux sommets v 1 , … , v c , un pour chaque classe d'équivalence dans = G , ainsi que n + c + 1 nouveaux sommets w 0 , … ,(G,∼G) n m c G′ G v1,…,vc =G n+c+1 . Reliez les w i dans un chemin w 0 - w 1 - w 2 - ⋯ - w n + c , connectez chaque v i à w 0 , et pour chaque sommet de G , connectez-le au sommet de classe d'équivalence correspondant v i . Alors G ′ a au plus 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) sommets et peuvent être construits essentiellement dans le même temps. (Il a également au plus arêtes - qui est O ( m ) pour les graphiques connectés - mais c'est un peu moins pertinent car la plupart des algorithmes GI ont des temps d'exécution qui ne dépendent essentiellement que de n .)m+n+c+(n+c+1)≤m+4n+1≤O(m+n) O(m) n
Mise à jour : Puisqu'il y avait une certaine confusion dans les commentaires, j'ajoute ici un croquis de l'exactitude de l'argument ci-dessus. Étant donné et ( G 2 , ∼ 2 ) , soit G ' 1 et G ' 2 les graphiques construits comme ci-dessus; soit v i , 1 désigne le sommet v i d'en haut dans G ′ 1 , et v i , 2 celui de G ′(G1,∼1) ( G2, ∼2) g′1 g′2 vi , 1 vje g′1 vi , 2 , et de même pourwi,1etwi,2. S'il y a un isomorphismeG ' 1 ≅G ' 2 , il doit envoyerwi,1àwi,2pour touti, car dans chaque graphiquewn+cest le sommet unique qui est le point final de tout chemin de longueur au moinsn+c+1. En particulier,w0,1g′2 wi , 1 wi , 2 g′1≅g′2 wi , 1 wi , 2 je wn + c n + c + 1 w0,1 correspond à . Comme les voisins de w 0 qui ne sont pas w 1 sont exactement les v i , l'isomorphisme doit mapper l'ensemble { v 1 , 1 , … , v c , 1 } à l'ensemble { v 1 , 2 , … , v c , 2 } (et en particulier les deux ~ 1 et ~ 2 doivent avoir le même nombre, cw0,2 w0 w1 vi {v1,1,…,vc,1} {v1,2,…,vc,2} ∼1 ∼2 c , des classes d'équivalence). Notez que l'isomorphisme n'a pas besoin d'envoyer à v i , 2 pour tous les i , mais est autorisé à permuter les indices des v tant que les classes d'équivalence correspondantes peuvent être mappées les unes aux autres. Inversement, sur la base de cette description de l' apparence des isomorphismes entre G ′ 1 et G ′ 2 , il est facile de voir que si ( G 1 , ∼ 1 ) ≅ ( G 2 , ∼ 2 )vi,1 vi,2 i v G′1 G′2 (G1,∼1)≅(G2,∼2) cela donne alors un isomorphisme .G′1≅G′2
la source
J'ai lu votre dernier commentaire dans la bonne réponse de Joshua; si vous devez transformer EQ-GI en GI coloré (c'est-à-dire que vous avez des problèmes avec les couleurs affectées aux classes d'équivalence), vous pouvez utiliser la réduction suivante:
Supposons que les graphes de départ soient , G 2 = ( V 2 , E 2 ) et qu'il existe q classes d'équivalence; alors vous pouvez ajouter à chaque graphique un "permutateur", c'est-à-dire un graphique complet sur | V 1 | + 1 = | V 2 | + 1 nœuds ( K ′ | V 1 | + 1 , K ″G1=(V1,E1) G2=(V2,E2) q |V1|+1=|V2|+1 K′|V1|+1 ) etutilisationq+1couleursc1,. . . ,cq,cq+1.K′′|V2|+1 q+1 c1,...,cq,cq+1
Dans les deux et K " , q noeuds sont distingués et colorés avec c 1 , . . . , c q les nœuds restants sont colorés avec c q + 1 . Les nœuds de G 1 sont colorés avec la couleur c q + 1 et les nœuds de la même classe d'équivalence sont liés à la couleur correspondante en K ' ; les nœuds de G 2 sont colorés avec la couleur q + 1K′ K′′ q c1,...,cq cq+1 G1 cq+1 K′ G2 q+1 et les nœuds de la même classe d'équivalence sont liés à la couleur correspondante en .K′′
Notez également que vous pouvez supprimer les couleurs et obtenir une instance GI équivalente :-)
La réduction correspondant à l'exemple de votre commentaire
la source