Prolog 塞托夫:有办法早点停车吗?

Prolog 塞托夫:有办法早点停车吗?,prolog,prolog-setof,Prolog,Prolog Setof,我想找出许多计划的最小错误数。我生成一个计划,获取它的错误,将所有错误存储在一个列表中,并获取第一个元素(mineror)。MinError为>=0,因此我想知道当随机计划获取错误=0并返回MinError时,是否可以停止此过程 setof(Errors,A^B^C^(schedule(A,B,C),schedule_Errors(A,B,C,Errors)),[mineror |)]。当您发现最小值时,您可以使用if-then-else和cut停止处理进一步的解决方案: setof(Error

我想找出许多计划的最小错误数。我生成一个计划,获取它的错误,将所有错误存储在一个列表中,并获取第一个元素(mineror)。MinError为>=0,因此我想知道当随机计划获取错误=0并返回MinError时,是否可以停止此过程


setof(Errors,A^B^C^(schedule(A,B,C),schedule_Errors(A,B,C,Errors)),[mineror |)]。

当您发现最小值时,您可以使用if-then-else和cut停止处理进一步的解决方案:

setof(Errors, 
      A^B^C^(
             schedule(A,B,C),
             schedule_errors(A,B,C,Errors),
             (Errors=0 -> ! ; true)
            ), 
      [MinError|_]).