Введение

В информатике задача связности st или STCON — это задача принятия решения, которая для заданных вершин s и t в ориентированном графе определяет, достижима ли вершина t из вершины s.

Формально, задача принятия решения задается следующим образом:

Сложность

На последовательном компьютере задача проверки связности между вершинами s и t (st-связность) может быть легко решена за линейное время с помощью поиска в глубину или поиска в ширину. Интерес к этой задаче в вычислительной сложности связан с её сложностью при использовании более ограниченных моделей вычислений. Например, класс сложности задач, которые могут быть решены недетерминированной машиной Тьюринга, используя лишь логарифмический объём памяти, называется NL. Можно показать, что задача st-связности принадлежит классу NL, поскольку недетерминированная машина Тьюринга может угадывать следующую вершину пути, при этом необходимо хранить только общую длину пути и текущую рассматриваемую вершину. Алгоритм завершается, если достигнута целевая вершина t или длина текущего пути превышает n – количество вершин в графе. Дополнение к задаче st-связности, известное как st-несвязность, также принадлежит классу NL, поскольку NL = coNL согласно теореме Иммермана — Селепчени. В частности, задача st-связности является NL-полной, то есть любая задача из класса NL приводима к задаче st-связности посредством логарифмического сжатия. Это справедливо и для более сильного случая приведения первого порядка. Логарифмическое сжатие из любого языка в NL к STCON выполняется следующим образом: рассмотрим недетерминированную машину Тьюринга M с логарифмическим объёмом рабочей памяти, принимающую язык из NL. Поскольку на рабочей ленте доступно лишь логарифмическое пространство, количество всех возможных состояний машины Тьюринга (где состояние определяется состоянием конечного автомата, положением головки и содержимым рабочей ленты) является полиномиальным. Отобразим все возможные состояния детерминированной машины с логарифмическим объёмом памяти на вершины графа и проведём ребро между u и v, если состояние v достижимо из u за один шаг недетерминированной машины. Теперь задача определения, принимает ли машина, эквивалентна задаче поиска пути от начального состояния к принимающему состоянию. Теорема Савича гарантирует, что алгоритм может быть смоделирован в O(log² n) детерминированного пространства. Та же задача для неориентированных графов называется неориентированной st-связностью и была показана принадлежащей классу L Омером Рейнгольдом. Это исследование принесло ему премию Грейс Мюррей Хоппер в 2005 году. Ранее было известно, что неориентированная st-связность является полной для класса SL, поэтому работа Рейнгольда показала, что SL и L – это один и тот же класс. Для чередующихся графов задача является P-полной.