Изоморфизм графов
Изучение принципов установления изоморфизма или изоморфного вложения между заданными структурами при решении комбинаторно-логических задач и оптимизационных на графах. Пример решения задач распознавания изоморфизма. Определение вершины в алгоритме.
Рубрика | Математика |
Вид | лекция |
Язык | русский |
Дата добавления | 23.01.2017 |
Размер файла | 17,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Изоморфизм графов
Большое число комбинаторно-логических задач и оптимизационных на графах требует установления изоморфизма или изоморфного вложения между заданными структурами. Данная проблема, как и многие из рассмотренных выше задач, является NP-полной. Поэтому разрабатываются различные эвристики для получения приемлемых практических результатов.
Задача распознавания изоморфизма графов (РИГ) состоит в следующем. Для заданных графов G1 = (X1, U1) и G2 = (X2, U2) требуется определить, существует ли взаимно однозначное отображение : X1 X2 такое, что ребро u = (x, y) U1 тогда и только тогда, когда ((x), (y)) U2.
В настоящее время известны полиномиальные алгоритмы для следующих классов графов: графы ограниченной степени; графы с ограниченной кратностью собственных значений; k - разделимые графы; k - стягиваемые графы и т.д. изоморфизм комбинаторный логический задача
Особое внимание заслуживают сильнорегулярные графы (СГ). Граф G = (X, , n111, n011), |X| = n называется n-вершинным регулярным графом степени , если в нем любая пара смежных вершин имеет n111 общих соседей, а любая пара несмежных вершин - n011. Известно, что СГ образуют класс наиболее трудных задач для РИГ.
Задача изоморфного вложения графа является NP- полной задачей. Она имеет много сходства и в то же время существенно (по сложности) отличается от РИГ. Например, для решения задачи изоморфизма подграфа G1 с использованием известных алгоритмов РИГ необходимо разработать процедуру выделения в графе G подмножества X1 X равномощного с множеством вершин X2 графа G2.
Данная процедура включает k1 действий, где, n = |X|, n2 = |X2|. Следовательно k1 раз надо применять и алгоритм РИГ:
.
Поэтому при выделении каждого подграфа G1 в графе G необходимо выполнять k2 действий:
,
где m1 - количество ребер в подграфе G1, m2 - в графе G2, m1 > m2.
Следовательно, даже если есть полиномиальный алгоритм РИГ, с его помощью невозможно решить задачу изоморфного вложения за полиномиальное время. Она может быть решена за полиномиальное время, если G1 - лес, а G2 - дерево.
Наибольшую трудоемкость представляет установление изоморфизма однородных графов, имеющих автоморфные подграфы. Для решения таких задач используются методы разбиения исследуемых графов на различные уровни. При этом ВСА алгоритма снижается с О(n!) до О(k!), где n - число элементов в графе, а k - число элементов в наибольшем автоморфном подграфе, т.е. в таком подграфе, где не имеет значения выбор вершин для установления соответствия.
Основная идея таких алгоритмов заключается в следующем. В графах, исследуемых на изоморфизм, выбираются две предполагаемо изоморфные вершины. Относительно них производится разбиение всех оставшихся вершин на два класса. В первый класс включаются вершины, смежные предполагаемо изоморфным, а во второй нет.
Необходимо установить изоморфизм графов G и G'. Другими словами, необходимо определить, существует ли отношение эквивалентности Х Х', U U' такое, что, если ребро (xi, xj) ребру (xi', xj'), тогда xi xi', xj xj', xi, xj, X, xi', xj', X'.
Покажем на примере реализацию эвристики разбиения для установления изоморфизма однородных графов.
Выберем одну вершину в графе G и одну в графе G'. И относительно них выполним указанное выше разбиение:
{х1} {х2, х4, х6}1+ {х3, х5}1- (G),
{х1'} {х4', х5', х6'}1'+ {х2', х3'}1'- (G').
В данном разбиении вершины х2, х4, х6 смежны вершине х1, а вершины х3, х5 не смежны вершине х1 графа G. Аналогичное разбиение выполнено для графа G'. Здесь считается, что вершины х1 и х1' предполагаемо изоморфны (П - изоморфны). Далее, выбираются подмножества меньшей мощности и внутри них проверяется смежность вершин. В нашем примере вершины х3, х5 и х2', х3' не смежны. Поэтому процесс разбиения продолжается.
{х1} {х3}1- {{х2, х4, х6}3+}1+ {{х5}3-}1-,
{х1'} {х2'}1'- {{х4', х5', х6'}2'+}1'+ {{х3'}2'-}1'-
Продолжая процесс аналогично, получим, что граф G изоморфен графу G'. Подстановка вершин запишется
В рассматриваемом примере подмножества вершин {х2, х4, х6} и {х4', х5', х6'} являются автоморфными, т.е. каждая вершина в одном подграфе может быть изоморфна любой вершине второго подграфа.
Следовательно G' изоморфен G'.
В алгоритмах такого типа необходим перебор между элементами автоморфных подграфов. Причем, как следует из рассмотрения примера, такой перебор здесь выполняется последовательно для всех вершин, кроме последней в подграфе.
Как видно, наличие вершин с различными локальными степенями упрощает процесс РИГ. Это позволяет выбирать начальные условия для эвристики разбиения. В примере всего два способа для выбора разбиения, в то время, как в графах шесть возможных способов разбиения. В однородных графах все степени вершин одинаковы, поэтому начальные условия выбираются произвольно случайным образом.
В этой связи при установлении изоморфизма в однородных графах ВСА в самом лучшем случае О(n), в самом худшем случае О(n!). Если графы неизоморфны, то за одну итерацию установить результат невозможно. Необходимо провести сравнение на изоморфизм одной случайно выбранной вершины из одного графа со всеми остальными вершинами другого графа.
Для РИГ применим эвристику разбиения. Предположим, что вершина 1 графа G П - изоморфна вершине a графа G'. Тогда получим:
{1} {2, 4, 6}1+ {3, 5}1- (G),
{a} {b, d, f}1'+ {e, c}1' (G').
Для дальнейшего анализа выбираем соответствующие подмножества наименьшей мощности {3, 5} и {e, c}. Вершины (3, 5) в графе G смежны, а вершины (c, e) в графе G' - нет. Следовательно, вершина 1 не может быть изоморфна вершине a. В этой связи необходимо провести аналогичные операции для проверки изоморфизма вершины 1 с остальными вершинами графа G'. Далее получим:
{1} {2, 4, 6}1+ {3, 5}1- (G),
{b} {a, c, e}1'+ {d, f}1'- (G').
Вершины (3, 5) в графе G смежны, а вершины (d, f) в графе G' - нет. Следовательно, вершина 1 не может быть изоморфна вершине b. Продолжая аналогичные построения, имеем, что вершина 1 не может быть изоморфна вершинам c, d, e. Наконец, предположим, что вершина 1 графа G П - изоморфна вершине f графа G'. Тогда получим:
{1} {2, 4, 6}1+ {3, 5}1- (G),
{f} {a, c, e}1'+ {b, d}1'- (G').
Вершины (3, 5) в графе G смежны, а вершины (b, d) в графе G' - нет. Следовательно, вершина 1 не может быть изоморфна вершине b. Проанализированы все вершины графа G' на предмет изоморфизма с вершиной 1 графа G. Во всех случаях ответ отрицательный. Поэтому граф G неизоморфен графу G'.
Рассмотрим пример работы алгоритма распозвания изоморфизма для графов G и G' G = (Х, U), G' = (Х', U'), |Х| = |Х'| = 10, |U| = |U'| = 15, локальные степени всех вершин графа равны трем. Предположим, что вершина 1 графа G П - изоморфна вершине a графа G'. Тогда получим:
{1} {2, 5, 6}1+ {3, 4, 7, 8, 9, 10}1- (G),
{a} {b, e, f}1'+ {c, d, h, g, k, i}1'- (G').
Для дальнейшего анализа выбираем соответствующие подмножества наименьшей мощности {2, 5, 6} и {b, e, f}. Предположим, что вершина 2 П - изоморфна вершине b. В этом случае получим:
{1} {2}1+ [{5, 6}1+]1- [{7, 3}1+,{4, 8, 9, 10}1-]1- (G),
{a} {b}1'+ [{e, f}1'+]1'- [{g, c}1'+,{d, h, g, k, i}1'-]1'- (G').
Как видно П- изоморфизм сохраняется. Продолжая далее, запишем
{1} {2}1+ [{5, 6}1+]1- [[{7}1+,{3}1+]1+,[{9, 10}1-,{4, 8}1-]1-]1- (G),
{a} {b}1'+ [{e, f}1'+]1'- [[{g}1'+,{c}1'+]1'+,[{i, k}1'-,{h, d,}1'-]1'-]1'- (G').
Вершины (h, d) в графе G' смежны, а вершины (4, 8) в графе G - нет. Следовательно, вершина 1 не может быть изоморфна вершине а, вершина 2 - b, вершина 7 - g и вершина 3 - c. Продолжая аналогично, получим, что граф G не изоморфен графу G'.
Определение изоморфизма графов позволяет определять одинаковые графы, которые расположены на плоскости по-разному.
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ
1. В каком случае два графа называются изоморфными.
2. В чем состоит задача распознавания изоморфизма графов.
3. К какому классу задач относятся задачи распознавания изоморфизма.
4. Какова временная сложность алгоритмов распознавания изоморфизма.
5. Каким образом решается задача определения изоморфизма двух графов.
6. Что означает запись о том, что два графа П-изоморфны.
7. Для чего может использоваться процедура определения изоморфизма графов.
8. В чем состоит основная идея приведенных алгоритмов определения изоморфизма.
9. Каким образом выбираются вершины в алгоритме определения изоморфизма для однородных графов.
10. Что такое изоморфное вложение графов.
Размещено на Allbest.ru
Подобные документы
Основные понятия теории графов. Степень вершины. Маршруты, цепи, циклы. Связность и свойства ориентированных и плоских графов, алгоритм их распознавания, изоморфизм. Операции над ними. Обзор способов задания графов. Эйлеровый и гамильтоновый циклы.
презентация [430,0 K], добавлен 19.11.2013Теория графов как математический аппарат для решения задач. Характеристика теории графов. Критерий существования обхода всех ребер графа без повторений, полученный Л. Эйлером при решении задачи о Кенигсбергских мостах. Алгоритм на графах Дейкстры.
контрольная работа [466,3 K], добавлен 11.03.2011История возникновения, основные понятия графа и их пояснение на примере. Графический или геометрический способ задания графов, понятие смежности и инцидентности. Элементы графа: висячая и изолированная вершины. Применение графов в повседневной жизни.
курсовая работа [636,2 K], добавлен 20.12.2015Составление четкого алгоритма, следуя которому, можно решить большое количество задач на нахождение угла между прямыми, заданными точками на ребрах многогранника. Условия задач по теме и примеры их решения. Упражнения для решения подобного рода задач.
практическая работа [1,5 M], добавлен 15.12.2013Способы решения логических задач типа "Кто есть кто?" методами графов, табличным способом, сопоставлением трех множеств; тактических, истинностных задач, на нахождение пересечения множеств или их объединения. Буквенные ребусы и примеры со звездочками.
курсовая работа [622,2 K], добавлен 15.06.2010Общая характеристика графов с нестандартными достижимостями, их применение. Особенности задания, представления и разработки алгоритмов решения задач на таких графах. Описание нового класса динамических графов, программной реализации полученных алгоритмов.
реферат [220,4 K], добавлен 22.11.2010Граф как множество вершин (узлов), соединённых рёбрами, способы и сфера их применения. Специфика теории графов как раздела дискретной математики. Основные способы преобразования графов, их особенности и использование для решения математических задач.
курсовая работа [1,8 M], добавлен 18.01.2013Примеры решения задач по заданию графов. Определение основных характеристик графа: диаметра, радиуса, эксцентриситета каждой вершины. Вычисление вершинного и реберного хроматического числа. Упорядоченность матричным способом и построение функции.
контрольная работа [224,6 K], добавлен 05.07.2014Применение граф-схем - кратчайший путь доказательства теорем. Нахождение искомых величин путем рассуждений. Алгоритм решения логических задач методами таблицы и блок-схемы. История появления теории траекторий (математического бильярда), ее преимущества.
реферат [448,4 K], добавлен 21.01.2011Способы решения задач дискретной математики. Расчет кратчайшего пути между парами всех вершин в ориентированном и неориентированном графах с помощью использования алгоритма Флойда. Анализ задачи и методов ее решения. Разработка и характеристика программы.
курсовая работа [951,4 K], добавлен 22.01.2014