【发布时间】:2018-04-09 22:49:46
【问题描述】:
您好,我正在使用 FuzzyClips v6.10.d,我正在阅读有关对模糊变量使用修饰符并尝试过的信息:
(deftemplate temperature
0.0 1.0 ;
(
(cold (z 0.1 0.2))
(warm(PI 0.3 0.6))
(hot (s 0.7 0.9))
(hyperhot very hot)
)
)
(deftemplate temp-day
(slot day (type SYMBOL) (allowed-symbols Monday Thursday Friday Sunday))
(slot day-temp (type FUZZY-VALUE temperature))
)
(deffacts fuzzyfacts
(temp-day (day Sunday) (day-temp warm))
(temp-day (day Monday) (day-temp cold))
(temp-day (day Thursday) (day-temp hot))
(temp-day (day Friday) (day-temp hyperhot))
)
(defrule select
(temp-day (day ?x) (day-temp hyperhot))
=>
(assert(was-so-hyper-hot ?x))
)
我只是希望只得到天气过热的日子(星期五),但我得到了:
所以问题是:为什么如果我按过热温度过滤,Clips 又会给我几天不同的温度?我知道它们之间的 CF 是不同的(1.00、0.88 和 0.12),但我希望 Clips 甚至不会考虑温度与超高温不同的事实。我是否误解了如何使用修饰符过滤变量?谢谢!
【问题讨论】:
标签: clips fuzzy-logic