1
4
查看
clpfd
限制
例如,使用SICStus Prolog或SWI:
示例查询及其结果: ?- time((ten_cells(Ls), labeling([ff], Ls))). 1,359,367 inferences, 0.124 CPU in 0.124 seconds (100% CPU, 10981304 Lips) Ls = [6, 2, 1, 0, 0, 0, 1, 0, 0, 0] ; 319,470 inferences, 0.028 CPU in 0.028 seconds (100% CPU, 11394678 Lips) false. 这为您提供了一个解决方案,同时也表明了它的独特性。 |
2
2
CLP(FD)规则……用简单的Prolog解决这个难题并不容易。。。
这远不如@mat解决方案有效:
count/3以一种特殊的方式起作用…它将自由变量绑定到当前限制,然后检查不再有界。 编辑 添加一个片段,片段变得非常快:
|
3
1
对不起,我无法抗拒。这个问题也可以方便地表示为混合整数规划(MIP)模型。比Prolog更像一点。
结果相同:
|
flawr · 统计列表中的出现次数 8 年前 |