В теории вычислительной сложности язык TQBF является формальным языком, состоящим из истинных квантифицированных булевых формул . (Полностью) квантифицированная булева формула является формулой в квантифицированной пропозициональной логике (также известной как пропозициональная логика второго порядка ), где каждая переменная квантифицирована (или связана ), используя либо экзистенциальные , либо универсальные квантификаторы, в начале предложения. Такая формула эквивалентна либо истинной, либо ложной (поскольку нет свободных переменных ). Если такая формула оценивается как истинная, то эта формула принадлежит языку TQBF. Она также известна как QSAT (Quantified SAT ).
В теории вычислительной сложности проблема квантифицированной булевой формулы ( QBF ) является обобщением проблемы булевой выполнимости , в которой как экзистенциальные квантификаторы , так и универсальные квантификаторы могут быть применены к каждой переменной. Другими словами, она спрашивает, является ли квантифицированная сентенциальная форма над набором булевых переменных истинной или ложной. Например, следующее является примером QBF:
QBF — это каноническая полная задача для PSPACE , класса задач, решаемых детерминированной или недетерминированной машиной Тьюринга в полиномиальном пространстве и за неограниченное время. [1] При наличии формулы в форме абстрактного синтаксического дерева задача может быть легко решена набором взаимно рекурсивных процедур, которые оценивают формулу. Такой алгоритм использует пространство, пропорциональное высоте дерева, которое является линейным в худшем случае, но использует время, экспоненциальное по числу квантификаторов.
При условии, что MA ⊊ PSPACE, что широко распространено, QBF не может быть решена, и данное решение не может быть даже проверено ни за детерминированное, ни за вероятностное полиномиальное время (фактически, в отличие от проблемы выполнимости, не существует известного способа указать решение кратко). Она может быть решена с помощью чередующейся машины Тьюринга за линейное время, поскольку AP = PSPACE, где AP — класс задач, которые чередующиеся машины могут решить за полиномиальное время. [2]
Когда был продемонстрирован основополагающий результат IP = PSPACE (см. интерактивную систему доказательства ), это было сделано путем демонстрации интерактивной системы доказательства, которая могла решить QBF путем решения конкретной арифметизации задачи. [3]
Формулы QBF имеют ряд полезных канонических форм. Например, можно показать, что существует многоединичное сокращение за полиномиальное время , которое переместит все квантификаторы в начало формулы и заставит их чередоваться между всеобщими и экзистенциальными квантификаторами. Есть еще одно сокращение, которое оказалось полезным в доказательстве IP = PSPACE, где между использованием каждой переменной и квантификатором, связывающим эту переменную, размещается не более одного всеобщего квантификатора. Это было критически важно для ограничения количества продуктов в определенных подвыражениях арифметизации.
Полностью квантифицированная булева формула может быть принята в очень специфической форме, называемой предваренной нормальной формой . Она состоит из двух основных частей: часть, содержащая только квантификаторы, и часть, содержащая неквантифицированную булеву формулу, обычно обозначаемую как . Если есть булевы переменные, вся формула может быть записана как
где каждая переменная попадает в область действия некоторого квантификатора. Вводя фиктивные переменные, любую формулу в предваренной нормальной форме можно преобразовать в предложение, где чередуются квантификаторы существования и всеобщности. Используя фиктивную переменную ,
Второе предложение имеет то же значение истинности , но следует ограниченному синтаксису. Предположение, что полностью квантифицированные булевы формулы находятся в предваренной нормальной форме, является частой особенностью доказательств.
Этот раздел, возможно, содержит оригинальные исследования . ( Май 2021 ) |
Существует простой рекурсивный алгоритм для определения, находится ли QBF в TQBF (т.е. является ли он истинным). Дано некоторое QBF
Если формула не содержит квантификаторов, мы можем просто вернуть формулу. В противном случае мы убираем первый квантификатор и проверяем оба возможных значения для первой переменной:
Если , то вернуть . Если , то вернуть . [4]
Насколько быстро работает этот алгоритм? Для каждого квантификатора в исходном QBF алгоритм делает два рекурсивных вызова только для линейно меньшей подзадачи. Это дает алгоритму экспоненциальное время выполнения O(2 n ) . [ необходима цитата ]
Сколько места использует этот алгоритм? В каждом вызове алгоритма ему необходимо хранить промежуточные результаты вычисления A и B. Каждый рекурсивный вызов выводит один квантификатор, поэтому общая рекурсивная глубина линейна по количеству квантификаторов. Формулы, в которых отсутствуют квантификаторы, можно вычислять в пространстве, логарифмическом по количеству переменных. Первоначальный QBF был полностью квантифицирован, поэтому квантификаторов по крайней мере столько же, сколько переменных. Таким образом, этот алгоритм использует O ( n + log n ) = O ( n ) пространства. Это делает язык TQBF частью класса сложности PSPACE . [ необходима цитата ]
Этот раздел нуждается в расширении . Вы можете помочь, дополнив его. ( Май 2021 ) |
Несмотря на полноту QBF по PSPACE, было разработано много решателей для решения этих примеров. (Это аналогично ситуации с SAT , версией с одним квантором существования; даже несмотря на то, что она является NP-полной , все еще возможно решить многие примеры SAT эвристически.) [5] [6] Случай, когда есть только 2 квантора, известный как 2QBF, привлек особое внимание. [7] [ weasel words ]
Соревнование решателей QBF QBFEVAL проводится более или менее ежегодно с 2004 года; [5] [6] решатели должны читать экземпляры в формате QDIMACS и либо в форматах QCIR, либо в QAIGER. [8] Высокопроизводительные решатели QBF обычно используют QDPLL (обобщение DPLL ) или CEGAR. [5] [6] [7] Исследования в области решения QBF начались с разработки обратного отслеживания DPLL для QBF в 1998 году, за которым последовало введение обучения предложениям и исключения переменных в 2002 году; [9] таким образом, по сравнению с решением SAT, которое разрабатывалось с 1960-х годов, QBF является относительно молодой областью исследований по состоянию на 2017 год. [9] [ weasel words ]
Некоторые известные решатели QBF включают в себя:
Этот раздел нуждается в расширении . Вы можете помочь, дополнив его. ( Май 2021 ) |
Решатели QBF могут применяться для планирования (в искусственном интеллекте), включая безопасное планирование; последнее имеет решающее значение в приложениях робототехники. [14] Решатели QBF также могут применяться для проверки ограниченной модели , поскольку они обеспечивают более короткое кодирование, чем это было бы необходимо для решателя на основе SAT. [14]
Оценку QBF можно рассматривать как игру двух игроков между игроком, который контролирует экзистенциально квантифицированные переменные, и игроком, который контролирует универсально квантифицированные переменные. Это делает QBF пригодными для кодирования задач реактивного синтеза . [14] Аналогично решатели QBF могут использоваться для моделирования состязательных игр в теории игр . Например, решатели QBF могут использоваться для поиска выигрышных стратегий для географических игр , которые затем могут автоматически воспроизводиться в интерактивном режиме. [15]
Решатели QBF могут использоваться для формальной проверки эквивалентности , а также для синтеза булевых функций. [14]
Другие типы проблем, которые можно кодировать как QBF, включают:
В QBFEVAL 2020 был представлен «DQBF Track», в котором экземплярам разрешалось иметь квантификаторы Хенкина (выраженные в формате DQDIMACS). [8]
Язык TQBF служит в теории сложности как каноническая PSPACE-полная проблема. PSPACE-полный означает, что язык принадлежит PSPACE и что язык также является PSPACE-трудным . Приведенный выше алгоритм показывает, что TQBF принадлежит PSPACE. Демонстрация того, что TQBF является PSPACE-трудным, требует демонстрации того, что любой язык в классе сложности PSPACE может быть сведен к TQBF за полиномиальное время. То есть,
Это означает, что для языка PSPACE L, находится ли вход x в L, можно определить, проверив, находится ли он в TQBF, для некоторой функции f , которая должна выполняться за полиномиальное время (относительно длины входа). Символически,
Доказательство того, что TQBF является PSPACE-трудным, требует спецификации f .
Итак, предположим, что L — язык PSPACE. Это означает, что L может быть определен полиномиальной пространственной детерминированной машиной Тьюринга (DTM). Это очень важно для сведения L к TQBF, поскольку конфигурации любой такой машины Тьюринга могут быть представлены в виде булевых формул с булевыми переменными, представляющими состояние машины, а также содержимое каждой ячейки на ленте машины Тьюринга, с положением головки машины Тьюринга, закодированным в формуле упорядочением формулы. В частности, наше сведение будет использовать переменные и , которые представляют две возможные конфигурации DTM для L, и натуральное число t, при построении QBF, которая истинна тогда и только тогда, когда DTM для L может перейти от конфигурации, закодированной в , к конфигурации, закодированной в не более чем за t шагов. Функция f , тогда, построит из DTM для L QBF , где — начальная конфигурация DTM, — принимающая конфигурация DTM, а T — максимальное количество шагов, которое может потребоваться DTM для перехода от одной конфигурации к другой. Мы знаем, что T = O (exp( n k )) для некоторого k , где n — длина входа, поскольку это ограничивает общее количество возможных конфигураций соответствующей DTM. Конечно, DTM не может сделать больше шагов, чем возможных конфигураций для достижения, если только он не войдет в цикл, в этом случае он никогда не достигнет его в любом случае.
На этом этапе доказательства мы уже свели вопрос о том, находится ли входная формула w (закодированная, конечно, в ) в L, к вопросу о том, находится ли QBF , т. е. , в TQBF. Оставшаяся часть этого доказательства доказывает, что f может быть вычислена за полиномиальное время.
Для , вычисление является простым — либо одна из конфигураций меняется на другую за один шаг, либо нет. Поскольку машина Тьюринга, которую представляет наша формула, является детерминированной, это не представляет проблемы.
Для , вычисление включает рекурсивную оценку, ищущую так называемую "среднюю точку" . В этом случае мы переписываем формулу следующим образом:
Это преобразует вопрос о том, можно ли достичь за t шагов, в вопрос о том, можно ли достичь средней точки за шаги, которая сама достигает за шаги. Ответ на последний вопрос, конечно, дает ответ на первый.
Теперь t ограничено только T, что является экспоненциальным (и, следовательно, не полиномиальным) по длине входных данных. Кроме того, каждый рекурсивный слой фактически удваивает длину формулы. (Переменная — это только одна средняя точка — для большего t по пути будет больше остановок, так сказать.) Поэтому время, необходимое для рекурсивной оценки таким образом, также может быть экспоненциальным, просто потому, что формула может стать экспоненциально большой. Эта проблема решается путем универсальной количественной оценки с использованием переменных и по парам конфигураций (например, ), что предотвращает расширение длины формулы из-за рекурсивных слоев. Это дает следующую интерпретацию :
Эта версия формулы действительно может быть вычислена за полиномиальное время, поскольку любой ее экземпляр может быть вычислен за полиномиальное время. Универсально квантифицированная упорядоченная пара просто говорит нам, что какой бы выбор ни был сделан, .
Таким образом, , поэтому TQBF является PSPACE-трудным. Вместе с приведенным выше результатом, что TQBF находится в PSPACE, это завершает доказательство того, что TQBF является PSPACE-полным языком.
(Это доказательство во всех основных моментах следует Sipser 2006 pp. 310–313. Papadimitriou 1994 также включает доказательство.)
{{cite journal}}
: CS1 maint: multiple names: authors list (link)