Полиномиальная иерархия - Polynomial hierarchy
Эта статья включает список литературы, связанное чтение или внешние ссылки, но его источники остаются неясными, потому что в нем отсутствует встроенные цитаты.Июль 2019) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В теория сложности вычислений, то полиномиальная иерархия (иногда называют полиномиальная иерархия) это иерархия из классы сложности которые обобщают классы НП и со-НП.[1] Каждый класс в иерархии содержится внутри PSPACE. Иерархию можно определить с помощью машины-оракулы или чередующиеся машины Тьюринга. Это ограниченный ресурсами аналог арифметическая иерархия и аналитическая иерархия от математическая логика. Объединение классов в иерархии обозначается PH.
У классов внутри иерархии есть полные проблемы (в отношении редукции за полиномиальное время ) которые спрашивают, если количественные булевы формулы для формул с ограничениями на порядок кванторов. Известно, что равенство между классами на одном уровне или последовательных уровнях в иерархии будет означать «коллапс» иерархии на этот уровень.
Определения
Существует несколько эквивалентных определений классов полиномиальной иерархии.
Определение Oracle
Для определения оракула полиномиальной иерархии определите
где п это набор проблемы решения разрешимый в полиномиальное время. Тогда для i ≥ 0 определим
где это набор проблемы решения разрешима за полиномиальное время Машина Тьюринга дополненный оракул для некоторой полной задачи в классе A; классы и определяются аналогично. Например, , и - класс задач, решаемых за полиномиальное время с оракулом для некоторой NP-полной задачи.[2]
Определение количественных логических формул
Для экзистенциального / универсального определения полиномиальной иерархии пусть L быть язык (т.е. проблема решения, подмножество {0,1}*), позволять п быть многочлен, и определим
где некоторая стандартная кодировка пары двоичных строк Икс и ш как одну двоичную строку. L представляет собой набор упорядоченных пар строк, где первая строка Икс является членом , а вторая строка ш это «короткий» () свидетель, свидетельствующий, что Икс является членом . Другими словами, тогда и только тогда, когда существует короткий свидетель ш такой, что . Аналогичным образом определим
Обратите внимание, что Законы де Моргана держать: и , где Lc является дополнением L.
Позволять C быть классом языков. Расширить эти операторы для работы со всеми классами языков по определению
Опять же, законы Де Моргана гласят: и , где .
Классы НП и со-НП можно определить как , и , где п является классом всех допустимо (полиномиально-временных) разрешимых языков. Полиномиальная иерархия может быть определена рекурсивно как
Обратите внимание, что , и .
Это определение отражает тесную связь между иерархией полиномов и арифметическая иерархия, где р и RE играть роли, аналогичные п и НПсоответственно. В аналитическая иерархия также определяется аналогичным образом, чтобы дать иерархию подмножеств действительных чисел.
Определение чередующихся машин Тьюринга
An переменная машина Тьюринга представляет собой недетерминированную машину Тьюринга с неконечными состояниями, разделенными на экзистенциальные и универсальные состояния. В конечном итоге он принимает текущую конфигурацию, если: он находится в экзистенциальном состоянии и может перейти в некоторую, в конечном итоге, принимающую конфигурацию; или он находится в универсальном состоянии, и каждый переход находится в некоторой, в конечном итоге, принимающей конфигурации; или он находится в принимающем состоянии.[3]
Мы определяем быть классом языков, принимаемых чередующейся машиной Тьюринга за полиномиальное время, так что начальное состояние является экзистенциальным состоянием, и каждый путь, по которому машина может проходить, не более k - 1 раз между экзистенциальным и универсальным состояниями. Мы определяем аналогично, за исключением того, что начальное состояние является универсальным.[4]
Если мы опустим требование не более чем k - 1 меняет местами экзистенциальное и универсальное состояния, так что нам нужно только, чтобы наша чередующаяся машина Тьюринга работала за полиномиальное время, тогда у нас есть определение класса AP, что равно PSPACE.[5]
Отношения между классами в полиномиальной иерархии
Объединение всех классов в полиномиальной иерархии - это класс сложности PH.
Под определениями подразумеваются отношения:
В отличие от арифметических и аналитических иерархий, чьи включения считаются правильными, остается открытым вопрос, являются ли какие-либо из этих включений правильными, хотя широко распространено мнение, что все они правильны. Если есть , или если есть , то иерархия коллапсирует до уровня k: для всех , .[6] В частности, мы имеем следующие последствия, связанные с нерешенными проблемами:
Отношения с другими классами
Нерешенная проблема в информатике: (больше нерешенных проблем в информатике) |
Полиномиальная иерархия является аналогом (с гораздо меньшей сложностью) экспоненциальная иерархия и арифметическая иерархия.
Известно, что PH содержится в PSPACE, но неизвестно, равны ли два класса. Одна полезная переформулировка этой проблемы состоит в том, что PH = PSPACE тогда и только тогда, когда логика второго порядка над конечными структурами не получает дополнительной мощности от добавления переходное закрытие оператор.
Если в полиномиальной иерархии есть полные проблемы, то у него есть только конечное число различных уровней. Поскольку есть PSPACE-полный мы знаем, что если PSPACE = PH, то иерархия полиномов должна разрушиться, поскольку проблема с PSPACE-полным -полная проблема для некоторых k.[8]
Каждый класс в полиномиальной иерархии содержит -полные задачи (задачи, завершенные при полиномиальном времени много-однозначных редукций). Кроме того, каждый класс в полиномиальной иерархии закрыт под -снижения: означает, что для класса C в иерархии и языке , если , тогда также. Эти два факта вместе означают, что если это полная проблема для , тогда , и . Например, . Другими словами, если язык определен на основе некоторого оракула в C, то можно считать, что он определен на основе полной задачи для C. Таким образом, завершенные задачи действуют как «представители» того класса, для которого они завершены.
В Теорема Сипсера – Лаутеманна. заявляет, что класс BPP содержится на втором уровне иерархии полиномов.
Теорема Каннана заявляет, что для любого k, не содержится в РАЗМЕР(пk).
Теорема Тоды утверждает, что полиномиальная иерархия содержится в P#П.
Проблемы
- Пример естественной проблемы в является минимизация схемы: задано число k и цепь А вычисление Логическая функция ж, определите, есть ли в цепи не более k ворота, которые вычисляют ту же функцию ж. Позволять C быть набором всех логических схем. Язык
разрешима за полиномиальное время. Язык
- Полная проблема для является выполнимость для количественных булевых формул с k - 1 чередование кванторов (сокращенно QBFk или QSATk). Это версия проблема логической выполнимости для . В этой задаче дана булева формула ж с переменными, разделенными на k наборы Икс1, ..., Иксk. Мы должны определить, правда ли, что
- Список проблем в стиле Гэри / Джонсона, которые известны как полные для второго и более высоких уровней полиномиальной иерархии, можно найти в этот компендиум.
Смотрите также
использованная литература
- ^ Арора и Барак, 2009, стр.97
- ^ Полнота в иерархии полиномиального времени A Compendium, M. Schaefer, C. Umans
- ^ Арора и Барак, стр. 99–100.
- ^ Арора и Барак, стр.100
- ^ Арора и Барак, стр.100
- ^ Арора, Барак, 2009, теорема 5.4.
- ^ Хемаспандра, Лейн (2018). «17.5 Классы сложности». В Розене, Кеннет Х. (ред.). Справочник по дискретной и комбинаторной математике. Дискретная математика и ее приложения (2-е изд.). CRC Press. С. 1308–1314. ISBN 9781351644051.
- ^ Арора и Барак, 2009 г., утверждение 5.5.
Общие ссылки
- Арора, Санджив; Варак, Вооз (2009). Теория сложности: современный подход. Издательство Кембриджского университета. ISBN 978-0-521-42426-4.
раздел 1.4, «Машины как струны и универсальная машина Тьюринга» и 1.7, «Доказательство теоремы 1.9»
- А. Р. Мейер и Л. Дж. Штокмейер. Проблема эквивалентности регулярных выражений с возведением в квадрат требует экспоненциального пространства. В материалах 13-го IEEE Симпозиум по теории переключений и автоматов, pp. 125–129, 1972. Статья, в которой была введена полиномиальная иерархия.
- Л. Дж. Штокмейер. Иерархия полиномиального времени. Теоретическая информатика, vol.3, pp. 1–22, 1976.
- К. Пападимитриу. Вычислительная сложность. Эддисон-Уэсли, 1994. Глава 17. Полиномиальная иерархияС. 409–438.
- Майкл Р. Гарей и Дэвид С. Джонсон (1979). Компьютеры и непреодолимость: руководство по теории NP-полноты. W.H. Фримен. ISBN 0-7167-1045-5. Раздел 7.2: Полиномиальная иерархия, стр. 161–167.