【发布时间】:2021-03-01 09:46:37
【问题描述】:
我正在使用(模糊)CLIPS 6.31 版
我正在尝试为动态过程构建实时控制系统。该过程由多个电子设备监控,这些设备将数据写入文件。
我想从文件中读取数据,并根据数据做出决策。
我设想的工作流程如下:
- 读取嵌入领域知识的规则文件(rules.clp)
- 打开包含记录的测量数据的文件 (measurements.dat)
- 对于读取文件中的每一行:使用
defrule调用自定义函数来处理行数据并根据行断言事实(如果条件匹配)。 - (运行)?我不确定
run是否可以多次调用? - 进入下一行...(继续 EOF)然后关闭文件
如何使用 CLIPS 来执行此工作流程 - 无需人工干预?
【问题讨论】:
-
您是否考虑过为此使用 CLIPS API?您可以使用兼容的编程语言来读取行并将它们作为事实断言到 CLIPS 中,而不是使用 CLIPS 逻辑读取文件。通过这种方式,您可以使用 CLIPS 规则来实现推理,而 IO 和其他相关事物则以命令式编程语言处理。
-
@noxdafox 你所描述的,正是我的目标。我的想法是重写 main.c 中的
main()函数并从那里进行文件读取、事实断言等 - 但是,我还没有看到任何这样做的例子。有什么在线资源可以指导我吗? -
Advanced Programming Guide 仍然是最好的参考资料。您还可以通过其语言绑定将 CLIPS 集成到其他编程语言中。您可以查看clipspy 或clipsgo。请记住,这些绑定针对的是 CLIPS 而不是 FuzzyCLIPS,因此您可能会遇到一些挑战。
标签: clips