Проблема, которую вы описываете, определенно была рассмотрена (я помню, как обсуждала ее в аспирантуре, и в то время она уже обсуждалась задолго до этого), хотя я не могу указать на какие-либо конкретные ссылки в литературе. Возможно, потому что он линейно эквивалентен изоморфизму неокрашенных графов следующим образом (это верно даже для канонических форм). Назовите проблему, которую вы описываете EQ-GI.
GI - это особый случай EQ-GI, где каждый граф имеет только один класс эквивалентности, состоящий из всех вершин.
В другом направлении, чтобы свести EQ-GI к GI, пусть будет графом с отношением эквивалентности с вершинами, ребрами и классами эквивалентности. Построить граф , множество вершин которого состоит из вершин вместе с новыми вершинами , по одному для каждого класса эквивалентности в , а также новых вершин . Соедините по пути , соедините каждый с и для каждой вершины в(G,∼G)nmcG′Gv1,…,vc=Gn+c+1w0,…,wn+cwiw0−w1−w2−⋯−wn+cviw0G , связать его с соответствующей вершиной класса эквивалентности . Тогда имеет не более вершин и может быть построено по существу с одной временной привязкой. (Он также имеет не более ребер - что является для связных графов - но это несколько меньше актуальные , поскольку большинство алгоритмов GI есть проточный раз , что существенно зависеть только от .)viG′n+2c+n+1≤O(n)m+n+c+(n+c+1)≤m+4n+1≤O(m+n)O(m)n
Обновление : так как в комментариях была некоторая путаница, я добавляю здесь набросок правильности приведенного выше аргумента. Учитывая и , пусть и - графики, построенные, как указано выше; пусть обозначает вершину сверху в , а - вершину в , и аналогично для и . Если существует изоморфизм , он должен отправить к для всех(G1,∼1)(G2,∼2)G′1G′2vi,1viG′1vi,2G′2wi,1wi,2G′1≅G′2wi,1wi,2iпоскольку в каждом графе является уникальной вершиной, которая является конечной точкой любого пути длиной не менее . В частности, отображается на . Так как соседи , не являются в точности , изоморфизм должен отображать множество на множество (и, в частности, и должны иметь одинаковое число, , классов эквивалентности). Обратите внимание, что изоморфизм не должен посылать в для всехwn+cn+c+1w0,1w0,2w0w1vi{v1,1,…,vc,1}{v1,2,…,vc,2}∼1∼2cvi,1vi,2i , но разрешено переставлять индексы , пока соответствующие классы эквивалентности могут быть сопоставлены друг с другом. И наоборот, основываясь на этом описании того, как могут выглядеть изоморфизмы между и , легко видеть, что если то это дает изоморфизм ,vG′1G′2(G1,∼1)≅(G2,∼2)G′1≅G′2