Хорошо известно, что если то иерархия полиномов разрушается и .
Это можно легко понять индуктивно с помощью оракулов. Вопрос в том, почему мы не можем продолжить индуктивный процесс за пределами постоянного уровня чередований и доказать (aka )?
Я ищу интуитивный ответ.
Ответы:
Доказательство для ( ) является индукцией с использованием . Индукционные показывает , что для любого натурального числа , (и является лишь их объединение).P = A l t T i m e (O(1)) = P H P = N P P = A l t T i m e ( k ) A l t T i m e ( O ( 1 ) )К P = A l t T i m e (k) A l t T i m e (O(1))
Индукция не работает, когда число чередований может изменяться в зависимости от размера ввода (т. Е. Когда число возможных чередований машины является не числом, а функцией размера ввода, т. Е. Мы не показываем, что выполнение машины на одном входе можно свести к отсутствию чередования, мы показываем, что выполнение машины на всех входах может быть «равномерно» сокращено без чередования).
Давайте посмотрим на подобное, но более простое утверждение. Мы хотим показать, что тождественная функция конечном итоге доминирует над всеми постоянными функциями ( если только для всех, кроме конечного числа ). Это можно доказать, скажем, по индукции. Для всех , (т.е. где ), но у нас этого нет для непостоянных функций, таких как , .я д( n ) = n е≪ г N е( n ) ≤ g( н ) К k ≪ n еК« Я д еК( n ) = k N2 N2« ̸ п
источник
Сравните полиномиальную иерархию с иерархией для интерактивных доказательств. Если для некоторого фиксированного k у вас есть k чередований в интерактивном доказательстве - IP ( k ) - результирующий класс сложности не имеет большей мощности, чем тот, который вы получаете с двумя чередованиями, то есть IP ( k ) = IP (2). ) = AM (при условии, что k ≥2). Однако, если вы допустите полиномиальное число чередований, вы получите класс сложности IP = PSPACE, который, как считается, намного больше AM, класс содержится в in 2 P на втором уровне полиномиальной иерархии. Таким образом, это явление действительно происходит (хотя, не настолько, насколько мы знаем, с полиномиальной иерархией).
Это происходит потому, что уменьшение, которое принимает проблему размера n в IP ( k ) и превращает ее в проблему в IP (2), увеличивает размер проблемы, так что в то время как для любого конкретного IP ( k ) проблема остается полиномиальной. , если вы позволите k варьироваться, результирующая редукция не дает проблем, которые являются полиномиальными по k .
источник
Вот небольшая интуиция, касающаяся разрыва между постоянными и неограниченными чередованиями: полиномиальная операция, повторяемая постоянное число раз, является полиномиальной, но повторное полиномиальное число раз может быть экспоненциальным. Например, возьмите умножение, повторенное на себя:
Количество итераций является линейным, а вывод - экспоненциальным. Но если вы исправите n, это будет полином по величине начального значения.
источник
Ниже я немного подробнее остановлюсь на пункте в ответе Питера, пытаясь выполнить удаление квантификатора за более чем постоянное число шагов, чтобы увидеть, где он выходит из строя и можно ли что-нибудь спасти от такой попытки.
Давайте попробуем усилить более чем на постоянное число раз.P = N P
Предположим, что . Поэтому существует полиномиальная машина времени, которая решает Ext-Circuit-SAT (есть ли удовлетворительное расширение для данной схемы и частичное назначение ее входов?).P = N P
Более формально, у нас есть алгоритм Polytime с полиномиальным временем выполнения stA p ( n ) ∈ p o l y ( n )
Чтобы пройти через постоянное время, нам нужно эффективно удалить квантификатор. Мы можем сделать это , потому что Кук-Левина теорема является конструктивной теоремой, на самом деле это дает полиномиальное время алгоритм - еСо о к
Давайте попробуем использовать их, чтобы расширить аргумент для для получения алгоритма, решающего TQBF (фактически TQBCircuit, то есть проблема полностью квантованной логической схемы).P=PH
Идея алгоритма заключается в следующем: мы неоднократно используем на чтобы удалить квантификаторы из заданной количественной схемы. Существует линейное количество квантификаторов, поэтому мы надеемся получить алгоритм полиномиального времени (у нас есть алгоритм с полиномиальным количеством шагов, использующий подпрограмму полиномиального времени ). В конце этого процесса исключения кванторов у нас будет схема без кванторов, которая может быть оценена за полиномиальное время (проблема со значением схемы находится в , пусть - алгоритм за полиномиальное время для вычисления значения схемы данная схема).Cook A Со о к п СВ
Однако мы увидим, что эта идея не работает (по той же причине, на которую указал Петр).
Для от до сделатья К 1
Если ,Q = " ∃ "
Если ,Q = " ∀ "
Получившийся алгоритм выглядит за полиномиальное время: у нас есть многочлен много шагов, каждый шаг вычисляется за полиномиальное время. Однако это не правильно, алгоритм не полиномиального времени.
Использование подпрограмм полиномиального времени в алгоритме полиномиального времени является полиномиальным временем. Проблема заключается в том, что в общем случае это не обязательно должно быть истиной, если значения, возвращаемые подпрограммами, не имеют полиномиального размера в исходном вводе, и мы предполагаем, что мы делаем присваивания для значений, возвращаемых из подпрограмм. (В модели ТМ мы должны считывать вывод любой подпрограммы полиномиального времени побитно.) Здесь размер возвращаемого значения из алгоритма увеличивается (может быть степенью размера введенного ему ввода, точным мощность зависит от времени работы и составляет около , поэтому, поскольку мы знаем, что не может быть меньше линейного времени, по крайней мереCook A p2(|input|) A |output| |input|2 ).
Проблема похожа на простой код ниже:
Каждый раз, когда мы выполняем мы возводим в квадрат размер . После выполнений у нас будет который равен и имеет размер , очевидно, не является многочленом от размера входных данных.yзнак равноy|y| Y N Y x2N N2N
Предположим, что мы рассматриваем только количественные формулы с чередующимися количественными выражениями (где - общий размер квантованной формулы).к ( н ) N
Предположим, что работает за время (например, линейное время, которое пока не исключено), и, возможно, имеет более эффективный алгоритм , выводящий меньшую схему размера вместо , тогда мы получим алгоритм для ExtCircuitSat, который выполняется во времени . Даже в том случае, если и и были линейными (но с полным коэффициентом ), мы получили бы алгоритм, который работает во времени и если это будетA п Cо о к л ( т ) t2 ( л ∘ р )O ( k )( n ) = l ( p ( l ( p ( … ( l ( p ( n ) ) ) ) ) ) ))O ( k ) композиции L п ≥ 2 Ω ( n 2к ( н )) k ( n ) = Θ ( n ) Ω ( n 2N) похож на алгоритм грубой силы (и даже это было основано на предположении, что Кук-Левин может быть выполнен на алгоритмах, получающихся в результате схем линейного размера во время выполнения алгоритма).
источник
Я думаю, это потому, что на каждом уровне PH число чередований является постоянным (т.е. не зависит от размера входа), в то время как в AP количество чередований может быть неограниченным (но полиномиальным по размеру входа).
источник