Усі розв'язувачі #SAT, які я знаю, наприклад, RelSat, C2D, повертають лише кількість приємних екземплярів. Але я хочу знати кожен із цих випадків?
Чи є такий вирішувач #SAT або як я повинен змінити доступний вирішувач #SAT для цього?
Дякую.
Усі розв'язувачі #SAT, які я знаю, наприклад, RelSat, C2D, повертають лише кількість приємних екземплярів. Але я хочу знати кожен із цих випадків?
Чи є такий вирішувач #SAT або як я повинен змінити доступний вирішувач #SAT для цього?
Дякую.
Відповіді:
Ви шукаєте ALL-SAT або всі рішення SAT-рішення. Це інша проблема від #SAT. Для їх підрахунку не потрібно перераховувати всі рішення.
Я не знаю про інструмент, який вирішує вашу проблему, тому що люди додають ці алгоритми поверх існуючих рішень SAT, але рідко, здається, випускають ці розширення. Нижче наведено два документи, які допоможуть вам змінити вирішувач CDCL для впровадження ALL-SAT.
Ефективні для пам’яті всі рішення Рішення SAT та його застосування до доступності , О. Грумберг, А. Шустер, А. Ядгар, FMCAD 2004
Ось недавня стаття, розміщена на arXiv.
Розширення сучасних рішень SAT для перерахунку всіх моделей , Саїд Джаббор, Лахдар Саїс, Якуб Сальхі, 2013
Ви можете спробувати зв’язатися з цими авторами для їх реалізації.
На конференції VLSI я знайшов нещодавнішу (2014 р.) Статтю про All-SAT, тому вона, безумовно, орієнтована на практичну сторону (яка, здається, співзвучна питанню ОП тут, хоч і менше, ніж у cstheory.SE загалом):
Для тих, хто не має підписки на IEEE, є безкоштовна копія на веб-сторінці Принстоняна в Принстоні . (Він використовує службу обміну файлами для зберігання / розповсюдження копій своїх робіт, і я не впевнений, наскільки стабільні ці URL-адреси, отже, це посилання на обхід.)
Суть цього документу, здається, полягає в:
Наш внесок, алгоритм Non-Disjoint-Dec, генерує надзвичайно короткі блокуючі пропозиції, які не містять жодної із мається на увазі змінних у solver. Зауважимо, що, як правило, мається на увазі більшість змінних у задовольняючому терміні. Короткі пункти блокування є дуже корисними для продуктивності вирішення, як це демонструє оцінка.
Їх реалізація базується на MiniSat. Схоже, вихідний код для їх розширення не є загальнодоступним. На жаль, це здається звичкою у галузі All-SAT, тому документи в цій області, які містять експериментальні результати, просто встановлюють якийсь більш-менш солом’яний простіший алгоритм, який можна обіграти, і його рідко можна порівняти безпосередньо (з точки зору експериментального результати) з будь-яким іншим опублікованим алгоритмом для All-SAT. Доповідь Jabbour et al. згаданий Віджай Д також є таким видом.
Як я не бачу, що це згадується в іншій відповіді (але лише в коментарі Андраша Саламона), [досить популярна] техніка блокування блокувань була введена в: