Можно ли перевести булеву формулу B в эквивалентное соединение выражений Хорна? Статья в Википедии о HornSAT, похоже, подразумевает, что это так, но я не смог найти какую-либо ссылку.
Обратите внимание, что я имею в виду не «за полиномиальное время», а скорее «вообще».
reference-request
lo.logic
sat
Евгений Торстенсен
источник
источник
Ответы:
Нет. Конъюнкции клаузор Рога допускают наименьшее количество моделей Гербранда, чего не допускают дизъюнкции положительных литералов. Ср Ллойд, 1987, Основы логического программирования .
Наименее модели Гербранда обладают свойством, что они находятся на пересечении всех получателей. Модели Эрбрановы для являются { { } , { Ь } , { , Ь } } , который не содержит его пересечение, так что, как говорит Арнаб, ( ∨ б ) является примером формулы который не может быть выражен как совокупность клаузул Рога.(a∨b) {{a},{b},{a,b}} (a∨b)
Неверный ответ перезаписан
источник
Выравнивание может быть достигнуто следующим образом (снижение с 2SAT до HornSAT). Таким образом, также может быть сведен к формуле Хорна таким образом. Спасибо Джошуа Горхову за указание на это сокращение.(p∨q)
Входные данные: формула 2-SAT с предложениями C 1 , ..., C k для переменных x 1 , ..., x n .ϕ C1 Ck x1 xn
Построим формулу Рога следующим образом:Q
Будет 4 ( n выбирать 2 ) + 2 n + 1 новых переменных, по одной на каждое возможное предложение 2-cnf для переменных x, содержащее не более 2 литералов ( не только предложения C i в ϕ ) - это в том числе единичных статей и пустой п .. новый переменный , соответствующая п D будет обозначать г D .× n 2 +2n+1 x Ci ϕ D zD
4 ( n выберите 2 ) происходит из того факта, что каждая пара ( x i , x j ) порождает четыре предложения 2-cnf. 2 п исходит из того , что каждый х я могу создать 2 единицы положения. И, наконец, «один» происходит из пустого предложения. Таким образом, общее количество возможных предложений 2-cnf равно = 4 × ( n выберите 2 ) + 2 n + 1 .× n 2 (xi, xj) 2n xi = × n 2 +2n+1
Если 2-cnf-предложение следует из двух других 2-cnf-предложений D и E на одном шаге разрешения, то мы добавляем предложение Horn ( z D ∧ z E → z F ) к Q ... Снова, мы делаем это для всех возможных 2-CNF положений - все 4 × ( п выбрать 2 ) + 2 п + 1 из них - не только в с я .F D E (zD∧zE→zF) Q × n 2 +2n+1 Ci
Затем мы добавим блок пункты к Q , для каждого п С я появляющимся во входной ф ... Наконец, мы добавим пункт блока ( ¬ г е т р т у ) на Q .zCi Q Ci ϕ (¬zempty) Q
Формула Рога теперь завершена. Заметим, что переменные, используемые в Q , полностью отличаются от переменных, используемых в ϕ .Q Q ϕ
источник
Я не думаю, что это возможно. Там нет никакого способа, например, для записи в виде конъюнкции роговых положений , поскольку ф только Outlaws одной уступки истины, а именно 0011. Любого положения рога с менее чем 4 литерала будут запрещать более 1 присваивания правды, а клаксоны с 4 литералами могут ставить вне закона только правду с максимум одним 0.ϕ=(X1∨X2∨¬X3∨¬X4) ϕ
Редактировать: ой не заметил, что на этот вопрос уже ответили
источник