Описана вами проблема, безумовно, була розглянута (я пам’ятаю, що це обговорювалося в школі, і в той час вона вже обговорювалася задовго до цього часу), хоча я не можу вказати на якісь конкретні посилання в літературі. Можливо тому, що він лінійно еквівалентний необарвленому ізоморфізму графа, як це відбувається (це справедливо навіть для канонічних форм). Назвіть проблему, яку ви описуєте 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 , але дозволяється переставляти індекси 's до тих пір, поки відповідні класи еквівалентності можуть бути зіставлені один з одним. І навпаки, виходячи з цього опису того, як можуть виглядати ізоморфізми між та , легко зрозуміти, що якщо то це дає ізоморфізм .vG′1G′2(G1,∼1)≅(G2,∼2)G′1≅G′2