论坛首页 Java企业应用论坛

规则引擎

浏览 115250 次
锁定老帖子 主题:规则引擎
该帖已经被评为精华帖
作者 正文
   发表时间:2004-09-29  
最好的rule engine就是prolog了!!

谁把turbo prolog的语法改人性点,用javacc写个编译器就万事ok了!
0 请登录后投票
   发表时间:2004-09-29  
alin_ass 写道
最好的rule engine就是prolog了!!

谁把turbo prolog的语法改人性点,用javacc写个编译器就万事ok了!

用了Haskell,以后觉得prolog那种风格实在不能忍受,哦当然就是那个Cut。
0 请登录后投票
   发表时间:2004-09-29  
是这里吧
先去看看http://www.haskell.org/
0 请登录后投票
   发表时间:2004-09-29  
我怎么看见了一个类似python的大家伙

请问在haskell里怎么实现下面的prolog语句?(实在是想象不出谓词演算还有比prolog更简洁的语法了)

DOMAINS
	name = symbol
PREDICATES
	like(name, name);.
	friend(name, name);.
GOAL
	friend(john,Y);,write(Y," is john's friend.");.
CLAUSES
	like(bell,sports);.
	like(mary,music);.
	like(mary,sports);.
	like(jane,smith);.
	friend(john,X);:-like(X,sports);,like(X,music);.
0 请登录后投票
   发表时间:2004-09-29  
alin_ass 写道
最好的rule engine就是prolog了!!

谁把turbo prolog的语法改人性点,用javacc写个编译器就万事ok了!


prolog是基于Markov算法的。Markov算法可以作为规则引擎的基本准则,但是如果系统中存在着大量的规则,那么效率就非常低了。解决这个问题目前最好的算法就是Rete,后来是Rete2,这不是你玩玩javacc就玩得出来的。
0 请登录后投票
   发表时间:2004-09-29  
想讨论修改prolog的语法能不能满足大家的需要,如果简单明了就可以考虑编译器,再考虑优化算法
0 请登录后投票
   发表时间:2004-09-29  
potian 写道
alin_ass 写道
最好的rule engine就是prolog了!!

谁把turbo prolog的语法改人性点,用javacc写个编译器就万事ok了!


prolog是基于Markov算法的。Markov算法可以作为规则引擎的基本准则,但是如果系统中存在着大量的规则,那么效率就非常低了。解决这个问题目前最好的算法就是Rete,后来是Rete2,这不是你玩玩javacc就玩得出来的。


Rete的Java RULE ENgine蛮多的(ILOG JRule,JESS),基于Rete2的有啥具体产品伐?
0 请登录后投票
   发表时间:2004-09-29  
alin_ass 写道
想讨论修改prolog的语法能不能满足大家的需要,如果简单明了就可以考虑编译器,再考虑优化算法

简单看了一下一些对rule engine的介绍。
似乎基于prolog的engine是有的。不过rete是所谓forward-chaining,并且好像速度较快。

但是,最关心的还是更高层次的语义问题。到底为什么需要prolog这种logic language? 为什么haskell这种functional的不行呢?
谁能举出一个实际点的需要rule的例子来呢?
0 请登录后投票
   发表时间:2004-09-29  
ajoo 写道
alin_ass 写道
想讨论修改prolog的语法能不能满足大家的需要,如果简单明了就可以考虑编译器,再考虑优化算法

简单看了一下一些对rule engine的介绍。
似乎基于prolog的engine是有的。不过rete是所谓forward-chaining,并且好像速度较快。

但是,最关心的还是更高层次的语义问题。到底为什么需要prolog这种logic language? 为什么haskell这种functional的不行呢?
谁能举出一个实际点的需要rule的例子来呢?

Prolog 是delcaretive的,所有的程序都有推理机做掉。Haskell的坏处是没有推理引擎,但是优点是能够用各种Combinator将各种小规则组合成一个大规则。
0 请登录后投票
   发表时间:2004-09-29  
它们都是declarative的。

我在想,需要推理的东西比不需要推理的东西复杂得多。
所以prolog相对于haskell又显得象把牛刀了。

那么什么业务规则需要这种逻辑推理能力呢?

我在做我的valiation配置的时候可以看到对combinator的需要,但是至今没有看到对推理的需要。

强烈呼唤用过规则引擎的给个具体实例!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics