В теории графов базис циклов неориентированного графа — это множество простых циклов, которые образуют базис пространства циклов[en] графа. Таким образом, это минимальный набор циклов, который позволяет любой эйлеров подграф представить как симметрическую разность базисных циклов.
Фундаментальный базис циклов может быть образован из любого остовного дерева леса-каркаса заданного графа путём выбора циклов, которые имеют ровно одно ребро, не принадлежащее дереву. Также, если задать рёбрам графа положительные веса, базис циклов минимального веса может быть построен в полиномиальное время.
В планарных графах множество циклов ограниченных граней (то есть циклы-границы ограниченных граней — одна, внешняя, грань бесконечна) вложенного в плоскость графа образуют базис циклов. Минимальный по весу базис циклов планарного графа соответствует дереву Гомори–Ху[en] двойственного графа.
Остовное дерево заданного графа G имеет тот же набор вершин, что и сам G, но, возможно, меньше рёбер. Говорят, что граф G, или один из его подграфов, является эйлеровым, если каждая его вершина имеет чётную степень (то есть число инцидентных вершине рёбер). Любой простой цикл в графе является эйлеровым подграфом, но могут существовать и другие эйлеровы подграфы. Пространство циклов[en] графа — это набор его эйлеровых подграфов. Они образуют векторное пространство над конечным полем из двух элементов. Сложение векторов соответствует симметрической разности двух или более подграфов, которая образует другой подграф, состоящий из рёбер, входящих нечётное число раз в аргументы операции симметрической разности[1].
Базис циклов — это базис векторного пространства и каждый базисный вектор соответствует простому циклу. Базис состоит из множества циклов, которые можно комбинировать, чтобы с помощью симметрической разности получить любой эйлеров подграф и этот набор циклов является минимальным набором, обладающих указанным свойством. Любой базис циклов заданного графа имеет то же самое число элементов базиса и это число равно размерности пространства циклов. Это число называется цикломатическим рангом[en] или цикломатическим числом графа и оно равно , где — число рёбер графа, — число вершин, а — число компонент связности[2].
Изучались некоторые специальные типы базисов циклов, среди них — фундаментальные базисы циклов, слабые фундаментальные базисы циклов, разреженные (или 2-) базисы циклов и целые базисы циклов[3].
Любой граф имеет базис циклов в котором каждый цикл является порождённым циклом. В вершинно 3-связном графе всегда существует базис, состоящий из периферийных циклов[en], циклов, удаление которых не приводит к разделению на несвязные части[4][5]. В любом графе, не получаемом добавлением ребра к циклу, периферийный цикл должен быть порождённым циклом.
Если — остовное дерево или остовной лес заданного графа и — ребро, не принадлежащее , то фундаментальный цикл , определённый ребром — это простой цикл, состоящий из вместе с путём в , соединяющим конечные вершины . Существует в точности фундаментальных циклов, ровно по одному для каждого ребра, не принадлежащего . Каждый из них линейно независим от оставшихся, поскольку содержит ребро , не принадлежащее ни одному другому фундаментальному циклу. Таким образом, фундаментальные циклы образуют базис пространства циклов[2]. Базис циклов, построенный таким способом, называется фундаментальным базисом циклов или строго фундаментальным базисом циклов[3].
Можно задать фундаментальный базис циклов, не опираясь на дерево, для которого циклы фундаментальны. В том и только в том случае существует дерево, для которого заданный базис циклов является фундаментальным, когда любой цикл содержит ребро, не входящее ни в один другой цикл базиса. Отсюда следует, что набор циклов является фундаментальным базисом циклов в том и только в том случае, когда он имеет то же свойство и правильное число циклов в базисе[6].
Базис циклов называется слабо фундаментальным, если его циклы можно упорядочить так, что каждый цикл содержит ребро, не принадлежащее ни одному предыдущему циклу. Фундаментальный базис циклов является автоматически слабо фундаментальным (для любого упорядочения циклов)[7]. Если любой базис циклов графа слабо фундаментален, это же верно для любого минора графа. Опираясь на это свойство, класс графов (и мультиграфов), для которых любой базисный цикл слабо фундаментален, можно описать с помощью пяти запрещённых миноров[en] — графа квадратной пирамиды, мультиграфа, образованного удвоением всех рёбер цикла с четырьмя вершинами, двух мультиграфов, образованных удвоением пары рёбер тетраэдра и мультиграфа, образованного утроением рёбер треугольника[8].
Если связный конечный планарный граф вложен в плоскость, каждая грань вложения окружена циклом рёбер. Одна грань будет неограничена (она содержит точки, произвольно далёкие от вершин графа), остальные грани будут ограничены. Согласно формуле Эйлера, существует ровно ограниченных граней.
Симметрическая разность любого набора циклов граней является границей соответствующего набора граней и различные наборы ограниченных граней имеют различные границы, так что нельзя представить тот же самый набор, как симметрическую разность циклов более чем одним способом. Это означает, что циклы граней линейно независимы. Поскольку это линейно независимое множество имеет достаточно большой размер, оно обязательно образует базис циклов[9]. Этот базис всегда является слабо фундаментальным базисом циклов и является фундаментальным в том и только в том случае, когда вложение графа является внешнепланарным.
Для графов, правильно вложенных в другие поверхности таким образом, что все грани топологически являются дисками, в общем случае необязательно существует базис циклов, состоящий только из циклов граней. Циклы граней этих вложений дают подходящее подмножество всех эйлеровых подграфов. Группа гомологий заданной поверхности описывает эйлеровы подграфы, которые нельзя представить в виде границ набора граней. Критерий планарности МакЛейна[en] использует эту идею для описания планарных графов в терминах базисов циклов — конечный неориентированный граф является планарным тогда и только тогда, когда он имеет разреженный базис циклов (или 2-базис)[3], базис, в котором каждое ребро графа принадлежит максимум двум циклам базиса. В планарном графе базис циклов, образованный множеством ограниченных граней, обязательно разрежен и наоборот — разреженный базис циклов любого графа обязательно образует множество ограниченных граней планарного вложения графа[9][10].
Используя теорию гомологий, пространство циклов графа можно интерпретировать как группу гомологий симплициального комплекса с точкой для каждой вершины графа и отрезком прямой для каждого ребра графа. Это построение можно обобщить до группы гомологий над произвольным кольцом . Важный специальный случай — кольцо целых чисел, для которого группа гомологий является свободной абелевой группой, подгруппой свободной абелевой группы, порождённой (произвольным образом ориентированными) рёбрами графа. Таким образом, элементы являются пометками рёбер графа числами со свойством, что в каждой вершине сумма меток входящих дуг равна сумме меток исходящих дуг. Групповая операция — это сложение векторов меток. Целый базис циклов — это множество простых циклов, которые генерируют эту группу[3].
Если рёбрам графа приданы некоторые веса, вес подграфа можно вычислить как сумму весов рёбер. Базис пространства циклов с наименьшим весом обязательно будет базисом циклов — по теореме Веблена[11], любой эйлеров подграф, не являющийся сам по себе простым циклом, может быть разложен на несколько простых циклов, которые обязательно будут иметь меньший вес.
Согласно стандартным свойствам базисов векторных пространств и матроидах, базис циклов минимального веса не только минимизирует сумму весов циклов базиса, он также минимизирует любую другую монотонную комбинацию весов цикла. Например, он минимизирует вес самого длинного цикла базиса[12].
В любом векторном пространстве и, в более общем случае, в любом матроиде базис с минимальным весом можно найти с помощью жадного алгоритма, который рассматривает возможные элементы базиса по одному в отсортированном порядке их весов и включает элемент в базис, если он линейно независим от отобранных до этого элементов. Проверку на линейную независимость можно провести с помощью исключений Гаусса. Однако неориентированный граф может иметь экспоненциально много простых циклов, так что получить и проверить все эти циклы становится невыполнимой задачей.
Хортон (Horton 1987) предложил первый алгоритм полиномиального времени для поиска базиса с минимальным весом в графах, у которых все веса больше нуля. Его алгоритм использует тот же подход «получить и проверить», но число просматриваемых циклов ограничивается небольшим множеством размера — эти циклы называются циклами Хортона. Цикл Хортона — это фундаментальный цикл дерева кратчайших путей[en] заданного графа. Существует n различных деревьев кратчайших путей (по одному для каждой корневой вершины) и каждое дерево имеет не больше чем m фундаментальных циклов, что и даёт общее число циклов Хортона. Как показал Хортон, любой цикл в базисе циклов минимального веса является циклом Хортона[13].
Если использовать алгоритм Дейкстры для поиска каждого кратчайшего дерева путей, а затем использовать исключение Гаусса для шагов проверки базового жадного алгоритма, получим алгоритм полиномиального времени для базиса циклов минимального веса.
Последующие исследования дали улучшенные алгоритмы для этой задачи[14][15][16][17], уменьшающие временную сложность худшего случая[en] для нахождения базиса циклов минимального веса до , где — число рёбер графа, а — число вершин[18].
Поиск фундаментального базиса минимального возможного веса тесно связан с задачей поиска остовного дерева, которое минимизирует средние попарные расстояния — обе задачи NP-трудны[19]. Поиск минимального по весу слабого фундаментального базиса также NP-труден[7] и аппроксимация MAXSNP-трудна[en][20]. Если разрешены отрицательные веса и циклы с отрицательным весом, то поиск базиса циклов минимального веса (без ограничений) также NP-труден, поскольку он может быть использован для поиска гамильтонова цикла — если граф гамильтонов, и задать всем рёбрам вес −1, базис циклов минимального веса будет содержать как минимум один гамильтонов цикл.
Базис циклов с минимальным весом для планарного графа не обязательно совпадает с базисом, образованном границами граней — он может содержать циклы, не соответствующие граням, а также некоторые грани могут отсутствовать в качестве циклов в базисе с минимальным весом. Однако существует базис циклов минимального веса, в котором никакие два цикла не пересекают друг друга — для любых двух циклов в этом базисе либо циклы заключают непересекающиеся подмножества граней, либо один из двух циклов заключает внутри себя другой. Это множество циклов соответствует в двойственном графе данного планарного графа множеству разрезов, которые образуют дерево Гомори–Ху[en] двойственного графа, минимальный по весу базис пространства разрезов[21]. Основываясь на этой двойственности, явное представление базиса циклов минимального веса для планарного графа можно построить за время [22].
Базисы циклов используются для решения задач периодического планирования, таких как задача планирования систем общественного транспорта. В этой задаче циклы базиса соответствуют переменным целочисленного программирования, используемого для решения задачи[23].
В теориях структурной жёсткости[en] и кинематики базисы циклов используются для построения системы неизбыточной системы уравнений, которую можно решить с целью проверки жёсткости структуры. В этой задаче базис циклов минимального или близкого к минимальному веса приводит к более простым системам уравнений[24].
В распределённых вычислениях базисы циклов используются для анализа числа необходимых шагов, чтобы алгоритм стабилизировался[25].
В биоинформатике базисы циклов используются для определения гаплотипа информации из данных генотипа[26]. Базис циклов также используется для анализа третичной структуры[en] РНК[27].
Базис циклов минимального веса графа ближайших соседей точек, взятых с трёхмерной поверхности, можно использовать для реконструкции поверхности[28].
Для улучшения этой статьи желательно: |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .