Циклический ранг ориентированного графа — мера связности орграфа, предложенная Эгганом и . Это понятие интуитивно отражает, насколько близок орграф к направленному ациклическому графу (НАГ, en:DAG), когда циклический ранг НАГ равен нулю, в то время как ориентированный орграф порядка n с петлями в каждой вершине имеет циклический ранг n. Циклический ранг ориентированного графа тесно связан с древовидной глубиной неориентированного графа и высотой итерации регулярных языков. Циклический ранг нашёл применение также в вычислениях с разреженными матрицами (см. статью ) и логике.
Определение Циклический ранг r(G) орграфа индуктивно определяется следующим образом
Если G ацикличен, то . Если G сильно связан и E не пусто, то где является орграфом, полученным удалением вершины и всех рёбер, начинающихся или оканчивающихся в . Если G не является компонентой сильной связности, то r(G) равен максимальному циклическому рангу среди всех компонент сильной связности графа G. Древовидная глубина неориентированного графа имеет очень похожее определение с помощью неориентированной связности и связных компонент вместо сильной связности и компонент сильной связности.
История Циклический ранг ввёл Эгган в контексте высоты итерации регулярных языков. Циклический ранг переоткрыли Айзенштат и Лю как обобщение неориентированной древовидной глубины. Понятие разрабатывалось с начала 1980-х и применялось для работы с разреженными матрицами.
Примеры Циклический ранг направленного ациклического графа равен 0, в то время как полный орграф порядка n с петлёй в каждой вершине имеет циклический ранг n. Кроме этих двух случаев, известен циклический ранг нескольких других орграфов: неориентированный путь порядка n, который обладает отношением симметрии рёбер и не имеет петель, имеет циклический ранг . Для ориентированного -тора , т.е. прямого произведения двух ориентированных контуров длины m и n, имеем и для m ≠ n.
Вычисление циклического ранга Вычисление циклического ранга является сложной задачей. Грубер доказал, что соответствующая задача разрешимости является NP-полной даже для разреженных орграфов с максимальной полустепенью исхода 2. Положительный момент состоит в том, что задача разрешима за время на орграфах с максимальной полустепенью исхода 2 и за время на общих орграфах. Существует аппроксимационный алгоритм с аппроксимационным коэффициентом .
Приложения
Высота итерации регулярных языков Первое приложение циклического ранга было в теории формальных языков для изучения высоты итерации языка регулярных языков. Эгган установил отношение между теориями регулярных выражений, конечными автоматами и ориентированными графами. В последующих годах это отношение стало известно как теорема Эггана. В теории автоматов недетерминированный конечный автомат с ε-переходами (ε-НКА) определяется как 5-ка, (Q, Σ, δ, q0, F), состоящая из конечного множества состояний Q конечного множества входных символов Σ (алфавита) множества помеченных рёбер δ, называемых отношениями перехода: Q × (Σ ∪{ε}) × Q. Здесь ε означает пустую строку. начального состояния q0 ∈ Q множества состояний F (поглощающие состояния) F ⊆ Q. Слово w ∈ Σ* допускается ε-НКА автоматом, если существует ориентированный путь из начального состояния q0 в некоторое конечное состояние из F используя рёбра из δ, так что конкатенация всех меток вдоль пути даёт слово w. Множество всех слов над Σ*, допускаемых автоматом, является языком, принимаемым автоматом A.
Когда говорят о свойствах орграфов недетерминированного конечного автомата A с множеством состояний Q, естественным образом подразумевается орграф с множеством вершин Q, порождённый отношением переходов.
Теорема Эггана: Высота итерации языка регулярного языка L равна минимальному циклическому рангу среди всех недетерминированных конечных автоматов c ε-переходами (с пустыми переходами), принимающих язык L.
Доказательства этой теоремы дали Эгган и, позднее, Сакарович.
Разложение Холецкого для разреженных матриц Другое приложение этой концепции лежит в области вычислений с разреженными матрицами, а именно, для использования при вычислении разложения Холецкого (симметричной) матрицы с помощью параллельного алгоритма. Заданную разреженную матрицу M можно интерпретировать как матрицу смежности некоторого симметричного орграфа G с n вершинами, так что ненулевые элементы матрицы соответствуют один-к-одному рёбрам графа G. Если циклический ранг орграфа G не превосходит k, то разложение Холецкого матрицы M может быть вычислено максимум за k шагов на параллельном компьютере с процессорами.
См. также Контурный ранг
Примечания
Литература
.
.
Категория:Связность графа Категория:Инварианты графов Категория:NP-полные задачи