Ядро Unsat в минисате - PullRequest
       41

Ядро Unsat в минисате

1 голос
/ 16 марта 2020

Есть ли какой-либо вызов API в minisat для извлечения ядра без кода или любого другого метода для того же самого.

Я хочу извлечь ядро ​​без кода при каждом вызове решателя, а затем работать с ядром без кода.

1 Ответ

1 голос
/ 18 марта 2020

MiniSat - довольно старая программа на данный момент. По крайней мере, вы должны взглянуть на одного из решателей, участвовавших в недавнем конкурсе SAT , например, Глюкоза . Соревнования требовали, чтобы решатели SAT выдавали DRAT-доказательства неудовлетворенности с 2013 года. Запустите любой решатель, который вы выберете, и пусть он сбросит свое DRAT-доказательство в proof.out. Ввести proof.out в утилиту drat-trim с опцией - c, которая создаст ядро ​​UNSAT в формате DIMACS. Т.е.

drat-trim originalproblem.cnf proof.out -c core.cnf

Обратите внимание, что вам не нужно использовать клон MiniSat; Любой современный решатель, который испускает доказательства DRAT, может получать свои доказательства в drat-trim, чтобы получить ядро ​​UNSAT.

...