有人知道开源专家系统吗?实际上,我对从 C# 调用它的推理引擎很感兴趣。
6 回答
其他答案中已经提到了 CLIPS 和 JESS,因此我将提供 CLIPS 与 JESS 的链接:http: //www.comp.lancs.ac.uk/~kristof/research/notes/clipsvsjess/
它写于 1999 年 6 月 4 日,当时 CLIPS 的优势显而易见。
如果您不想全部阅读,以下是结论:
第三章结论
CLIPS 和 JESS 都是在互联网上有大量支持的产品,但 CLIPS 似乎拥有更广泛的受众,可能是因为它存在的时间更长。这种年龄差异导致 CLIPS 包更加稳定和完整,而 JESS 用户仍然会遇到一些小错误。JESS 不断更新,作者 Ernest Friedman-Hill 对用户/开发人员的反馈非常敏感,并定期发布新版本和错误修复。
如今,JESS 和 CLIPS 之间的选择取决于应用程序。如果它是基于 Web 的或者应该以小程序形式存在,那么选择 JESS 是一个非常合乎逻辑的选择(甚至得到 CLIPS 的作者的支持)。对于更经典的应用程序,可能会选择CLIPS,因为它具有更稳定和支持更多的声誉。
JESS 的未来在很大程度上取决于 Web 的发展、Java 编程语言及其自身未来的稳定性。这三个条件使得 JESS 很可能会变得更流行和更频繁地使用。尤其是面向对象的可能性和易于集成到 Java 代码中,使 JESS 的未来充满希望。
另一方面,CLIPS 更有可能在新功能出现时首先实现它们,因为它仍然具有时间优势。CLIPS 还具有各种扩展和变体(例如 FuzzyCLIPS、AGENT CLIPS、DYNACLIPS、KnowExec、CAPE、PerlCLIPS、wxCLIPS 和 EHSIS 等等),这使其在支持模糊逻辑和代理等方法方面具有优势。
支持windows的操作系统的CLIPS的多功能开发环境也是一个优势,而JESS只有一个窗口,有两个按钮('clear window'和'quit'),没有菜单。图 1 和图 2 描述了这两种环境。
总而言之,CLIPS 仍然比 JESS 更完整和更稳定,但是这在未来可能会改变,因为 JESS 包正在不断改进。除此之外,JESS 还具有使用 Java 的特性,从长远来看,这可能被证明是比 CLIPS 的一大优势。
这些链接也可能感兴趣: http ://en.wikipedia.org/wiki/CLIPS
商业和免费软件专家系统外壳 http://www.kbsc.com/rulebase.html
大约一年前,我经历了同样的过程,试图为此找到一个好的 .Net 系统。我记得找到了一些不错的引擎,但它们都太笼统了,需要太多假设。
最后我发现编写自己的系统很容易做到,而且它完全按照我的意愿去做,没有任何额外的牛逼让它与一些抽象的通用引擎一起工作。
了解您的预期用途可能会有所帮助。
看看CLIPS——它是用 C 编码的。
在Wikipedia上有更多关于 CLIPS 的信息。
如果您考虑使用规则处理引擎,JBoss Rules(也称为 Drools)是我所知道的最好的。开源和免费。它是用 Java 编写的,但专为集成而设计。您可以将对象合并到组件中的规则和基于规则的应用程序中。您甚至可以即时构建或修改规则库。
AI::ExpertSystem::Advanced或AI::ExpertSystem::Simple 是 Perl 解决方案。
您可以尝试 JESS,但它是基于 Java 的。Amzilogic 也提供了一个很好的平台。