【发布时间】: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