【问题标题】:Setof: Is there a way for early stopping?Setof:有没有办法提前停止?
【发布时间】:2020-05-05 19:41:13
【问题描述】:

我想找出很多时间表的最小错误数。我制定了一个时间表,记录了它的错误,将所有错误存储在一个列表中并获取第一个元素(MinError)。 MinError >=0,所以我想知道当随机计划得到 Errors=0 并返回 MinError 时是否可以停止此过程。

setof(Errors,A^B^C^(schedule(A,B,C),schedule_errors(A,B,C,Errors)),[MinError|_]).

【问题讨论】:

    标签: prolog prolog-setof


    【解决方案1】:

    当你找到你的最小值时,你可以使用 if-then-else 来停止处理进一步的解决方案:

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

    【讨论】:

      猜你喜欢
      • 2013-12-25
      • 1970-01-01
      • 1970-01-01
      • 2019-06-03
      • 2021-01-14
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 2019-03-01
      相关资源
      最近更新 更多