Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android的Java规则引擎_Java_Android_Rule Engine_Expert System - Fatal编程技术网

Android的Java规则引擎

Android的Java规则引擎,java,android,rule-engine,expert-system,Java,Android,Rule Engine,Expert System,我正在尝试开发一个Android应用程序,可以诊断狗的疾病。我已经有了由60条规则组成的知识库,可以诊断15种疾病,最小的规则大约有10种情况 我搜索了如何解决这个问题,我认为使用一个与反向链接一起工作的规则引擎是一个不错的选择。问题是每个规则引擎,似乎只有在我在触发规则之前提供所有输入时才能工作 因为它意味着诊断疾病,我认为方法是,向用户提问,等待答案,然后验证规则,排除与给定条件不匹配的规则。然后根据剩下的规则询问下一个条件 示例:规则1 if puppy & male &

我正在尝试开发一个Android应用程序,可以诊断狗的疾病。我已经有了由60条规则组成的知识库,可以诊断15种疾病,最小的规则大约有10种情况

我搜索了如何解决这个问题,我认为使用一个与反向链接一起工作的规则引擎是一个不错的选择。问题是每个规则引擎,似乎只有在我在触发规则之前提供所有输入时才能工作

因为它意味着诊断疾病,我认为方法是,向用户提问,等待答案,然后验证规则,排除与给定条件不匹配的规则。然后根据剩下的规则询问下一个条件

示例:规则1

if puppy & male & scratching himself... then disease1
问题是这样的

1:The dog is a puppy?
2:The dog is male?
3:The dog is scratching himself?

使用哪种规则引擎,我可以拥有这种行为?

您需要一个调查框架或组件作为主要基础,而不是规则引擎。或者,您可能需要使用规则引擎评估一个或多个规则,以决定下一步加载哪个问题或问题组。

Drool在Android上运行良好,但仅限于Android KitKat 4.4版本。社区尚未支持ART之后的更高版本的Android。

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-问题是“哪种基于规则的工具”。答案是“流口水”。我可以删除链接,如果你想。问题中没有任何部分需要“如何”或示例,否则我会给出。@Christine你有示例或教程吗?我阅读了文档,并试图编译示例,但未能成功。我已经有一段时间没有使用Drools了,但我确实让它在Android上运行。我目前不在可以访问旧代码的地方。如果我找到了,我会告诉你的。Drools有许多组件:它有一个推理机,它有创建规则的工具。这是您需要的推理引擎。谢谢,我尝试了一个使用Drools 5.1的CDSS示例,并且成功了,但我仍在尝试找出如何让推理向用户询问一个事实来评估规则。比如,为了评估规则1,我需要知道狗是否是小狗,但我还没有这些信息,所以向用户询问这些信息。然后,要评估规则1的第二个条件,必须知道它是男性还是女性,但也没有此信息,因此询问用户。等等。我认为这是一个合理的问题。如果你在谷歌上搜索Java中的规则引擎,你会得到大量的点击,但是大多数工具已经不存在或者已经很旧了。我可以想象你会从那些有Java基于规则系统经验的人那里得到一个起点。“诊断狗的疾病”听起来像是基于规则的系统的经典案例。自从我进入目前的工作以来,我已经研究了很多这个主题,还试着使用和测试一些规则引擎,比如移动环境中的Drools。由于内存、APK大小和电池限制,再加上JVM Harmony nature在NoClassDefError方面遇到的问题,我最终为自己构建了一个粗糙而原始的正向引擎,只需20k和开源It就可以了!