当列表变得比先前的答案更长时快捷执行

时间:2018-03-28 16:33:00

标签: prolog

我有一个prolog代码,基本上尝试使用许多可能的解决方案为问题生成解决方案(每个解决方案都作为项目列表返回)。由于分辨率很高并且我只对了解最有效的解决方案(即长度最短的解决方案)感兴趣,所以当新的答案变得大于或等于最小的答案时,我想快速执行。有

我会做这样的事情,但需要事先知道最大尺寸:

solve_problem_efficiently(Solutions, MaxSize) :-
    solve_problem(Solutions),
    length(Solutions),
    Length < MaxSize.

在Prolog中实现这种效果的最佳方法是什么?

0 个答案:

没有答案