Введение

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

Определения

Существует несколько эквивалентных определений классов полиномиальной иерархии.

Определение количественных булевых формул

Для экзистенциального/универсального определения полиномиальной иерархии, пусть L будет языком (т.е. задачей принятия решения, подмножеством {0,1}*), пусть p – полином, и определим

где – некоторое стандартное кодирование пары двоичных строк x и w в одну двоичную строку. Язык L представляет собой множество упорядоченных пар строк, где первая строка x принадлежит , а вторая строка w является "коротким" свидетелем, подтверждающим, что x принадлежит . Иными словами, если и только если существует короткий свидетель w такой, что. Аналогично, определим

Законы Де Моргана выполняются: и , где Lc – дополнение к L. Пусть – класс языков. Расширим эти операторы для работы с целыми классами языков следующим образом:

и , где классы NP и co-NP могут быть определены как , и , где P – класс всех языков, разрешимых за полиномиальное время. Полиномиальная иерархия может быть определена рекурсивно как

и . Это определение отражает тесную связь между полиномиальной иерархией и арифметической иерархией, где R и RE играют роли, аналогичные P и NP соответственно. Аналитическая иерархия также определяется аналогичным образом, чтобы получить иерархию подмножеств действительных чисел.

Определение чередующихся машин Тьюринга

Переключающаяся машина Тьюринга — это недетерминированная машина Тьюринга, в которой нефинальные состояния разделены на экзистенциальные и универсальные. Машина в конечном итоге принимает из своей текущей конфигурации, если: она находится в экзистенциальном состоянии и может перейти в некоторую в конечном итоге принимающую конфигурацию; или, она находится в универсальном состоянии и каждый переход ведёт в некоторую в конечном итоге принимающую конфигурацию; или, она находится в принимающем состоянии. Определим как класс языков, распознаваемых переключающейся машиной Тьюринга за полиномиальное время, при условии, что начальное состояние является экзистенциальным, и каждый путь вычисления машины выполняет не более чем k – 1 переключений между экзистенциальными и универсальными состояниями. Определим аналогично, но с начальным универсальным состоянием. Если опустить требование о не более чем k – 1 переключениях между экзистенциальными и универсальными состояниями, требуя лишь полиномиального времени работы переключающейся машины Тьюринга, то получим определение класса AP, который равен PSPACE.

Отношения с другими классами

Полиномиальная иерархия является аналогом (с гораздо меньшей сложностью) экспоненциальной иерархии и арифметической иерархии. Известно, что PH содержится в PSPACE, но неизвестно, равны ли эти два класса. Одной из полезных переформулировок этой проблемы является то, что PH = PSPACE тогда и только тогда, когда логика второго порядка над конечными структурами не приобретает дополнительной мощности от добавления оператора транзитивного замыкания над отношениями отношений (то есть над переменными второго порядка). Если в полиномиальной иерархии существуют полные задачи, то она имеет лишь конечное число различных уровней. Поскольку существуют PSPACE-полные задачи, мы знаем, что если PSPACE = PH, то полиномиальная иерархия схлопнется, так как PSPACE-полная задача будет полной задачей для некоторого k.

Каждый класс в полиномиальной иерархии содержит полные задачи (задачи, полные относительно полиномиального времени с помощью многих-к-одному сведений). Более того, каждый класс в полиномиальной иерархии замкнут относительно сведений: это означает, что для класса в иерархии и языка L, если L ≤p A, то L также принадлежит этому классу. Эти два факта вместе подразумевают, что если A является полной задачей для Σp, то L ≤p A, и A ≤p Σp. Например, другими словами, если язык определяется на основе некоторого оракула в Σp, то мы можем предположить, что он определяется на основе полной задачи для Σp. Полные задачи, следовательно, выступают в качестве "представителей" класса, для которого они полны. Теорема Сипсера — Лаутемана утверждает, что класс BPP содержится на втором уровне полиномиальной иерархии. Теорема Каннана утверждает, что для любого k, Σpk не содержится в SIZE(nk). Теорема Тоды утверждает, что полиномиальная иерархия содержится в P#P.

Общие ссылки

А. Р. Мейер и Л. Дж. Стокмейер. Проблема эквивалентности для регулярных выражений с операцией возведения в квадрат требует экспоненциального пространства. В материалах 13-го симпозиума IEEE по теории коммутации и автоматов, с. 125–129, 1972. Статья, в которой впервые была введена полиномиальная иерархия. Л. Дж. Стокмейер. Полиномиальная иерархия времени. Теоретическая информатика, т. 3, с. 1–22, 1976. С. Пападимитриу. Вычислительная сложность. Эддисон Уэсли, 1994. Глава 17. Полиномиальная иерархия, с. 409–438. Раздел 7.2: Полиномиальная иерархия, с. 161–167.