Setof:有提前停止的方法吗?
Setof: Is there a way for early stopping?
我想找出很多计划的最小错误数。我制定了一个计划,接受它的错误,将所有错误存储在一个列表中并获取第一个元素(MinError)。 MinError >=0,所以我想知道当随机调度得到 Errors=0 和 return MinError 时我是否可以停止这个过程。
setof(Errors,A^B^C^(schedule(A,B,C),schedule_errors(A,B,C,Errors)),[MinError|_]).
您可以使用带有切割的 if-then-else 来在找到最小值时停止处理进一步的解决方案:
setof(Errors,
A^B^C^(
schedule(A,B,C),
schedule_errors(A,B,C,Errors),
(Errors=0 -> ! ; true)
),
[MinError|_]).
我想找出很多计划的最小错误数。我制定了一个计划,接受它的错误,将所有错误存储在一个列表中并获取第一个元素(MinError)。 MinError >=0,所以我想知道当随机调度得到 Errors=0 和 return MinError 时我是否可以停止这个过程。
setof(Errors,A^B^C^(schedule(A,B,C),schedule_errors(A,B,C,Errors)),[MinError|_]).
您可以使用带有切割的 if-then-else 来在找到最小值时停止处理进一步的解决方案:
setof(Errors,
A^B^C^(
schedule(A,B,C),
schedule_errors(A,B,C,Errors),
(Errors=0 -> ! ; true)
),
[MinError|_]).