准备开发一个专家系统,经过前后比较和思考后决定使用Java+Jess进行开发。因此步入的学习Jess的道路。
1、Jess简介
Jess是用Java编写的专家系统开发平台。以CLIPS专家系统外壳为基础。支持正向和逆向推理,可以在系统环境下直接调用Java的类库等。
优点:推理机开放,推理能力可根据不同的规则系统进行扩展;
基于Jess开发的专家系统有良好的移植性、嵌入性、效率高;
Java的多线程机制使Jess可以与其他程序并发执行,同步机制保证了对共享数据的正确操作;
通过使用不同的线程完成特定的行为,较容易地实现网络上的实时交互行为。
缺点:为前向推理系统,Jess用空间换时间,推理上会产生大量的中间数据,空间效率很低;
同时,Jess是通用推理引擎,无法提供针对各种具体领域的优化能力,效率难以优化。
2、Jess基本组成
采用产生式规则作为基本的知识表示模式。
核心有事实库、规则库和推理机三个部分组成。
3、Jess中的Rete匹配算法
Jess采用Rete匹配算法。
Rete匹配算法具有时间冗余性和结构相似性两个特点,可以减少匹配次数,提高效率。Rete匹配算法是以空间换取时间的算法,使用时要考虑内存的消耗。