作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个数据库,其中有一个存储医疗状况的表和另一个存储症状的表。每种情况都有许多症状。用户将从数据库中选择一些症状,算法将找出每个条件匹配的症状数量。我想返回每个匹配条件和匹配症状的数量,例如 Cold 4/8
虽然我在计算伪代码/算法时遇到困难,但这是一个非常简单的想法。
谢谢
最佳答案
如果您必须从头开始编写代码(例如,在家庭作业中),那么您可能需要查看 Rete 算法。它将尝试帮助您进行最少数量的测试以获得给定的结论。如果你只是采用蛮力解决方案,查看一堆不同的医疗状况和每种症状的一组症状,然后滚动测试每种情况的每种症状并为其分配分数,你最终会测试很多很多相同的症状不同条件下的时间。流鼻涕、咳嗽等可能会出现在数百种症状列表中。 Rete 攻击那个并且只测试每个症状一次然后得出结论。
但是,如果您不必从头开始构建它,那么您可能想看看现成的解决方案,例如 Drools 或 Jess,它们为您提供了一个规则引擎,可以轻松构建您想要的数据库类型.他们还构建了 Rete 算法(或类似算法)以在面对潜在的大量规则时优化性能。
关于java - 从一组条件中查找选定匹配症状的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10388869/
我是一名优秀的程序员,十分优秀!