什么是基于规则的算法?

时间:2011-03-09 15:32:02

标签: c# algorithm

基于规则的算法的具体定义是什么?是否有框架提供基于规则的算法(MSDN)?

5 个答案:

答案 0 :(得分:2)

这可能对其他人有其他意义(你没有在这里指定很多背景)。我想到的是这样的规则:

规则1:猫是mamal

规则2:mamal有尾巴

结合规则1和2我们可以得出结论,猫有尾巴。这被称为前向链接。

google for google:

  • 专家系统
  • 列表项
  • 前进/后退chainging
  • Rete算法Windows
  • Workflow Foundation(有一个规则引擎)

但同样,这是我想到的。 “基于规则的算法”这个短语可能还有其他含义。

答案 1 :(得分:1)

如果你的意思是“关联规则学习”的算法,那么这些算法就是自动发现大数据集中变量之间有趣的关系的算法(Machine Learning中的一个典型问题)。 Wikipedia对此有一个很好的描述,包括算法列表和实现链接。不幸的是,我不知道c#中的任何具体实现。

答案 2 :(得分:1)

当我听到“基于规则的算法”时,我立即想到了一个“规则引擎”,它允许应用程序的用户通过指定应用程序执行的操作的条件和其他规则来自定义行为。

实施这些并非易事;你基本上是在创建自己的语言,由你的应用程序解释。 MS有几个工具,业务规则引擎和Windows Workflow Foundation;我可以从经验告诉你,他们都是[女性的贬义名词]。

答案 3 :(得分:1)

在像Mathematica这样的编程语言中,基于规则的程序被定义为使用替换规则(用其他东西替换表达式的一部分)而不是程序构造来做某事。 这可能非常强大,并且使一些算法更容易实现。

答案 4 :(得分:0)

我还在我的博客上发布了一篇关于什么是前向链推理引擎以及Rete作为模式匹配算法如何工作的帖子。您可以在http://www.flexrule.com/archives/forward-chain-inference-engine-with-rete/

找到更多详细信息