专家系统是人工智能的一个分支。这些系统试图通过一套规则来获取专家的知识。大多数规则都是用自然语言表述的。但是,它们需要由规则引擎来解释,因此它们是经典的if-然后-否则形式的语句。
IF
THEN
ELSE
这个专门的专家系统将保存药物和病人。每条规则都根据病人的属性给出建议,这些属性存储在数据库中。
例如:
IF (PatientWeight < 50 AND PatientSex = Male AND DaysInTreatment = 0)
THEN SUBSTANCE_X = 10
IF (PatientWeight < 50 AND PatientSex = Male AND DaysInTreatment > 0)
THEN SUBSTANCE_X = 20 + DaysInTreatment *5
我从来没有设计过这样的系统。你能给我一些开始阅读的指点吗?或者有什么建议吗?
发布于 2012-05-23 12:47:31
在阅读了FrustratedWithFormsDesigner的答案之后,我决定使用可执行脚本方法。
专家系统由以下部分组成:
我决定使用powershell引擎作为推理引擎。因此,知识库中的所有规则都是powershell脚本。推理机提供,病人的细节,脚本和输出。
我的GUI显示脚本。允许用户测试、更新脚本。
我认为,对于基于任意规则的办法,只有合理的办法。我之所以选择这样做,是因为用户更有可能想要改变规则。
以下部分不涉及数据库设计问题,因此不完全涉及这个问题。
由于以下原因,我决定使用powershell:
如果项目的编程语言是java,我会选择groovy。
发布于 2012-05-08 21:22:43
在大学里,我参加了与我们一起工作的课程,然后用Prolog构建了我们自己的(非常简单的)专家系统。我想不出一个RDBMS实现会很容易,也不会很优雅。它们中的大多数可能最终会成为一个EAV模式(这是可行的--我见过并使用过这样的系统,但它们并不漂亮)。谷歌"prolog专家系统“(Prolog expert System)的第一次点击之一是:http://www.amzi.com/ExpertSystemsInProlog/看起来很长,但可能是一个好资源。
https://dba.stackexchange.com/questions/17605
复制相似问题