所以我有一个cnf,以及两个变量K和C的列表。 在将变量发送到sat-solver之前,K的变量作为单位子句添加到cnf(取消或不取决于布尔数组)。当sat-solver返回模型时,我只关心C中也会出现的变量,并且模型中的所有其他变量都将被丢弃。
由于要重复运行cnf(将K中的不同变量设置为true或false),花费几个小时来简化cnf并删除不必要的变量是值得的(不必要的是任何变量都不在K或C)如果它意味着每次要解决时刮几分钟。
我的问题是,我是否可以使用this pdf或this bloggpost中描述的分辨率变量消除来消除某些变量,只要我不消除K或C中出现的任何变量或者,这是否会改变C中变量的结果模型?