Answers:
0-1 ILP公式如下:
是否存在向量,但受约束:
x的域:
首先归结为电路坐:
从第一行开始,创建一个用于表示每个位的布尔变量,以及一个用于布尔变量。然后为变量。进行加法处理(选择您喜欢的方法)以增加行数。
然后进行比较,声明总和小于。
将这两个电路转换为CNF,填充变量和因为它们已给出。
对所有行重复上述操作,但是在它们之间重用变量。
最终的CNF将包含所有约束。
这是对已经回答并接受的问题的一种坏答案,但我想指出的是,确实有更简单的方法。
考虑您具有以下不平等之一:
您可以轻松地针对此不等式测试所有无向量: 1,1,1,和 1,0,1都可以。
第一个向量表示所有三个向量都不是真的:,我们可以将此向量改写为取。
这样,您可以向量形成3个子句:,和
遍历所有不平等和收集条款,您最终将获得cnf。通常,这个cnf是WAY SIMPLER,然后是一个被接受的答案。但是,成本较难进行预处理。