【问题标题】:How to set customized parameters to D3WEB in expert system?如何在专家系统中为 D3WEB 设置自定义参数?
【发布时间】:2017-11-03 22:14:51
【问题描述】:

我正在使用 d3web 开发一个专家系统。在我的 java 应用程序中确定了一组参数。如何在 d3web 之外设置参数?有这么多参数。是否可以将它们保存在xml文件中?

问候, 杨

【问题讨论】:

  • 代码示例会有所帮助。

标签: expert-system d3web


【解决方案1】:

所以您在 API 级别使用 d3web 并希望为您的知识库中的变量设置大量值?此处主要描述了如何执行此操作:

https://www.d3web.de/Wiki.jsp?page=How-To%20Create%20a%20Session

查看有关在会话中输入事实的部分。基本上,对于要添加到 d3web 会话中的每个值,您使用 FactFactory 创建一个事实,然后通过 #addValueFact(fact) 将其添加到会话的黑板上 文档页面上的示例甚至不是最方便的,您还可以例如执行以下操作

Fact fact = FactFactory.createUserEnteredFact(kb, "temperature", 25);
session.getBlackboard().addValueFact(fact);

如果您想在同一时刻添加大量值,也建议在一个传播窗口中执行此操作。如果您不在同一个传播窗口中提交,则会在每个新事实之后进行推理。推理可能需要很短的时间,因此如果您添加数千个值,则不需要在每个事实之后进行 if。

通过以下方式打开传播窗口:

session.getPropagationManager().openPropagation();
try {
    for (Fact fact : facts) {
        session.getBlackboard().addValueFact(fact);
    }
}
finally {
    session.getPropagationManager().commitPropagation();
}

希望这会有所帮助!

问候 阿尔布雷希特

【讨论】:

  • 非常感谢阿尔布雷希特!
  • 非常感谢您的详细解答!
猜你喜欢
  • 2018-03-05
  • 1970-01-01
  • 2017-07-08
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-08
相关资源
最近更新 更多