我正在尝试编写一个程序,该程序将根据用户指定的一组偏好向用户推荐汽车。我遇到了一个问题,即我不确定如何将用户的输入与我存储为事实(汽车)的模糊值进行比较。这类似于我的代码。希望您能看到我正在尝试做的事情。
(defrule determine-budget
(not (cost ?))
=>
(printout t "What is your budget? (integer from 0-100000)")
(bind ?response (read))
(assert (cost ?response)))
(defrule fuzzify-cost
(cost ?p)
=>
(assert (fcost (?p 0) (?p 1) (?p 0))))
(defrule find-car
(fcost ?c)
(car (name ?id) (cost ?c))
=>
(printout t crlf "Your best match is a(n) " ?id "!" crlf))
编辑:我想我实际上是在尝试寻找一个包含用户输入的明晰值的模糊值?我只是不确定该怎么做。 编辑2.0:我决定只提示用户输入语言。但是,我仍然不知道如何使用它来检查成员身份,因为字符串似乎不起作用。