Введение

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

Схема и цикл

Схема — это непустой путь, в котором первая и последняя вершины совпадают (замкнутый путь). Пусть G = (V, E, Φ) — граф. Схема — это непустой путь (e1, e2, ..., en) с последовательностью вершин (v1, v2, ..., vn, v1). Цикл, или простой цикл, — это схема, в которой совпадают только первая и последняя вершины. Число n называется длиной схемы, соответственно, длиной цикла.

Направленная схема и направленный цикл

Направленный цикл — это непустая направленная трасса, в которой первая и последняя вершины совпадают (замкнутая направленная трасса). Пусть G = (V, E, Φ) — направленный граф. Направленный цикл — это непустая направленная трасса (e1, e2, ..., en) с последовательностью вершин (v1, v2, ..., vn, v1). Направленный цикл или простой направленный цикл — это направленный цикл, в котором совпадают только первая и последняя вершины. Число n называется длиной направленного цикла.

Безхорный цикл

Безхордовый цикл в графе, также называемый отверстием или индуцированным циклом, — это цикл, в котором никакие две вершины цикла не соединены ребром, не входящим в состав этого цикла. Антидыра — это дополнение к дыре графа. Безхордовые циклы могут использоваться для характеризации совершенных графов: согласно теореме о сильных совершенных графах, граф является совершенным тогда и только тогда, когда ни одна из его дыр или антидыр не имеет нечетного числа вершин, превышающего три. Хордальный граф, являющийся особым типом совершенного графа, не содержит дыр размером больше трех. Длина окружности графа — это длина его самого короткого цикла; этот цикл обязательно безхордовый. Клетки (или cages) определяются как наименьшие регулярные графы с заданными комбинациями степени и длины окружности. Периферический цикл — это цикл в графе, обладающий свойством, что любые два ребра, не лежащие на этом цикле, могут быть соединены путем, внутренние вершины которого избегают цикл. В графе, который не образован добавлением одного ребра к циклу, периферический цикл должен быть индуцированным циклом.

Пространство цикла

Термин "цикл" может также относиться к элементу циклического пространства графа. Существует множество цикличеких пространств, по одному для каждого поля или кольца коэффициентов. Наиболее распространенным является бинарное циклическое пространство (обычно называемое просто циклическим пространством), которое состоит из множеств ребер, имеющих четную степень в каждой вершине; оно образует векторное пространство над полем из двух элементов. Согласно теореме Веблена, любой элемент циклического пространства может быть представлен как объединение простых циклов, не имеющих общих ребер. Основой цикла графа является набор простых циклов, образующих базис циклического пространства. Используя идеи алгебраической топологии, бинарное циклическое пространство обобщается на векторные пространства или модули над другими кольцами, такими как целые числа, рациональные или действительные числа и т.д.

Обнаружение цикла

Существование цикла в ориентированных и неориентированных графах можно определить по тому, обнаруживает ли поиск в глубину (DFS) ребро, указывающее на предка текущей вершины (то есть, содержит обратное ребро). Все обратные ребра, которые DFS пропускает, являются частью циклов. В неориентированном графе ребро к родителю узла не следует считать обратным ребром, но обнаружение любой другой уже посещенной вершины указывает на обратное ребро. В случае неориентированных графов для обнаружения цикла в графе с n вершинами требуется время O(n), поскольку максимум n − 1 ребер могут быть ребрами дерева. Многие алгоритмы топологической сортировки также обнаруживают циклы, поскольку они препятствуют существованию топологического порядка. Кроме того, если ориентированный граф был разделен на сильно связные компоненты, циклы существуют только внутри этих компонентов, а не между ними, поскольку циклы по определению сильно связны.

Графики покрытия по циклам

В своей работе 1736 года о семи мостах Кёнигсберга, широко считающейся началом теории графов, Леонард Эйлер доказал, что для конечного неориентированного графа наличие замкнутого пути, проходящего по каждому ребру ровно один раз (то есть замкнутой тропы), необходимо и достаточно, чтобы он был связным, за исключением изолированных вершин (то есть все рёбра принадлежали одному компоненту связности) и имел чётную степень каждой вершины. Соответствующим критерием существования замкнутого пути, проходящего по каждому ребру ровно один раз в ориентированном графе, является его сильная связность и равенство количества входящих и исходящих рёбер для каждой вершины. В любом из этих случаев полученная замкнутая тропа называется эйлеровой тропой. Если конечный неориентированный граф имеет чётную степень каждой вершины, независимо от его связности, то можно найти набор простых циклов, которые вместе покрывают каждое ребро ровно один раз: это теорема Веблена. Если связный граф не удовлетворяет условиям теоремы Эйлера, замкнутый путь минимальной длины, покрывающий каждое ребро хотя бы один раз, всё же можно найти за полиномиальное время, решив задачу об инспекции маршрута. Задача поиска единственного простого цикла, проходящего по каждой вершине ровно один раз, а не покрывающего рёбра, значительно сложнее. Такой цикл называется гамильтоновым циклом, и определение его существования является NP-полной задачей. Опубликовано множество исследований, касающихся классов графов, для которых гарантированно существуют гамильтоновы циклы; одним из примеров является теорема Ора, утверждающая, что гамильтонов цикл всегда можно найти в графе, для которого каждая пара несмежных вершин имеет степени, сумма которых не меньше общего числа вершин в графе. Гипотеза о двойном покрытии циклами утверждает, что для любого мостового графа существует мультимножество простых циклов, покрывающих каждое ребро графа ровно дважды. Доказательство этой гипотезы (или нахождение контрпримера) остаётся открытой проблемой.