文章目录
2 Constraint satisfaction problems: examples
2.6 Constrained optimization problems
- Q: 叙述背包问题的约束和objective function
A: 约束: ∑ a i x i ≤ v \sum a_i x_i\le v ∑aixi≤v,其中 a i a_i ai是“重量”。目标函数: ∑ b i x i \sum b_ix_i ∑bixi,其中 b i b_i bi是“价值”。 - Q: 为什么硬币问题中要引入600个变量?
A: 本质是用枚举把 ∀ i ∃ x j \forall i \exists x_j ∀i∃xj中的存在量词(不好求解)转化成实实在在存在的594个变量。虽然变量数量多了,但是容易求解。
参考名词:“构造性数学” - Q: Golomb Ruler问题中, x j − x i ≠ x l − x k x_j-x_i\ne x_l-x_k xj−xi=xl−xk for all different pairs ( i , j ) (i,j) (i,j) and ( k , l ) (k,l) (k,l)有什么冗余?为什么?
A: 由于已经有 x i < x i + 1 , ∀ i ∈ { 1 , ⋯ , m − 1 } x_i<x_{i+1},\forall i\in\{1,\cdots, m-1\} xi<xi+1,∀i∈{ 1,⋯,m−1},因此只需考虑disjoint pairs,即 i ≠ k , j ≠ l i\ne k,j\ne l i=k,j=l.
其实课本的“人工预剪枝”还有点太保守了,完全可以进一步剪去 i < k < l < j i<k<l<j i<k<l<j