SAT формула, яка вказує, що активні булеві змінні рівно $ k $ $ N $ використовують менш ніж $ N $ -часа-$ k $ -мовини

Чи є спосіб вираження умови, що активні булеві змінні рівно $ k $ $ N $ активні без написання диз'юнкції $ N $ -силих $ k $ -мов, тобто всі можливі конфігурації змінних $ N $, де точно активні $ k $? Чи вірно це для того, щоб вказати що активні логічні змінні принаймні $ K $ $ N $?

Я усвідомлюю, що це проблема, що розглядається в теоретичній комп'ютерній науці, але я не міг знайти жодних посилань.

3
Ця відповідь також актуальна.
додано Автор Matt Refghi, джерело
По суті, ви дивитеся на $ N $ біти і намагаєтеся вирішити, чи вони складають до $ k $, тому вам потрібна лише серія схем сумнівних, які складають біти плюс схему порівняння, щоб перевірити, чи остаточна сума дорівнює $ k $ Перетворення схем CNF звичайним способом дає пропозиції $ O (N) $.
додано Автор ComputerLocus, джерело
Ті ж ситуації, крім схеми порівняння, перевіряють більше ніж за еквівалентність. Почніть з кінця MSB двох чисел, які потрібно порівнювати, і рухайте вправо, поки не знайдете біти, які не рівні. Номер з 1 біт явно перевищує число з 0 біт.
додано Автор ComputerLocus, джерело
Дякую. Я думаю, що зможу взяти його звідти. А як щодо більш активного випадку $ k $? Ви могли б реалізувати диз'юнкцію порівнянь, але має бути більш стислий варіант.
додано Автор Dale, джерело

2 Відповіді

Є багато способів. Див. Обмеження кодування 1-out-n для розв'язків SAT для збірки кількох способів та корисної довідки з додатковою інформацією.

З практичної точки зору різні схеми мають різні компроміси. Якщо ви намагаєтесь кодувати обмеження $ k $ -out-of- $ N $ у те, що ви годуєте SAT solver, ви можете спробувати кожен з різних кодів кандидатів, щоб побачити, що робить SAT solver працювати швидше; вони можуть суттєво вплинути на ефективність рішення SAT.

6
додано

Папір SAT-кодування в режимі At-Most- к Обмеження , автор Алан М. Фріш та Паул А. Джаннарос порівнює п'ять різних кодувань принаймні-k обмеження, як теоретично, так і експериментів.

Їх висновок полягає в тому, що наївне біноміальне кодування майже завжди є суб-оптимальним, тоді як чотири більш просунуті кодування вони вважають кожен краще в деяких випадках і гірше в інших, причому послідовне зустрічне кодування, згадане в коментарях, зазвичай додаючи найменшу кількість статей.

4
додано