2-проблема выполнимости-существует ли уникальное назначение истинности или нет

У меня проблема, которая является расширением проблемы 2-SAT. В стандартной задаче 2-SAT мы можем найти любое из назначений истинности, которое зависит от выбранного нами порядка вершин. Я хочу проверить, существует ли одно и только одно истинное назначение (т.е. только одна комбинация), для которого выражение выполнимо. Количество литералов может быть 100000. Один из способов — найти все возможные назначения истинности, а затем сравнить их, если они различны. Но проблема в том, что для каждого сравнения мне придется сравнивать 100000 значений (без литералов). Есть ли действенный способ?


person avd    schedule 03.11.2009    source источник


Ответы (1)


Федер (1994) описывает алгоритм эффективного составления списка всех решений для данного экземпляра 2-выполнимости< /а>. В статье также есть ссылки на алгоритмы для подсчета количества назначений, но вам нужно только попробовать перечислить два назначения, что может быть более эффективным.

person Martin Hock    schedule 03.11.2009
comment
Большое тебе спасибо. Можете ли вы дать мне ссылку на документ в формате pdf? - person avd; 03.11.2009
comment
Вот один для одной из счетных бумаг. cse.psu.edu/~kasivisw/2sat.pdf Веб-сайт Томаса Федера не содержит ссылки на статью 1994 года. - person Martin Hock; 03.11.2009
comment
Просто комментарий: статья, которую я вам отправил, посвящена алгоритму экспоненциального времени. Тогда я предполагаю, что вы хотите использовать алгоритм Федера, который кажется полиномиальным временем. Вы можете приобрести его здесь за 34 доллара или найти копию Algorithmica в местной исследовательской библиотеке. springerlink.com/content/j582276p06276l12 - person Martin Hock; 03.11.2009
comment
Большое спасибо за Вашу помощь. - person avd; 03.11.2009