我需要构建一个“基于规则”的系统,该系统可以在 C# 和 Java 中运行和开发(用于化学应用程序)。系统需要能够(通过现有库)获取对象的计算属性并根据这些值做出决策。我不确定系统会是什么样子,但规则不需要正式一致(我们使用了很多启发式方法)。规则应尽可能外部化,以便用户和开发人员可以修改它们而无需了解引擎(它应该是开源的并在两个平台上运行)。系统可能会通过一组受限的类似自然语言的命令来运行。会有一个适应的元素——可以添加新的对象(或至少是词汇)。
这并不像听起来那么麻烦——30 多年前使用 FORTRAN 取得了很大进展,但该领域已处于闲置状态。我将不胜感激我们可以尝试的方法的指针,其中输入的开销是适度的。可能有效的方法包括:
- 序言
- OWL本体
- 决策树
- 规则
- 文字游戏
编辑 问题的主要方面是找到一个基于规则的系统(Java C# 提及是次要的,只是为了防止可能会说“Windows 具有内置系统”的答案。)请不要回答转换方法Java 到 C#;我想要一种基于规则的方法 - 原则上 - 可以在任何一个上实施。到目前为止,只有一个(或两个)答案真正解决了规则方面的问题。