Переклад SAT на HornSAT


26

Чи можливо перевести булеву формулу B в еквівалентний сполучник клаусів Хорна? Стаття у Вікіпедії про HornSAT начебто означає, що вона є, але я не зміг переслідувати жодної посилання.

Зауважте, що я не маю на увазі "в поліномічний час", а скоріше "зовсім".


1
Що ви маєте на увазі під «перекладом»? Очевидно, що існують випадки SAT, які не можна записати як формулу HornSAT. Наприклад, пункт (p або q). Але, можливо, ви маєте на увазі, що ви хочете зменшити таке, щоб формула SAT вводу була задоволеною, якщо формула HornSAT на виході є задоволеною? У такому випадку, звичайно, є тривіальне зменшення, оскільки ви не піклуєтесь про ефективність ...
arnab

Я не маю на увазі вирівнюваність, оскільки це дійсно тривіально без обмежень ефективності. Я маю на увазі еквівалент, як у "мають ті самі задовольняючі призначення", коли ми розглядаємо змінні, спільні як для екземпляра SAT, так і відповідного екземпляра HornSAT (якщо нам довелося додати деякі допоміжні змінні, ми їх проектуємо). Я погоджуюся, що це не повинно бути можливим саме для прикладу (P v Q), але я не знаю, як це довести. Чи маєте ви на увазі доказний ескіз?
Євгеній Торстенсен

3
Питання все ще неоднозначне. Чи можете ви пояснити, що ви маєте на увазі під "проектуванням їх"? Ви маєте на увазі "присвоєння A задовольняє екземпляр SAT F, якщо є призначення B допоміжним змінним таким чином, що (A, B) задовольняє екземпляр HornSAT F '"? Якщо так, то я думаю, що ви можете це зробити, просто використовуючи P-повноту HornSAT.
Райан Вільямс

Відповіді:


24

Ні. Зв'язки застережень Рога допускають, щонайменше, моделі Хербранда, у яких диз'юнкції позитивних літералів відсутні. Ср. Ллойд, 1987, Основи логічного програмування .

Найменше моделі Herbrand мають властивість, що вони перебувають у перетинах усіх задовольняючих. Моделями Гербранда для є { { a } , { b } , { a , b } } , які не містять його перетину, тому, як говорить арнаб, ( a b ) є прикладом формули який не може бути виражений сполученням ріжкових клауз.(ab){{a},{b},{a,b}}(ab)

Неправильна відповідь перезаписана


Розумний, але пункт -a_1 & ... & -a_n -> # не є клаксом Horn.
Євгеній Торстенсен

@Evgenij: Це так.
Раду ГРИГо

4
Застереження про ріг - це диз'юнкція буквалів з щонайменше одним позитивним буквальним. Перекладаючи сказане на диз'юнкцію літералів, ми отримуємо a_1 v ... v a_n, при цьому всі літерали позитивні. Вищенаведений пункт є подвійним Хорном, але це не допомагає моїм інтересам.
Євгеній Торстенсен

@rgrig: Ні, я розгубився. @Evgenij: Відповідь виправлена.
Чарльз Стюарт

5

Вирівняність може бути досягнута наступним чином (скорочення від 2SAT до HornSAT). Отже можна таким чином звести до формули Горна. Дякую Джошуа Горхову за те, що він вказав на це зменшення.(pq)

Введення: Формула 2-SAT , з пунктами C 1 , ..., C k на змінних x 1 , ..., x n .ϕC1Ckx1xn

Побудуйте формулу Горна таким чином:Q

Буде 4 ( n вибрати 2 ) + 2 n + 1 нових змінних, по одній для всіх можливих пропозицій 2-cnf на×n2+2n+1 змінних з не більше 2 літералів (не тількив С I положень в ф ) - цетому числі окремих статей і порожній п .. новий зміннийвідповідна п D буде позначати г D .xCiϕDzD

4 ( n вибрати 2 ) походить від того, що кожна пара ( x i , x j ) породжує чотири 2-cnf пропозиції. 2 п виходить з того , що кожна х я можу створити 2 одиниці положення. І, нарешті, "один" походить із порожнього пункту .. Отже, загальна кількість можливих 2-cnf-пропозицій становить = 4 × ( n виберіть 2 ) + 2 n + 1 .×n2(xi, xj)2nxi=×n2+2n+1

Якщо 2-cnf пункт випливає з двох інших 2-cnf пунктів D і E одним кроком роздільної здатності, то додаємо до Q додаток Horn ( z Dz Ez F ). Знову робимо це для всіх можливих пропозицій 2-cnf - всі 4 × (FDE(zDzEzF)Q× вибрати 2 ) + 2 п + 1 з них - не тількив с я .n2+2n+1Ci

Потім ми додамо блок пункти до Q , для кожного п З я з'являтимуться у вхідній ф ... Нарешті, ми додамо пункт блоку ( ¬ г е т р т у ) на Q .zCiQCiϕ(¬zempty)Q

Формула Горна тепер завершена. Зауважте, що змінні, які використовуються в Q , повністю відрізняються від використаних у ϕ .QQϕ


Хтось знає алгоритм в іншому напрямку? Враховуючи формулу Горна , чи існує метод отримання еквівалентного виразу 2SAT (2CNF) ϕ 2 , так що ϕ 1 є задоволеним тоді і лише тоді, коли ϕϕ1ϕ2ϕ1 є? Використовуючи той самий набір змінних, або використовуючи додаткові змінні, або використовуючи зовсім інший набір змінних (як це зроблено у вищевказаній відповіді)? Або доказ того, що це неможливо? ϕ2
Мартін Сеймур

2

Я не думаю, що це можливо. Наприклад, немає жодного способу записати як сполучник ріжкових застережень, оскільки ϕ лише заперечує єдине призначення істини, а саме 0011. Будь-яке застереження про ріг з меншою ніж 4 літералі заборонили б більше одного присвоєння істини, а статті рогів із 4 буквами можуть заборонити присвоєння правди не більше ніж одному 0.ϕ=(X1X2¬X3¬X4)ϕ

Редагувати: на жаль, на це вже не було відповіді

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.