Сложность вычисления четности для чтения дважды противоположной формулы КНФА (

11

В противоположной формуле CNF с двойным чтением каждая переменная появляется дважды, один раз положительный и один раз отрицательный.

Меня интересует проблема , которая заключается в вычислении четности числа удовлетворяющих назначений противоположной формуле CNF с .Rtw-Opp-CNF

Я не смог найти никаких ссылок на сложность такой проблемы. Самым близким, что мне удалось найти, является то, что версия является -complete (см. Раздел 6.3 в этой статье ).# P#Rtw-Opp-CNF#P

Заранее спасибо за вашу помощь.


Обновление 10 апреля 2016

  • В данной работе , то Проблема Показано, что -полным, однако формула получают восстановлением из не находится в КНФ, и как только вы попытаетесь преобразовать его обратно в CNF, вы получите формулу для чтения трижды.P 3 SATRtw-Opp-SATP3SAT
  • Показано, что монотонная версия является -полной в этой статье . В такой статье быстро упоминается в конце раздела 4: Valiant говорит, что он вырожден. Мне не ясно, что именно означает вырождение, и что это означает с точки зрения твердости.PRtw-Mon-CNFPRtw-Opp-CNF

Обновление 12 апреля 2016

Было бы также очень интересно узнать, изучал ли кто-нибудь всю сложность проблемы . При заданной противоположной формуле CNF с двойным чтением такая задача требует вычислить разницу между количеством удовлетворяющих назначений, для которых нечетное число переменных установлено в значение true, и числом удовлетворяющих назначений, в которых четное число переменных установлено в значение true. Я не нашел никакой литературы об этом.ΔRtw-Opp-CNF


Обновление 29 мая 2016

Как отметил Эмиль Йержабек в своем комментарии, неправда, что Валиант сказал, что проблема вырождена. Он только сказал, что более ограниченная версия такой проблемы, , является вырожденной. Между тем, я продолжаю не знать, что именно означает дегенерат, но, по крайней мере, теперь кажется очевидным, что это синоним отсутствия выразительной силы.Pl-Rtw-Opp-3CNFRtw-Opp-CNFPl-Rtw-Opp-3CNF

Джорджио Камерани
источник
TRtw-Opp-CNF такой же твердый, как ⊕Rtw-Mon-CNF. Вы можете создать гаджет отрицания: (i0 v x0 v x1) (x1 v x2) (i1 v x0 v x2). Если i0 = i1, то вес = 0 (по модулю 2). В противном случае вес = 1.
Я не могу найти сокращение от tRtw-Mon-CNF до ⊕Rtw-Opp-CNF, но я нашел полиномиальный алгоритм для решения ⊕Rtw-Opp-CNF. Так что ⊕Rtw-Opp-CNF проще.
Я не могу найти упоминание ⊕Rtw-Opp-CNF в газете Валианта. Он утверждает, что lPl-Rtw-Opp-3CNF является «вырожденным», но это включает несколько дополнительных ограничений.
Эмиль Йержабек
@ EmilJeřábek: Вы определенно правы. Я был введен в заблуждение своим незнанием значения «вырожденный» , и я применил тот же тип рассуждений, который обычно применяется при наличии результатов полноты: если определенная задача полна для некоторого класса, удаление из него ограничений, очевидно, сохраняет полноту. Даже если я до сих пор не знаю, что именно означает «вырожденный» , мне, по крайней мере, теперь ясно, что такой термин как-то является синонимом слабости (т.е. отсутствия выразительной силы), поэтому вышеупомянутые рассуждения не могут быть применены. Я исправил вопрос соответственно.
Джорджио Камерани,
1
@Maciej: Действительно? Как работает ваш полиномиальный алгоритм?
Джорджио Камерани,

Ответы:

3

Оказывается, что каждая формула с противоположным чтением имеет четное число удовлетворяющих заданий. Вот хорошее доказательство этого, хотя, возможно, можно было бы исключить теоретико-графическую терминологию.

Пусть - формула CNF с обратным чтением, дважды. Без ограничения общности ни одно предложение не содержит ни переменной, ни ее отрицания.ϕ

Рассмотрим граф которого множество вершин являются предложениями ϕ , и для каждой переменной x мы добавляем (неориентированное) ребро, которое падает на два предложения, содержащие x . Наше предположение WLOG в ϕ говорит, что этот граф не имеет самоконтролей. Кроме того, подумайте о маркировке каждого ребра переменной, определяющей его; таким образом мы можем различить параллельные ребра.Gϕxxϕ

Ориентации представляет собой ориентированный граф, ребра которого образованы путем присвоения направление каждого ребра в G . Назовем ориентацию G допустимой, если каждая вершина G имеет исходящее ребро. Легко видеть , что удовлетворяющие присвоения ф в взаимно однозначном соответствии с допустимыми ориентациями G .GGG GϕG

Теперь я утверждаю, что число допустимых ориентаций группы четно. Аргумент «инволюция»: Я построить отображение Ф со следующими свойствами:GΦ

  1. полностью определено (каждая допустимая ориентация где-то отображается)Φ
  2. отправляет допустимые ориентации в допустимые ориентацииΦ
  3. - инволюция ( Φ Φ - тождество)ΦΦΦ
  4. не имеет фиксированных точекΦ

После того, как они установлены, мы можем наблюдать , что орбиты имеют размер 2 и разделить допустимые ориентации G . Отсюда следует, что число допустимых ориентаций четное.ΦG

Чтобы определить , пусть G - допустимая ориентация и рассмотрим разбиение G на его сильно связные компоненты. Φ затем отправляет G в ориентацию, образованную путем обращения всех ребер в сильно связанных компонентах. Свойства затем проверяются напрямую:ΦGGΦG

  1. Каждый ориентированный граф можно разбить на сильно связные компоненты.
  2. Рассмотрим «DAG сильно связных компонент» в ; назовите это фактор-граф. Заметим, что Φ ( G ) будет иметь одинаковую фактор-структуру, поскольку Φ не влияет на ребра между SCC, а сильно связанные графы остаются сильно связными при обращении всех своих ребер. Кроме того, если SCC имеет более одной вершины, то все составляющие вершины имеют входящее ребро. Если SCC имеет только одну вершину и не является источником в частном, то все его составляющие вершины имеют входящее ребро. Таким образом, чтобы показать Φ ( G )GΦ(G)ΦΦ(G)допустимо, достаточно показать, что SCC, являющиеся источниками в частном, имеют несколько вершин. Но это следует из того факта, что каждая вершина в компоненте имеет входящее ребро, которое должно исходить из другой вершины в компоненте, так как не имеет собственных петель, а компонент является источником в частном.G
  3. Это следует из того факта , что фактор - структура совпадает с фактор - структурой G .Φ(G)G
  4. По допустимости, имеет цикл и, следовательно, некоторый SCC с ребром внутри.G
Эндрю Морган
источник
Хорошее наблюдение! Более простой способ увидеть это (как вы говорите, «исключить теоретико-графическую терминологию») состоит в том, чтобы наблюдать, что если присваивание a удовлетворяет F, то присваивание a '(x) = 1-a (x) также удовлетворяет F. Это можно легко показать по индукции по числу переменных Ф.
Холф
Я не думаю, что как данность является инволюцией. Например, рассмотрим 4-элементный граф с направленными ребрами 0 1 2 0 3 1 . Это допустимая ориентация. Предположим, что его первый цикл 0 1 2 0 ; затем, после изменения этого цикла, новый цикл возникает, а именно. 0 3 1 0 . Если этот цикл упорядочен до исходного, у нас проблемы. Φ01203101200310
Эмиль Йержабек
@holf Ваше наблюдение тоже неверно. Рассмотрим CNF с оговорками , ¬ х у ¬ г и ¬ у г . Это удовлетворяется присваиванием ( 1 , 1 , 1 ) , но не ( 0 , 0 , 0 ) . x¬xy¬z¬yz(1,1,1)(0,0,0)
Эмиль Йержабек
Я думаю, что следующее определение может работать. Пусть M - множество вершин x со свойством, которое для каждого y, достижимого (направленным) путем из x , x достижимо путем из y . (Как модальный логик я бы описал это как объединение конечных кластеров транзитивного рефлексивного замыкания ориентированного графа, я не знаю, как бы это назвали теоретики графа.) Затем переверните все ребра с источником (отсюда и цель) в м . ΦMxyxxYM
Эмиль Йержабек
@ Эмиль: Ах да, ты прав. Если я правильно понимаю ваше предложение, вы говорите, разбейте ориентацию на сильно связанные компоненты и переверните края внутри компонентов. Я думаю, что это работает. Я обновлю свой ответ соответственно. Большое спасибо!!
Эндрю Морган
0

Я не уверен, что моя идея понятна, поэтому я объясню на примере Джорджио:

.(Икс1Икс2Икс3)(¬Икс1¬Икс3Икс4)(¬Икс4Икс5)(¬Икс2¬Икс5¬Икс6)

Сначала мне нужно изменить это в форме DNF:

.(Икс1Икс2Икс3)(¬Икс1¬Икс3Икс4)(¬Икс4Икс5)(¬Икс2¬Икс5¬Икс6)

Это должно дать тот же ответ. И неважно, посчитал ли я число решений по модулю 2 для этого:

= 0(Икс1Икс2Икс3)(¬Икс1¬Икс3Икс4)(¬Икс4Икс5)(¬Икс2¬Икс5¬Икс6)

или для этого:

= 1.(Икс1Икс2Икс3)(¬Икс1¬Икс3Икс4)(¬Икс4Икс5)(¬Икс2¬Икс5¬Икс6)

Поэтому я выбираю второе. У меня есть участники:

= ( x 1x 2x 3 )я0(Икс1Икс2Икс3)

= ( ¬ x 1¬ x 3x 4 )я1(¬Икс1¬Икс3Икс4)

= ( ¬ x 4x 5 )я2(¬Икс4Икс5)

= ( ¬ x 2¬ x 5¬ x 6 )я3(¬Икс2¬Икс5¬Икс6)

Сейчас я строю систему уравнений:

J0J1знак равно1

J0J3знак равно1

J0J1знак равно1

J2J3знак равно1

J3знак равно1

Эта система имеет одно решение. 1 mod 2 = 1, поэтому ответ равен 1. Но встречается только один раз. Если каждая переменная встречается два раза, то возможно иметь ответ = 1?Икс6

Маца
источник
Если мое мышление в порядке, то ответ «нет». Конечно, я предполагаю, что переменная встречается один раз в положительном и один раз в отрицании.
Мацей
Я забыл об уравнении для : j 1j 2 = 1. Но результат, если то же самое. Одно из решений: j 3 = 1, j 2 = 0, j 1 = 1, j 0 = 0.Икс4J1J2J3J2J1J0
Мацей
-1

извините за большую задержку. До сих пор, вероятно, проблема была решена. Если нет, я представлю свой полиномиальный алгоритм для решения . Сначала попробуем вычислить число решений по модулю 2 этого уравнения: f ( X )g ( X ) . Где f и g - логические функции, а X - вектор переменных. Общая часть, f ( X ) g ( X ) , встречается два раза (один раз в f (X) и один раз в g (X)). Так что по модулю 2 общая часть не важна. Мы можем вычислить количество решений по модулю 2 из f ( X )RTW-ОПП-CNFе(Икс)грамм(Икс)е(Икс)грамм(Икс)е(Икс)и число решений по модулю 2 из и затем суммируем эти результаты по модулю 2. Теперь давайте предположим, что функция представлена ​​в следующем виде:грамм(Икс)

,я0я1я2,,,яN-1

где является импликантом (я имею в виду переменные, связанные оператором AND; например: x 0x 1¬ x 2 ).яJИкс0Икс1¬Икс2

Чтобы вычислить количество решений этой функции по модулю 2, мы можем просто вычислить число решений по каждому импликанту по модулю 2 и суммировать все результаты по модулю 2. Если у нас есть вектор переменных X и в импликанте нет всех переменных из этого вектора, то мы знаем это число решений по модулю 2 для этого импликанта равно 0, потому что есть решений, где k - количество отсутствующих переменных. Если импликант имеет все переменные, то число решений равно 1 (k = 0). Таким образом, вычисляется число решений по модулю 2 из i 0i 1i 2. , , я п - 1 легко. Теперь давайте рассмотрим:2Кя0я1я2,,,яN-1

.я0я1я2,,,яN-1

Мы знаем, что . В общем случае операция OR может быть заменена на XOR каждого подмножества импликантов, связанных оператором AND. И это важный шаг: нас интересуют только те подмножества, которые:aбзнак равноaб(aб)

1) имеет все переменные,

2) каждая переменная встречается точно одна (если переменная встречается два раза, то мы имеем положительное и отрицательное значение в одном импликанте, поэтому это будет равно 0).

Икс0я0Икс0я1

J0J1знак равно1

J0J1я0я1я0J0J02L

Маца
источник
RTW-ОПП-CNF
@AndrewMorgan Но формула с уникальным предложением, содержащим все переменные ровно один раз, не будет формулой с двойным чтением. Ограничение ровно в два раза, а не максимум в два раза.
Джорджио Камерани,
Икс6(Икс1Икс2Икс3)(¬Икс1¬Икс3Икс4)(¬Икс4Икс5)(¬Икс2¬Икс5¬Икс6)Икс6
(Икс1Икс2)(Икс1¯)(Икс2¯)(Икс1Икс2)(Икс1¯Икс2¯)(Икс1)(Икс1¯)(Икс2)(Икс2¯)
@ AndrewMorgan Хорошо, теперь я вижу. Однако учтите, что и в семействе случаев, которое вы имели в виду, количество выполняемых заданий, похоже, остается четным. Вопрос, поставленный Мачей в его комментарии, оказывается сложным.
Джорджио Камерани,