Научная статья на тему 'Определение изоморфности графов'

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

CC BY
1554
219
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ИНВАРИАНТЫ ГРАФА / ИЗОМОРФНОСТЬ / INVARIANTS OF THE GRAPH / ISOMORPHISM

Аннотация научной статьи по математике, автор научной работы — Вильховский Д. Э., Ефимов С. С.

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

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

Determination of isomorphic graphs«

The determination of the graph isomorphism appears to be a subject of research in chemistry, economics, statistics, theoretical physics, mathematical linguistics and other scientific fields. The current research is conducted for the purpose of undertaking a comparative analysis of the invariants usage effectiveness and parallel realization of algorithms for determining graph isomorphism.

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

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

Вестн. Ом. ун-та. 2012. № 4. С. 141-143.

УДК 004.421.2, 519.175.1

Д.Э. Вильховский, С.С. Ефимов

ОПРЕДЕЛЕНИЕ ИЗОМОРФНОСТИ ГРАФОВ

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

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

Методы определения изоморфности графов

Задача проверки изоморфизма графов относится к задачам, относительно которых нет ясности: являются ли они полиномиально разрешимыми или нет [1].

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

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

Список основнъх инвариантов

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

• Индекс Винера;

• Определитель матрицы смежности;

• Число вершин и число дуг/ребер;

• Индекс Рандича;

• Диаметр графа;

• Индекс Хосойи;

• Минимальное число вершин, необходимое для покрытия ребер;

• Упорядоченный по возрастанию или убыванию вектор собственных чисел матрицы смежности графа (спектр графа);

• Характеристический многочлен матрицы смежности;

• Упорядоченный по возрастанию или убыванию вектор собственных чисел матрицы смежности графа (спектр графа);

• Характеристический многочлен матрицы смежности.

Описание инвариантов

В данной работе рассмотрены следующие инварианты:

• Число вершин и число дуг/ребер. Для вычисления необходимо сверить число вершин с различными степенями.

• Индекс Винера - величина ^ = 2^. ё(у(, ) , где ё(у1, ) - мини-

V/, J ■> ■>

мальное расстояние между вершинами у1 , V1.

• Индекс Рандича - величина г = 2

ё(vj) - степени вершин vi и Vj соответственно.

© Д.Э. Вильховский, С.С. Ефимов, 2012

142

Д.Э. Вильховский, С.С. Ефимов

Описание прямого алгоритма проверки изоморфности графов

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

Проверка эффективности параллельной реализации прямого алгоритма исследовалась на следующих классах графов:

• планарный граф,

• дерево,

• двудольный граф.

Реализация алгоритмов

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

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

• Java SE 6 update 31;

• MPJ Expess v0.38;

• 9 персональных компьютеров (кластер невыделенных рабочих станций);

• Процессор - Dual-Core E5200 2,5 Ghz;

• Память - 3,24 Гб;

• Mandriva Linux;

• Сеть - 100 Мбит/сек.

Результаты экспериментов

Число вершин и число дуг/ребер

40

Индекс Винера

1 ■

■ инвариант □ всего

30 20 10 0

3 4 5

Рис. 1. Процент изоморфных графов, найденных с помощью инварианта «Число вершин и число дуг/ребер»

Из результатов видно, что данный инвариант не дает достаточности для графов с числом вершин, равным трём.

35

з0

25

20

l5

l0

5

0

т

■ инвариант И всего

5

Рис. 2. Процент изоморфных графов, найденных с помощью инварианта «Индекс Винера»

Данный инвариант дает достаточность для графов с числом вершин, не превосходящим трем. Однако стоит заметить, что для его вычисления нам необходимо воспользоваться алгоритмом Флойда-Уоршелла, сложность которого составляет 0(п3).

Индекс Рандича

I инвариант I всего

3 4 5 6

Рис. 3. Процент изоморфных графов, найденных с помощью инварианта «Индекс Рандича»

Данный инвариант является самым эффективным из всех рассмотренных в этой работе инвариантов. Он дает достаточное условие для графов с числом вершин, не превосходящих 5.

По результатам анализа данных инвариантов можно сделать вывод, что при рассмотрении графов с числом вершин, превосходящих 5, придется использовать прямой алгоритм проверки изоморфности графов.

Заключение

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

Определение изоморфности графов

143

Время, сек

а) яДеР 6)

Рис. 4. Зависимость времени от числа ядер: а) распределенная память, б) общая

ЛИТЕРАТУРА

[1] Гэри М., Джонсон Д. Вычислительные машины [2] Новиков Ф. А. Дискретная математика для

и труднорешаемые задачи. М. : Мир, 1982. программистов. СПБ. : Питер, 2000. 304 с.

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