本机环境:
OS:WindowsXP+SP1
JDK:1.4.2_04
基于规则的专家系统(RBES)
专家系统是人工智能的一个分支,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。专家系统有很多分类:神经网络、基于案例推理和基于规则系统等。
规则引擎简介
和人类的思维相对应,规则引擎存在两者推理方式:演绎法(Forward-Chaining)和归纳法(Backward-Chaining)。演绎法从一个初始的事实出发,不断地应用规则得出结论(或执行指定的动作)。而归纳法则是从假设出发,不断地寻找符合假设的事实。
Java规则引擎起源于基于规则的专家系统,将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。Java规则引擎接受数据输入,解释业务规则,并根据规则作出业务决策。从这个意义上来说,它是软件方法学在"关注点分离"上的一个重要的进展。
JSR 94:Java规则引擎API
基于规则编程是一种声明式的编程技术,这种技术让你可以使用试探性的规则而不是过程性的指令来解决问题。规则引擎是一个软件模块,它决定了如何将规则作用于推理数据。当需要在大量的数据上应用复杂的规则时,规则引擎技术特别有用。
Java规则引擎API由javax.rules包定义,是访问规则引擎的标准企业级API。Java规则引擎API允许客户程序使用统一的方式和不同厂商的规则引擎产品交互,就像使用JDBC编写独立于厂商访问不同的数据库产品一样。Java规则引擎API包括创建和管理规则集合的机制,在规则集中添加,删除和修改对象的机制,以及初始化,重置和执行规则引擎的机制。值得注意的是,JSR94只是一组规范,各个规则引擎厂商可以在规范的基础上实现具体的规则引擎,从而保证不同厂商产品的兼容性和在其上开发的产品的可移植性。
JSR 94下载过程
1.进入JSR94工作组页面:
http://jcp.org/en/jsr/detail?id=94
2.选择Final Release:
3.点击“Download”:
4.选择“Accept”,Continue:
5.点击下载zip文件:
6.下载完成后,解压得到:
7.应用JSR94-API可以实现具体的规则引擎,见后续文章。