Научная статья на тему 'Альтернативные подходы к описанию классов изоморфных графов'

Альтернативные подходы к описанию классов изоморфных графов Текст научной статьи по специальности «Математика»

CC BY
622
211
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ИЗОМОРФИЗМ ГРАФОВ / КЛАССЫ СИММЕТРИИ ВЕРШИН / КЛАССЫ СИММЕТРИИ РЁБЕР / ИНВАРИАНТЫ ГРАФОВ

Аннотация научной статьи по математике, автор научной работы — Назаров Максим Николаевич

Предложен алгоритм естественной индексации для классов симметрии вершин и рёбер конечных графов. На основе этой индексации построено альтернативное описание для классов изоморфных графов. Продемонстрировано, что на классы изоморфных графов можно перенести такие классические понятия, как раскраски, подграфы, а также элементарные операции на графах.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Alternative approaches to the description of classes of isomorphic graphs

An algorithm for natural indexing of auto-morphic equivalence classes of vertices and edges in finite graphs is proposed. Using this indexing, the alternative description of graph isomorphism classes is constructed. It is also demonstrated that one can apply such classical concepts as colouring, operations on graphs and subgraphs to the graph isomorphism classes.

Текст научной работы на тему «Альтернативные подходы к описанию классов изоморфных графов»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2014

Прикладная теория графов

№ 3(25)

УДК 519.171 + 519.175.1

АЛЬТЕРНАТИВНЫЕ ПОДХОДЫ К ОПИСАНИЮ КЛАССОВ

ИЗОМОРФНЫХ ГРАФОВ

М. Н. Назаров

Национальный исследовательский университет «МИЭТ», г. Москва, Россия E-mail: Nazarov-Maximilian@yandex.ru

Предложен алгоритм естественной индексации для классов симметрии вершин и рёбер конечных графов. На основе этой индексации построено альтернативное описание для классов изоморфных графов. Продемонстрировано, что на классы изоморфных графов можно перенести такие классические понятия, как раскраски, подграфы, а также элементарные операции на графах.

Ключевые слова: изоморфизм графов, классы симметрии вершин, классы симметрии рёбер, инварианты графов.

Введение

Графом G принято называть пару G = (V, E), где V — множество вершин, а E С V х V — множество рёбер, которые задают связи между вершинами. Поскольку основным предметом теории графов является абстрактная структура связей, то названия вершин V и рёбер E, а также их природа в общем случае не играют принципиальной роли. Данный факт находит своё отражение в определении понятия изоморфизма графов (подробнее см. [1-3]).

Определение 1. Два графа G и H называются изоморфными, если существует биекция <р : V(G) ^ V(H), такая, что

Vu,v G V(G) (u,v) G E(G) ^ (ip(u),(p(v)) G E(H).

Два изоморфных графа с точки зрения теории графов считаются неразличимыми, так как имеют одинаковую структуру связей между вершинами. Поскольку отношение изоморфизма разбивает множество1 всех графов на классы, то можно отождествить класс изоморфных графов [G] с уникальной структурой связей (рис. 1).

G ={V1E) У = {а, b, с, rf, е, /, д} Е = {(а,ь), (а,с),(а,/), (а,д), (b,с),(b,d),(b, д),(c,d), (с, f),(d, f),(d, д), (/,д)}

d

а

Рис. 1. Переход от обычного графа G к классу изоморфных [G]

С понятием изоморфизма графов связано понятие инварианта — некоторого набора множеств, которые являются характеристиками структуры графа. У двух изоморфных графов значения инвариантов должны обязательно совпадать, но обратное

1 Данная терминология корректна только в рамках альтернативных теорий множеств, таких, как МЕИ (подробнее см. [4]). Для классической теории множеств ZFC принято использовать термин «класс всех графов».

в общем случае не верно. Поэтому дополнительно вводится понятие полного инварианта, который совпадает у графов тогда и только тогда, когда они изоморфны (подробнее об инвариантах см. [1, 3]).

Если изоморфизм ф отображает граф G сам на себя, то такое отображение называется автоморфизмом. Две вершины u,v G V(G) графа G, которые могут быть переведены одна в другую некоторым автоморфизмом u = ф^), будем называть автоморфно эквивалентными (или симметричными) и обозначать u ~ v. При этом граф G можно изобразить так, что две вершины u ~ v переводятся друг в друга геометрической симметрией (на рис. 1 все вершины могут быть переведены друг в друга симметриями, а значит, они все попарно автоморфно эквивалентны). Аналогично определяется отношение автоморфной эквивалентности и для рёбер графа: (ui,u2) ~ (vi,v2), если найдётся рёберный автоморфизм ф : E(G) ^ E(G), такой, что (u1,u2) = ф^,v2). Рёберный автоморфизм сохраняет вершины: рёбра e1 и е2 имеют общую вершину тогда и только тогда, когда общая вершина есть у рёбер ф(е1) и ф(е2).

Отметим, что вопрос об автоморфизмах и симметриях интересен не только с теоретической точки зрения, но и с точки зрения приложений теории графов. О роли автоморфизмов графов в теории алгоритмов см. [5, 6]. Дополнительно к этому можно ознакомиться с химическими приложениями графов, а также их автоморфизмов в работах [7-9].

Отношения автоморфной эквивалентности разбивают множества вершин V(G) и рёбер E(G) любого графа G на классы симметрии v и (u, v) соответственно. Несмотря на широкий круг приложений для симметрий и автоморфизмов графов, непосредственно изучению классов симметрии вершин v посвящено относительно небольшое количество работ. В первую очередь стоит отметить работу М. Спэрроу [10] 1993 г., в которой рассматриваются быстрые алгоритмы поиска классов симметрии, а также диссертационную работу Р. Саутвелла [11] 2006 г.

В данной работе мы демонстрируем, что каждому классу автоморфной эквивалентности вершин v произвольного графа G можно однозначным образом присвоить порядковый номер I(v) на основе полного числового инварианта графа — макси-кода. Аналогичное верно и для классов автоморфной эквивалентности рёбер (u, v): каждому классу можно поставить в соответствие уникальный порядковый номер I(u, v).

Идентификаторы I(v) и I(u,v), в свою очередь, задействованы для построения полного инварианта I[G] — линейной нотации абстрактного графа [G]. В работе демонстрируется, что полный инвариант I [G] обладает всеми свойствами обычных графов G и, в частности, может быть использован для определения таких классических понятий, как раскраски, подграфы, а также элементарных операций на графах.

При построении инварианта I [G] используется подход, аналогичный алгоритмам построения канонических форм графа (подробнее об этом см. [12]). Можно провести также некоторую аналогию между итоговым инвариантом I [G] и линейной нотацией для молекулярных графов стандарта SMILES [13]. Отметим, что ключевым преимуществом инварианта I [G] по отношению к существующим методам хранения графов является полное описание всех симметрий графа. В частности, это позволяет эффективно реализовать процедуру визуализации графа G с учётом всех возможных симметрий этого графа на плоскости или в пространстве.

1. Построение индексации для классов симметрии

Определение 2. Пусть дан произвольный конечный граф G = (V, E), у которого число вершин | V | = n. Тогда, если выбрать некоторый порядок для множества вершин

а = (г^,... , гп), то можно поставить в соответствие графу О матрицу смежности А по стандартному правилу:

А(г,^') = 1 ^ (г*, г) е Е Л А(г,^') = 0 ^ (г*,г,-) </ Е.

На рис. 2 представлен пример двух матриц смежности, которые построены для разных порядков на множестве вершин графа.

О

А а Ь с й е

а 0 1 0 0 0

Ь 1 0 1 0 1

с 0 1 0 1 1

й 0 0 1 0 1

е 0 1 1 1 0

А-2 с е Ь й а

с 0 1 1 1 0

е 1 0 1 1 0

Ь 1 1 0 0 1

й 1 1 0 0 0

а 0 0 1 0 0

Рис. 2. Пример двух разных матриц смежности Аі и А2 для одного графа

Отметим, что матрицы смежности будут совпадать для тех перестановок вершин, которые задают автоморфизмы графа. В пределе максимально возможное число разных матриц смежности равно п! — числу всех перестановок из п элементов и достигается только у асимметричных графов.

Определение 3. Для произвольного графа С определим рёберный граф ¿{С} как граф, чьими вершинами являются рёбра Е(С), а связи устанавливаются между теми из них, которые имеют ровно одну общую вершину из V(С):

¿{С} : V(¿{С}) = Е(С), Е(¿{С}) = {((иьщ), (VI, ^2)) : Зі,і Є {1, 2} : щ = V,- Л щ = V}.

Пример перехода от графа С к рёберному графу ¿{С} представлен на рис. 3.

Замечание 1. Отметим, что любой автоморфизм ф : V(L{С})^V(¿{С}) рёберного графа ¿{С} одновременно является рёберными автоморфизмом ф : Е(С)^Е(С) для исходного графа С.

Определение 4. Кодом матрицы смежности А конечного графа С будем называть такое число ^(А), которое получается в результате перевода матрицы смежности в бинарное число А(1,1)А(1, 2)... А(1, п)А(2,1)... А(п, п).

На практике для представления числа ^(А) обычно используются десятичная или шестнадцатеричная системы счисления.

Определение 5. Наибольший из всех возможных кодов матриц смежности графа С назовём макси-кодом ^тах(С). Если для некоторого порядка а вершин код матрицы смежности ^(А) = ^тах(С), то будем говорить, что порядок а соответствует макси-коду.

с

е

а

Макси-код является полным инвариантом графа, так как по нему можно однозначно восстановить матрицу смежности. Важно отметить, что порядков следования вершин а, которые соответствуют макси-коду, может быть несколько при условии, что у графа есть хотя бы один нетривиальный автоморфизм.

Определение 6. Наибольший из всех возможных кодов матриц смежности рёберного графа ¿{С} назовём рёберным макси-кодом ^пах(С).

Утверждение 1. Если два порядка вершин а1 = (г1,..., гП) и а2 = (г^,..., гП) соответствуют макси-коду ^гаах(С) графа С, то вершины в этих порядках попарно автоморфны: ~ для всех к = 1,..., п.

Доказательство. Совпадение для двух порядков вершин значения кода ^(А) возможно лишь в том случае, если совпадают сами матрицы смежности для этих

является автоморфизмом графа С. ■

Утверждение 2. Если два порядка рёбер в = (е1,..., ) и в2 = (е2,... , е|) соот-

Доказательство. Данное утверждение является очевидным следствием утверждения 1, если учесть, что любой автоморфизм рёберного графа L{G} является рёберным автоморфизмом графа G. ■

Будем использовать для последовательностей вершин а = (vi,...,vn) стандартное индексное обозначение элементов vi = а (г). Для последовательности рёбер ß = = (e1,..., en) будем использовать аналогичное обозначение ei = ß(г).

Определение 7. Пусть макси-коду графа G соответствует некоторый порядок следования вершин а. Назовём индексом класса симметрии вершин V натуральное число I(v), равное первому вхождению в порядок а вершины из класса V. Формально это можно записать так: I(V) = min г.

Корректность определения индексов для классов симметрии вершин непосредственно следует из утверждения 1. Действительно, если макси-коду графа соответствуют два варианта последовательностей вершин а1 = (v^ ... , v^) и а2 = (vj2,... , v2n), то v1 ~ vj2 для всех k = 1,... , n. Как следствие, индекс первого вхождения вершины из класса v одинаков в а 1 и а2.

Определение 8. Пусть рёберному макси-коду ^^(G) графа G соответствует некоторый порядок следования рёбер ß. Назовём индексом класса симметрии рёбер (u,v) натуральное число I(u,v), равное первому вхождению в ß ребра из класса (u, v), т. е. I(u, v) = min г.

По аналогии с вершинами, корректность определения индексов для классов симметрии рёбер есть прямое следствие утверждения 2.

Теорема 1. Если С = Н, то для двух вершин и е V(С), г е V(Н) условие I(и) = I(г) выполняется тогда и только тогда, когда существует изоморфизм : V(С) ^ V(Н), такой, что <^(и) = г.

Доказательство. Докажем сначала, что из <^(и) = г, где ^ — изоморфизм, следует совпадение индексов классов симметрии I(и) = I(г). Если два графа изоморфны,

порядков. Это, в свою очередь, означает, что перестановка вершин ф

ветствуют рёберному макси-коду ^^(С) графа С, то рёбра в этих порядках попарно автоморфны: е1 ~ е2 для всех I = 1,..., к.

i: v~a(i)

i: (u,v)~e(i)

то у них один и тот же макси-код ^тах(С) = ^тах(Н). В этом случае изоморфизм мож-

(и1 ... ип\ ( \

но представить в виде ^ =1 I, где а1 = (и1,... ,ип) —некоторый порядок, ко-

уг1 ... гп J

торый соответствует макси-коду в С, а а2 = (г1,... ,гп) —порядок, соответствующий макси-коду в Н. Поскольку индекс I(и) —натуральное число, а^!(и)) задаёт некоторую вершину и* = а^(и)). Эта вершина и* обладает двумя свойствами: и ~ и* и среди всех симметричных по отношению к и вершинам и* имеет наименьший индекс в а1. Если допустим, что I(и) = I(г), то получим <^(и*) ^ ^(и). В результате получаем противоречие: <^(и*) ^ <^(и) и и ~ и*.

Пусть теперь известно, что С = Н и совпали индексы I(и) = I(г). Поскольку С = Н, существует некоторый изоморфизм : V(С) ^ V(Н). Для образа г* = <£0(и) по первой части теоремы получим I(г*) = I(и) = I(г). Из этого можно заключить, что вершины г, г* симметричны: г ~ г*. Обозначим автоморфизм, переводящий эти вершины одна в другую, через ф: ф(г*) = г. Тогда искомый изоморфизм ^ можно определить в виде композиции ^ = ^0 о ф, а для вершин и, г получим г = ф(^0(и)). Отображение <^, как композиция двух изоморфизмов, само является изоморфизмом. Теорема доказана. ■

Теорема 2. Если С = Н, то для двух рёбер (и1,и2) е Е(С), (г1,г2) е Е(Н) условие I(и1, и2) = I(г1, г2) выполняется тогда и только тогда, когда существует изоморфизм : V(С) ^ V(Н), такой, что ^(и1) = г1 и <^(и2) = г2, или ^(и1) = г2 и

^(и2) = ^1.

Доказательство. Учтём тот факт, что если С = Н, то вершины у рёберных графов ¿{С} и ¿{Н} изоморфны тогда и только тогда, когда изоморфны соответствующие им рёбра у графов С и Н. В результате, применив для рёберных графов ¿{С} и ¿{Н} теорему 1, получим искомое. ■

Следствие 1. Индексы I(г) естественным образом порождают линейный порядок на классах автоморфных вершин: Ы ^ ^ I(г1) ^ I(г2).

Доказательство. По определению все индексы I(г) являются натуральными числами, а согласно утверждению 1, индексы могут совпадать только для симметричных вершин г ~ и. Отсюда получаем, что множество всех индексов графа I(г!),... , I(гк) линейно упорядочено и, следовательно, порядок на классах симметрии Ы ^ ^ I(Ы) ^ I(г2) также линейный. ■

Следствие 2. Индексы I(и, г) порождают линейный порядок на классах автоморфных рёбер: (и1, г1) ^ (и2, г2) ^ I(и1, г1) ^ I(и2, г2).

Доказательство. Полностью аналогично предыдущему доказательству. ■

Для демонстрации изложенных результатов на рис. 4 приводятся примеры графов, чьи вершины маркированы индексами I(г), а рёбра — индексами I(и, г).

2. Построение инвариантов на основе индексов классов симметрии

Ранее продемонстрировано, что индексы I(г) являются уникальными идентификаторами для классов симметрии вершин, а индексы I(и, г) —для классов симметрии рёбер. Таким образом, индексы I(г) можно использовать вместо классов вершин г, а I(и, г) —вместо классов рёбер (и, г) при составлении инвариантов графов. Рассмотрим три примера таких инвариантов: мультимножества абстрактных вершин [V], абстрактных рёбер [Е] и полный инвариант I [С] —линейную нотацию абстрактного графа.

Определение 9. Мультимножеством абстрактных вершин графа G назовём такое [V], которое получается из множества V(G) путём замены всех вершин на индексы I(v). Формально это определение можно выразить так:

[V](G) = {(г) х n : 3v G V(G) (I(v) = г, |v| = n^)} .

Замечание 2. Тот факт, что мультимножество [V](G) есть инвариант графа G, непосредственно следует из теоремы 1.

Для примеров классов изоморфных графов, которые изображены на рис. 4, получим следующие мультимножества абстрактных вершин:

[V](K) = {(1) х 2, (2) х 1, (3) х 1, (4) х 1}, [V](H) = {(1) х 1, (2) х 2, (3) х 1, (4) х 1}, [V](M) = {(1) х 1, (2) х 4}, [V](C4) = {(1) х 4}, [V](P4) = {(1) х 2, (2) х 2}, [V](G) = = {(1) х 6}.

По аналогии с [V] можно от обычных рёбер перейти к абстрактным [E]. Для этого используем совместно индексы вершин I(v) с индексами рёбер I(u, v).

Определение 10. Мультимножеством абстрактных рёбер графа G назовём такое [E], которое получается из множества E(G) путём замены всех рёбер (u,v) G G E(G) на тройки [I(u, v) о (I(u),I(v))]. Формально это определение можно выразить следующим образом:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[E](G) = {[ко (г, j)] х nij : 3(u, v) G E(G) (I(U/v) = k, I(u) = г, I(v) = j, |(u, v)| = n^-}.

Замечание 3. Тот факт, что мультимножество [V](G) есть инвариант графа G, непосредственно следует из теоремы 2.

Для классов изоморфных графов, которые изображены на рис. 4, получим следующие мультимножества абстрактных рёбер:

[E](K) = {[1 о (1,1)] х 1, [2 о (1, 2)] х 2, [3 о (1, 3)] х 2, [4 о (2, 4)] х 1},

[e](h) = {[1 о (1, 2)] х 2, [2 о (1, 4)]х 1, [3 о (2, 3)] х 2},

[e](m) = {[1 о (1, 2)] х 4, [2 о (2, 2)] х 4}, [E](C4) = {[1 о (1,1)] х 4},

[Eт) = {[1 о (1,1)] х 1, [2 о (1,2)] х 2}, [E](G) = {[1 о (1,1)] х 3, [2 о (1,1)] х 6}.

Отметим, что абстрактные вершины [V] вместе с абстрактными рёбрами [E] не задают граф G с точностью до изоморфизма. Рассмотрим ещё один инвариант графа I [G], который построен на основе линейной нотации для графа G. При определении инварианта I[G] воспользуемся техникой, которая в значительной степени аналогична алгоритмам построения канонических форм графа [12] и линейных нотаций для молекулярных графов SMILES [13].

Определение 11. Симметрическая линейная нотация £(С) для графа С — это строка символов, которая определяется на основе четырёх правил.

Правило 1. Строка £(С) начинается с вершины г первого индекса: I (г) = 1.

Правило 2. Для всех вершин и е V (С) в нотацию £(С) вместе с вершиной и обя-

Г *1 *2, 1 •

зательно вводится её окружение в виде записи и[—— ...; —— ...; —— ...], где г1, г2,... , %к — индексы классов симметрии рёбер. При этом в пределах скобок и[-— ...; -— ...; -— ...] ровно один раз должны быть учтены все вершины из окружения и и все рёбра —, которые их связывают, но не обязательно на одном и том же уровне вложенности скобок (то есть к ^ |{и* : (и,и*) е Е}|).

Правило 3. При повторном появлении на последующих уровнях вложенных скобок [... [...] ...] уже встречавшихся вершин и вместо них используются специальные символы #1, #2, #3,... , #т. Обозначение #1 задаёт вершину г перед первой скобкой [ в нотации £(С); запись #2 означает вершину перед второй скобкой, и так далее до последнего уровня вложенности #т.

П р а в и л о 4. Для каждой вершины и при выборе, в какой последовательности записывать в скобках и[...;...;...] вершины -— г1...,-— г2 ... и специальные символы — #т из окружения и, действует следующий набор приоритетов:

1) Наиболее приоритетным является код #1, затем код #2, и так далее до последнего уровня вложенности #т.

2) После кодов #т в нотации идут вершины с наименьшими индексами классов симметрии I(г*).

3) Если у двух вершин совпадают индексы I(Ы) = I(г2), то более приоритетной будет избрана такая вершина г1, у которой меньше индекс симметрии ребра, соединяющего её с и, то есть I(и, г1) < I(и, г2).

4) При совпадении индексов вершин и рёбер предпочтение будет отдано вершине, которая ближе на графе С к вершине кода #1. Если эти расстояния совпадают, то ближе к вершине кода #2, и так далее. Близость здесь понимается в смысле существования пути с меньшим количеством вершин, соединяющего эти две вершины.

Определение 12. Линейной нотацией абстрактного графа [С] назовём такую строку I[С], которая получается из любой произвольной симметрической линейной нотации £(С) путём замены всех вершин г на индексы классов симметрии I(г).

Для примеров классов изоморфных графов, которые изображены на рис. 4, можем

составить следующие линеиные нотации:

3

Л 1

Л 2 Л 2 Л 1 Л 1'

Л 2

I [К] = 1 I [Я] = 1

I [м] =:

I [С4] =:

I [С] = 1

Определение 13.

Л з

Л 2

Л 1 Л1'

Л #1; Л 4[]

; Л 3

Л3 #1

32

Л #1

Л #1; Л 2

Л1 Л1'

Л #1

Л 4[]

Л #1; Л 2

I [Р4]

Л #1; Л #2'

Л 1

Л 2 [] ; -Л 2[]

Л #1; Л 1

Л #2; Л #3

Л #1; Л 1

Раскраской для линейной нотации I[С] отдельной абстрактной вершины і в цвет а будем называть такую строку 1(^-,а)[С], которая получается из линейной нотации I[С] путём замены первого вхождения і на пару (і, а). Раскраску для большего количества вершин и большего количества цветов можно определить индуктивно как последовательную раскраску графа по одной отдельной вершине.

1

При этом достаточно потребовать, чтобы на каждом шаге раскраски выбирались только те вершины, которые не были раскрашены на предыдущих.

По аналогии можно определить и раскраску для абстрактных рёбер.

Теорема 3. Линейная нотация абстрактного графа I[С] является полным инвариантом для любого связного графа С.

Доказательство. В первую очередь покажем, что I[С] есть инвариант. При построении I[С] единственная ситуация, когда возможна многозначность в определении— это выбор для и[...;...] порядка следования вершин г1 и г2 по правилу 4 определения 12 в случае, если их не удалось различить по четырём критериям приоритетности. Фактически это означает, что у двух вершин г1 и г2 совпали индексы симметрии вершин I(г!) = I(г^) и рёбер I(и, г1) = I(и, г2) и количество вершин, отделяющих г1 и г2 от вершин, кодированных #1,..., #т, одинаково. В этом случае коды #1,... , #т стоят в скобках г1[...] и г2[...] на одних и тех же уровнях вложенности, а сами вершины г1 ~ г2 и рёбра (и,г1) ~ (и,г2) автоморфны по теоремам 1 и 2. Таким образом, после замены вершин на индексы симметрии итоговые скобки I(г1)[...] и I(г2)[...] будут абсолютно одинаковыми. В результате определение I[С] не зависит от порядка, в котором выбираются вершины г1 и г2, а, следовательно, I[С] является инвариантом графа.

Докажем, что любой связный граф С однозначно восстанавливается на основе линейной нотации I [С] с точностью до изоморфизма.

Если у графа п вершин, то для восстановления С достаточно покрасить абстрактные вершины нотации I[С] в п разных цветов а1,... , ап. Затем, заменив покрашенные вершины на их краски а1,... ,ап, получим линейную нотацию для графа £(С*), по которой легко восстановить С* = (V*, Е*), где V* = {а1,... , ап}.

Изоморфизм между графом С и С* можно построить в общем виде, отобразив все вершины, которые встречаются в нотации £(С*), подряд одну за другой в вершины из нотации £(С). Если допустить, что у такого отображения не сохраняются рёбра, то это будет противоречить правилу 4 построения симметрической линейной нотации. В результате получаем, что I[С] —это полный инвариант графа. ■

Замечание 4. Линейную нотацию для абстрактного графа I [С] можно использовать как альтернативу для обычных графов С. Например, проверка двух графов на изоморфизм сведётся для данного случая к тривиальной проверке совпадения двух множеств: С1 = С2 ^ I[С1 ] = I[С2]. Отметим также, что мультимножества [V] и [Е] можно легко определить на основе I[С] без участия обычных графов С.

3. Определение операций на классах изоморфных графов через индексы классов симметрии вершин и рёбер

В теории графов особую роль играют такие операции на графах, которые можно однозначным образом перенести на классы изоморфных графов. В общем случае произвольная операция на графах переносима на классы изоморфных графов в том и только в том случае, если отношение изоморфизма графов является конгруэнцией для этой операции. С классическими примерами подобных операций можно ознакомиться

в I1, 14].

Определение 14. Операция удаления абстрактного ребра [і о (т, к)] для абстрактного графа [С] может быть определена на основе стандартной операции удаления ребра у обычных графов. Для этого достаточно в графе С выбрать любые две вершины (г1,г2) Є Е(С), такие, что I(г1,г2) = і, I(г1) = т и I(г2) = к, и удалить

ребро (г1, г2) из множества рёбер Е(С). Более формально эту операцию [С] \ [¿о (т, к)] можно определить следующим образом:

[С] = [С] \ [¿о (т, к)] ^ С = С \ (ь1,ь2) : I(гТ) = m,I(ь2) = k,I(ь1,ь2) = г, (г1,г2)еЕ(С).

Замечание 5. Для идентификации абстрактного ребра достаточно одного индекса I(г1, ь2). Добавление индексов вершин I(г) и I(и) служит лишь для построения определения по аналогии с обычной операцией удаления ребра.

На рис. 5 приводятся примеры использования операции удаления абстрактного ребра на графах, чьи вершины и рёбра помечены индексами классов симметрии I(г) и I(и,г) соответственно.

Рис. 5. Примеры использования операции удаления абстрактного ребра

Замечание 6. Актуальной задачей является определение операции удаления ребра [С] \ [г о (т, к)] без использования для промежуточного представления обычных графов С, а с помощью одной только линейной нотации I[С].

Проверим, что определение операции [С] \ [го (т, к)] корректно. Пусть С1 = С2 и выбраны С = С1 \ (и1, и2), С2 = С2 \ (г1, г2), где у вершин попарно совпадают индексы I(и1, и2) = I(г1, ь2), I(йГ) = I(гГ), I(м2) = I(ь2), а сами вершины соединены рёбрами: (и1,и2) е Е(С1) и (^1,^2) е Е(С2).

Из теоремы 2 следует, что найдётся изоморфизм ^ : V(С1) — V(С2), для которого либо ^(и1) = г1 и ^(м2) = ь2, либо <^(м2) = г1 и ^(и1) = ь2. Из существования изоморфизма по [11, теорема 2.3.1] следует, что С = С2.

Замечание 7. Полностью аналогично можно определить и операцию удаления абстрактной вершины [С]\{г} через операцию удаления вершины для обычных графов С \ {г}, полагая индекс класса симметрии I(г) = г.

Определение 15. Два подграфа Н1 и Н2 графа С будем называть симметричными (Н1 ~ Н2), если они изоморфны и найдётся автоморфизм ф на С, такой, что ф^ (Я1)) = V (Я2).

Отношение симметричности для подграфов обобщает понятие симметричности для вершин и рёбер. С геометрической точки зрения это отношение означает, что граф С

можно изобразить так, что два симметричных подграфа Н ~ Н2 переводятся один в другой с помощью некоторой симметрии графа С.

В работе [11] исследованы свойства отношения симметричности подграфов, в частности, доказана теорема 2.3.1, согласно которой Н ~ Н2 тогда и только тогда, когда

Если взять индексы I(V) и I(и, V) от графа С и применить их для раскраски вершин и рёбер подграфа Н С С, то можно добиться однозначного позиционирования подграфа в графе С с точностью до автоморфизма, что, в свою очередь, эквивалентно полному описанию для симметричных подграфов.

Определение 16. Графом с раскрашенными вершинами и рёбрами назовём тройку (Н,/, д), где Н = (V, Е) — обычный граф, а / : V(Н) ^ N и д : Е(Н) ^ N — функции раскраски.

Раскрасив вершины подграфа Н С С индексами 1с(^), а рёбра — индексами !с(и, V) от большего графа С, получим описание для класса симметричных подграфов. Поскольку данное описание является альтернативой определению класса симметрии, будем использовать для него другое название.

Определение 17. Назовём классом топологической эквивалентности графа С по (Н,/, д) такое множество С/(Н,/,д) подграфов:

на граф Н.

Пример позиционирования подграфов Н С О с помощью раскраски его вершин и рёбер индексами Іс('у) и /с(м,^) основного графа О показан на рис. 6.

Нетрудно показать, что подграфы из одного класса С/(я,/,5) являются симметричными; более того, набор С/(я,/,5) в точности совпадает с классами симметрии подграфов. Данный факт позволяет определить операции на абстрактных графах через подграфы, маркированные индексами классов I(г>) и I(и, V). В частности, можно определить такие операции, как удаление подграфа или стягивание подграфа в одну вершину.

О \ Ні = О \ Н2 и Ні = Н2.

О/(я,/,й) = {Н С О : 3^ Є /£0(Н,Н)Ум,^ Є V(Я)

Рис. 6. Пример позиционирования подграфов на основе С/(я,/,5)

Замечание 8. Поскольку раскраска определена и для линейных нотаций абстрактных графов I[С], то исследование симметричных подграфов [Н] можно проводить, не привлекая обычные графы С, а пользуясь только раскрашенными инвариантами I[С].

Заключение

При построении инвариантов графов на основе индексов I(V) и I(м,^) особенно интересными представляются полные инварианты I[С], которые можно рассматривать как альтернативное описание для классов изоморфных графов [С]. Поскольку для полного инварианта I[С] получилось определить процедуру раскраски, это позволяет работать с подграфами для [С], а также реализовать алгоритм восстановления обычного графа на основе I[С].

Одной из важных проблем для практического приложения графов является возможность построения полиномиального алгоритма проверки изоморфизма графов [15]. Поскольку для I[С] удалось определить полиномиальный алгоритм раскраски, I[С] можно использовать на практике в качестве альтернативного способа кодирования классических графов С. В частности, проверка двух графов на изоморфизм сведётся для данного случая к тривиальной проверке совпадения двух множеств: С1 = С2 ^ ^ I[С1] = I[С2]. Таким образом, задача проверки на изоморфизм имеет сложность О(п) для любых связных графов из п вершин. Однако подобный выигрыш в производительности достигается лишь в том случае, если графы уже хранятся в памяти в альтернативной кодировке I[С], поскольку задачи поиска макси-кода ^тах(С) и формирования инварианта I[С] на основе графа С относятся к классу КГ.

Полученные результаты можно коротко представить тремя пунктами:

1) переход от С к I [С] —задача КР-класса;

2) проверка на изоморфизм для I [С] —задача сложности О(п);

3) переход от I[С] к С на основе раскраски — задача сложности О(п2).

Описание на основе I[С] будет особенно ценным с практической точки зрения,

если для I [С] удастся определить операции полиномиальной сложности на классах изоморфных графов без использования обычных графов С. Если это окажется возможным, то это потенциально позволит конструировать произвольные абстрактные графы на основе базовых классов графов [С] с помощью некоторого набора операций для I[С]. В качестве базовых классов абстрактных графов можно рассматривать, например, пустые графы и полные графы Кп, а также цепи Сп и пути .

Требование полиномиальной сложности для реализаций этих операций на классах изоморфных графов является принципиальным для практики, потому что иначе они не дадут существенного выигрыша по сравнению с определениями, требующими вычисления инварианта I [С] для итогового графа (КР-задачей). Другая важная проблема, для которой I[С] мог бы оказаться удобной альтернативой, — это проблема восстановления графов по подграфам [16].

Рассмотренные в работе конструкции можно обобщить на упорядоченные графы, а также на гиперграфы. Поскольку бинарные группоиды можно определить с помощью гиперграфов, порядок для классов симметрии графов можно перенести на классы автоморфизма элементов группоидов. В частности, это означает, что можно потенциально найти альтернативное описание для класса изоморфных группоидов.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Нужно отметить, что способ индексации I(г>) на основе макси-кода является отнюдь не единственно возможным. Очевидно, что похожую индексацию обратного порядка и(V) можно легко получить для мини-кода графа (минимального кода ^(А) для

матриц смежности A графа). Вполне возможно, что существуют и другие варианты индексаций, которые могут оказаться потенциально удобнее для определения раскрасок и операций на классах изоморфных графов.

Автор выражает благодарность И. Б. Кожухову, Н. В. Суворовой и А. В. Решетникову за критические замечания и помощь в работе над статьёй.

ЛИТЕРАТУРА

1. Diestel R. Graph Theory. 3rd edition. Heidelberg: Springer Verlag, 2005. 451 p.

2. Белов В. В., Воробьев Е. М., Шаталов В. Е. Теория графов. М.: Высшая школа, 1976. 391с.

3. Зыков А. А. Основы теории графов. М.: Наука, 1987. 383с.

4. Holmes M. R. Elementary Set Theory with a Universal Set. Louvain-la-Neuve: Academia, 1998. 241 p.

5. Aloul F. A., Ramani A., Markov I. L., and Sakallah K. A. Solving difficult instances of Boolean satisfiability in the presence of symmetry // IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems. 2003. V. 22. No. 9, P. 1117-1137.

6. Darga P., Sakallah K., and Markov I. L. Faster symmetry discovery using sparsity of symmetries // Proc. 45st Design Automation Conference. N.Y.: ACM, 2008. P. 149-154.

7. Фларри Р. Группы симметрии. Теория и химические приложения. М.: Мир, 1983. 400с.

8. Bonchev D. and Rouvray D. H. Chemical Graph Theory: Introduction and Fundamentals. N.Y.: Gordon and Breach science publishers, 1991. 300 p.

9. Кинг Р. Химические приложения топологии и теории графов. М.: Мир, 1987. 560с.

10. Sparrow M. K. A linear algorithm for computing automorphic equivalence classes: the numerical signatures approach // Social Networks. 1993. V. 15. P. 151-170.

11. Southwell R. Finding Symmetries in Graphs. Ph.D. thesis. University of York, UK, 2006. 109 p.

12. Katebi H., Sakallah K., and Markov I. L. Graph symmetry detection and canonical labelling: differences and synergies // Proc. Turing-100, EPIC 2012. V. 10. P. 181-195.

13. Weininger D., Weininger A., and Weininger J. SMILES. 2. Algorithm for generation of unique SMILES notation // J. Chem. Inf. Comput. Sci. 1989. V. 29. No. 2, P. 97-101.

14. Харари Ф. Теория графов. М.: КомКнига, 2006. 296с.

15. Kobler J., Schoning U., and Toran J. The Graph Isomorphism Problem: its Structural Complexity. Berlin: Birkhauser, 1993. 160 p.

16. Harary F. A survey of the reconstruction conjecture // Graphs and Combinatorics. Lecture Notes in Mathematics. 1974. V. 406. P. 18-28.

i Надоели баннеры? Вы всегда можете отключить рекламу.