CLIPS-规则优先级

本文介绍了CLIPS规则引擎中规则优先级的设置方法及其实现效果。通过使用(declare(salience))来指定不同规则的优先级,优先级高的规则会优先执行。当规则优先级相同时,则遵循后进先出的原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、

1、   (declare (salience20))声明了规则的优先级,数字越大优先级越高

2、 在规则同等优先级的情况下,事实按照堆栈的要求处理,后进先出。所以有:

CLIPS> (run)
third
second

二、

CLIPS> (clear)
CLIPS> (defrule first
(first first)
=>
(printout t "second" crlf))
CLIPS> (defrule second
(second second)
=>
(printout t "third" crlf))
CLIPS>  (assert (firstfirst)(second second))
<Fact-2>
CLIPS> (run)
third
second
CLIPS> (clear)
CLIPS> (defrule first
   (declare (salience 20))
   (first first)
   =>
   (printout t "second"crlf))
CLIPS> (defrule second
   (declare (salience 10))
   (second second)
   =>
   (printout t "third"crlf))
CLIPS> (run)
CLIPS> (assert (first first)(second second))
<Fact-2>
CLIPS> (run)
second

third

CLIPS>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值