在规则中进行CLIPS事实检查

时间:2014-12-07 20:54:01

标签: clips expert-system

我正在写一个关于奶酪的专家系统。 当重置所有关于各种奶酪的事实被加载到系统中并通过询问诸如纹理气味等问题时,这将从系统中收回某些事实。

我的问题如何跟踪系统中的规则数量。我创建了一个计数,但我想知道是否有办法在运行规则时查看系统中当前的事实数量。

任何帮助都是适当的

1 个答案:

答案 0 :(得分:0)

您可以调用get-defrule-list或get-fact-list来确定系统中存在的规则/事实的数量:

CLIPS> (assert (a) (b) (c) (d))
<Fact-4>
CLIPS> (defrule x =>)
CLIPS> (defrule y =>)
CLIPS> (defrule z =>)
CLIPS> (length$ (get-defrule-list *))
3
CLIPS> (length$ (get-fact-list *))
5
CLIPS> (facts)
f-0     (initial-fact)
f-1     (a)
f-2     (b)
f-3     (c)
f-4     (d)
For a total of 5 facts.
CLIPS> (rules)
x
y
z
For a total of 3 defrules.
CLIPS>