Компактное представление набора решений экземпляра SAT

10

Этот вопрос возник у меня в голове после прочтения вклада Андраса Саламона и Колина Маккуиллана в мой предыдущий вопрос « Подсчет решений формул Monotone-2CNF» .

РЕДАКТИРОВАТЬ 30- го марта 2011 г.
Добавлен вопрос № 2.

РЕДАКТИРОВАТЬ 29- го октября 2010 г.
Вопрос перефразирован после предложения Андра формализовать его с помощью понятия хорошего представления набора решений (я немного изменил его понятие).

Пусть - общая формула CNF с переменными. Пусть будет его решением. Ясно, чтоможет быть экспоненциальным в . ПустьFnS|S|nRбыть представление S . R считается хорошим, если и только если следующие факты верны:

  1. R имеет полиномиальный размер по n .
  2. R позволяет перечислять решения в S с полиномиальной задержкой.
  3. R позволяет определить |S|за полиномиальное время (т.е. без перечисления всех решений).

Было бы здорово, если бы за полиномиальное время можно было построить такой R для каждой формулы.

Вопросов:

  1. Кто-нибудь когда-нибудь доказывал, что существует семейство формул, для которых такое хорошее представление не может существовать?
  2. Кто-нибудь изучал связь между представлением и симметриями, представленными ? Интуитивно понятно, что симметрии должны помочь компактно представить поскольку они избегают явного представления подмножества решений когда фактически сводится к одному решению (т. Из каждого вы можете восстановить любой другой путем применения правильной симметрии, таким образом, каждый сам по себе является представителем всего )SFSSSSsiSsjSsiSS
Джорджио Камерани
источник
1
Я думаю, что вам нужно немного ограничить свой вопрос. Как уже говорилось, сама формула является представлением в полиномиальном размере . Но это, очевидно, не помогает мотивации, исходящей из предыдущей проблемы. Может быть, вы хотите получить некоторую оценку (полином?) Сложности воспроизведения (или, может быть, одного элемента или вычисления ) из представления полиномиального размера ...FSSS|S|
Джошуа Грохов
@ Джошуа: Ты прав, спасибо. Я обогатил вопрос, чтобы уточнить. Пожалуйста, дайте мне знать, если все в порядке сейчас.
Джорджио Камерани
Кстати, один из способов представления набора решений - это «И / ИЛИ дерево поиска». Каждый экземпляр является листом дерева, и подсчет может быть выполнен без перечисления всех решений.
Ярослав Булатов
@ Ярослав: Интересно ... не могли бы вы рассказать подробнее?
Джорджио Камерани

Ответы:

10

Как указано (редакция 3), вопрос имеет простой ответ: нет.

Причина в том, что даже для строго ограниченного класса представлений, данных булевыми схемами с вентилями AND, OR и NOT, нетривиальные нижние оценки не известны. (Ясно, что схема, которая представляет , также будет неявно представлять , и легко перечислить решения путем изменения входов в схему.)FS

Для еще более ограниченных представлений, таких как монотонные схемы или схемы с постоянной глубиной, известны экспоненциальные нижние границы. Существуют также экспоненциальные нижние границы для представления формул в форме CNF или DNF, хотя их можно рассматривать как частные случаи контуров с постоянной глубиной. Наконец, представления BDD можно рассматривать как компактные формы DNF, но существуют формулы, для которых BDD требует экспоненциального размера для любого переменного порядка.

Чтобы сделать ваш вопрос более точным, рассмотрите ответ @ Joshua более подробно и уточните, что вы подразумеваете под «тривиальным перечислением каждого решения».


Для версии 4 обратите внимание на утверждение о размере BDD. Часть того, что вы, похоже, спрашиваете: есть ли более компактное представление формул DNF, чем BDD? Пусть «BDD имеет суперполиномиальный размер» означает «каждый BDD, представляющий ту же функцию, что и , независимо от упорядочения переменных, имеет суперполиномиальный размер», а «хорошее представление» означает «представление, которое позволяет перечислять решения с полиномиальной задержкой». Этот более конкретный вопрос становится:BB

Есть ли семейство формул и хорошее представление, которое имеет полиномиальный размер, в то время как его BDD имеют суперполиномиальный размер?

Это отражает суть того, что вы спрашиваете?

Андраш Саламон
источник
@ Андрас: я добавил раздел разъяснений.
Джорджио Камерани
@ Андрас: Я прошу прощения, если мой вопрос не хватает точности. Ваше предложение "есть ли более компактное представление формул DNF, чем BDD?" отражает суть того, что я спрашиваю. Такое более компактное представление должно быть возможным для любой формулы (даже для тех, которые имеют суперполиномиальное число решений).
Джорджио Камерани
@ Андрас: Привет, я немного больше думал об этом. Лучше всего понять суть того, что я спрашиваю, это вопрос "Есть ли хорошее представление, имеющее полиномиальный размер для каждой формулы?" , Такое представление должно быть «лучшим в истории» независимо от того, как ведут себя BDD по сравнению с ним. Ваше предположение о полиномиальной задержке идеально соответствует идее, которую я имею в виду.
Джорджио Камерани
@Walter: возможно, стоит отредактировать вопрос в соответствии с этой переформулировкой или опубликовать новый вопрос.
Андрас Саламон
@ Андрас: я перефразировал вопрос. Определение хорошего представления было немного изменено (я предположил, что это был термин вашего изобретения, а не термин, хорошо известный в литературе, не так ли?).
Джорджио Камерани
9

[Этот ответ был в ответ на версию, предшествующую редакции 6 от 29 октября 2010 г.]

Я думаю, что вопрос более или менее работает сейчас, но осталась техническая проблема. А именно, как формализовать «тривиально перечислять каждое решение, просто глядя на такую ​​структуру». Возможно, наивная формализация (но единственная, которую я мог придумать на данный момент) такова: пусть обозначает представление множества решений из . На данный момент я не накладываю на никаких ограничений, кроме этого где - CNF от переменных. Тогда мы хотим, чтобы существовал алгоритм такой, что иR(φ)S(φ)φR|R(φ)|poly(n)φnAA(R(φ))=S(φ)Aна входе выполняется за время .R(φ))poly(n,|S|)

При этой формализации единственными трудными случаями являются случаи, когда суперполиномиальная, но субэкспоненциальная. Остальные случаи обрабатываются следующим представлением и алгоритмом : if , тогда пусть . Если тогда пусть . просто выводит , а просто вычисляет грубой силой из . Поскольку в последнем случае это все еще выполняется за время .SRA|S|poly(n)R(φ)=(0,S)|S|2Ω(n)R(φ)=(1,φ)A(0,S)SA(1,φ)Sφ|S|=2Ω(n)O(|S|)

Однако сложные случаи вообще невозможны при этой формализации. Если бы такие и существовали, это означало бы, что колмогоровская сложность -времени каждой была ограничена , что абсурдно (поскольку почти все множества имеют максимальную колмогоровскую временную сложность, а именно ). (Здесь - время работы как функция от .)RApSpoly(n)Sp|S|pA|S|

(Обратите внимание, что если мы дополнительно требуем, чтобы выполнялся во времени , то в общем случае ответ на вопрос «нет», при условии, что : если имеет единственное решение, то решит и запустит время .Rpoly(n,|φ|)PPromiseUPφA(R(φ))φpoly(n)

Джошуа Грохов
источник
@ Джошуа: Спасибо, что посвятили немного времени, чтобы ответить на этот вопрос. Может быть, в третьей последней строке мы должны заменить на ? RA
Джорджио Камерани
@ Джошуа: Я думаю, что «проблема» с том, что она требует грубой силы. Для человека (и для алгоритма) нетривиально сразу «увидеть» удовлетворяющие задания, просто взглянув на него. R(φ)=(1,φ)
Джорджио Камерани
@Walter: Я действительно имел в виду в третьей до последней строки. R
Джошуа Грохов
@Walter: я полностью осознаю, что нарушает дух вашего вопроса, по крайней мере, частично (поскольку я делаю это только для некоторых, а не для всех формул). Это часть технической проблемы: единственный способ, которым я мог придумать, чтобы формализовать ваш вопрос, разрешает глупые вещи, подобные этой, которые частично нарушают дух вопроса. Найти формализацию, которая не позволяет этого, было бы довольно интересно. R(φ)=(1,φ)
Джошуа Грохов
@Walter, @ András Salamon: Возможно, предложение Andras о выводе элементов с полиномиальной (по ) задержкой (а не во времени ) было бы лучшей формализацией. Это, безусловно, исключает такие вещи, как , даже когда имеет экспоненциально много решений. SnO(|S|)R(φ)=(1,φ)φ
Джошуа Грохов