Циклический ранг

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Циклический ранг ориентированного графа — мера связности орграфа, предложенная Эгганом и Бучи[en][1]. Это понятие интуитивно отражает, насколько близок орграф к направленному ациклическому графу (НАГ, en:DAG), когда циклический ранг НАГ равен нулю, в то время как ориентированный орграф порядка n с петлями в каждой вершине имеет циклический ранг n. Циклический ранг ориентированного графа тесно связан с глубиной дерева неориентированного графа и высотой итерации регулярных языков. Циклический ранг нашёл применение также в вычислениях с разреженными матрицами (см. статью Bodlaender, Gilbert, Hafsteinsson, Kloks, 1995) и логике[2].

Определение

Циклический ранг r(G) орграфа G = (VE) индуктивно определяется следующим образом

[math]\displaystyle{ r(G) = 1 + \min_{v\in V} r(G-v),\, }[/math] где [math]\displaystyle{ G - v }[/math] является орграфом, полученным удалением вершины v и всех рёбер, начинающихся или оканчивающихся в v.
  • Если G не является компонентой сильной связности, то r(G) равен максимальному циклическому рангу среди всех компонент сильной связности графа G.

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

История

Циклический ранг ввёл Эгган[1] в контексте высоты итерации регулярных языков. Циклический ранг переоткрыли Айзенштат и Лю[3] как обобщение неориентированной глубины дерева. Понятие разрабатывалась с начала 1980-х и применялись для работы с разреженными матрицами[4].

Примеры

Циклический ранг направленного ациклического графа равен 0, в то время как полный орграф порядка n с петлёй в каждой вершине имеет циклический ранг n. Кроме этих двух случаев, известен циклический ранг нескольких других орграфов: неориентированный путь [math]\displaystyle{ P_n }[/math] порядка n, который обладает отношением симметрии рёбер и не имеет петель, имеет циклический ранг [math]\displaystyle{ \lfloor \log n\rfloor }[/math][5]. Для ориентированного [math]\displaystyle{ (m\times n) }[/math]-тора [math]\displaystyle{ T_{m,n} }[/math], т.е. прямого произведения двух ориентированных контуров длины m и n, имеем [math]\displaystyle{ r(T_{n,n}) = n }[/math] и [math]\displaystyle{ r(T_{m,n}) = \min\{m,n\} + 1 }[/math] для m ≠ n[1][6].

Вычисление циклического ранга

Вычисление циклического ранга является сложной задачей. Грубер[7] доказал, что соответствующая задача разрешимости является NP-полной даже для разреженных орграфов с максимальной полустепенью исхода 2. Положительный момент состоит в том, что задача разрешима за время [math]\displaystyle{ O(1.9129^n) }[/math] на орграфах с максимальной полустепенью исхода 2 и за время [math]\displaystyle{ O^*(2^n) }[/math] на общих орграфах. Существует аппроксимационный алгоритм с аппроксимационным коэффициентом [math]\displaystyle{ O((\log n)^\frac32) }[/math].

Приложения

Высота итерации регулярных языков

Первое приложение циклического ранга было в теории формальных языков для изучения высоты итерации языка регулярных языков. Эгган[1] установил отношение между теориями регулярных выражений, конечными автоматами и ориентированными графами. В последующих годах это отношение стало известно как теорема Эггана[8]. В теории автоматов недетерминированный конечный автомат с c ε-переходами (ε-НКА) определяется как 5-ка, (Q, Σ, δ, q0, F), состоящая из

  • конечного множества состояний Q
  • конечного множества входных символов Σ (алфавита)
  • множества помеченных рёбер δ, называемых отношениями перехода: Q × (Σ ∪{ε}) × Q. Здесь ε означает пустую строку.
  • начального состояния q0Q
  • множества состояний F (поглощающие состояния) FQ.

Слово w ∈ Σ* допускается ε-НКА автоматом, если существует ориентированный путь из начального состояния q0 в некоторое конечное состояние из F используя рёбра из δ, так что конкатенация всех меток вдоль пути даёт слово w. Множество всех слов над Σ*, допускаемых автоматом, является языком, принимаемым автоматом A.

Когда говорят о свойствах орграфов недетерминированного конечного автомата A с множеством состояний Q, естественным образом подразумевается орграф с множеством вершин Q, порождённый отношением переходов.

Теорема Эггана: Высота итерации языка регулярного языка L равна минимальному циклическому рангу среди всех недетерминированных конечных автоматов c ε-переходами (с пустыми переходами), принимающих язык L.

Доказательства этой теоремы дали Эгган[1] и, позднее, Сакарович[8].

Разложение Холецкого для разреженных матриц

Другое приложение этой концепции лежит в области вычислений с разреженными матрицами, а именно, для использования вложенного рассечения[en] при вычислении разложения Холецкого (симметричной) матрицы с помощью параллельного алгоритма. Заданную разреженную [math]\displaystyle{ (n\times n) }[/math] матрицу M можно интерпретировать как матрицу смежности некоторого симметричного орграфа G с n вершинами, так что ненулевые элементы матрицы соответствуют один-к-одному рёбрам графа G. Если циклический ранг орграфа G не превосходит k, то разложение Холецкого матрицы M может быть вычислено максимум за k шагов на параллельном компьютере с [math]\displaystyle{ n }[/math] процессорами[9].

См. также

Примечания

Литература