【问题标题】:CLIPS: how to add conditions to do-for-all-facts construct?CLIPS:如何为所有事实构造添加条件?
【发布时间】:2019-10-30 05:31:04
【问题描述】:

我有一个包含逻辑条件的 do-for-all-facts 构造来仅过滤一些事实:

(do-for-all-facts ((?hotel albergo)) 
        (eq ?hotel:localita ?current-city)
        (>= ?hotel:disponibilita (/ ?number-of-people 2))
        (<= (* ?hotel:prezzo ?current-days) ?budget-for-locality)
            (printout t (>= ?hotel:disponibilita (/ ?number-of-people 2)) crlf)
            (if (> ?hotel:disponibilita ?max)
                then
                    (bind ?most-available-hotel ?hotel)
                    (bind ?max ?hotel:disponibilita)
            )
)

似乎没有正确过滤,因为

(printout t (>= ?hotel:disponibilita (/ ?number-of-people 2)) crlf)

行打印 FALSE。如何在逻辑 AND 中评估 do-for-all-facts 构造中的所有条件?

【问题讨论】:

    标签: clips expert-system


    【解决方案1】:

    我通过在事实集查询中仅使用一个条件解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多