首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >专家系统的数据库设计建议.基于规则的系统

专家系统的数据库设计建议.基于规则的系统
EN

Database Administration用户
提问于 2012-05-08 21:11:32
回答 2查看 1.6K关注 0票数 0

专家系统是人工智能的一个分支。这些系统试图通过一套规则来获取专家的知识。大多数规则都是用自然语言表述的。但是,它们需要由规则引擎来解释,因此它们是经典的if-然后-否则形式的语句。

代码语言:javascript
运行
复制
IF 

THEN

ELSE

这个专门的专家系统将保存药物和病人。每条规则都根据病人的属性给出建议,这些属性存储在数据库中。

例如:

代码语言:javascript
运行
复制
 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

我从来没有设计过这样的系统。你能给我一些开始阅读的指点吗?或者有什么建议吗?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2012-05-23 12:47:31

在阅读了FrustratedWithFormsDesigner的答案之后,我决定使用可执行脚本方法。

专家系统由以下部分组成:

  • 规则库或知识库
  • 推理机
  • 用户界面

我决定使用powershell引擎作为推理引擎。因此,知识库中的所有规则都是powershell脚本。推理机提供,病人的细节,脚本和输出。

我的GUI显示脚本。允许用户测试、更新脚本。

我认为,对于基于任意规则的办法,只有合理的办法。我之所以选择这样做,是因为用户更有可能想要改变规则。

以下部分不涉及数据库设计问题,因此不完全涉及这个问题。

由于以下原因,我决定使用powershell:

  • 它是脚本语言。
  • 它很容易嵌入到项目的编程语言C#.Net中
  • 它已经安装在许多windows计算机中。

如果项目的编程语言是java,我会选择groovy。

票数 3
EN

Database Administration用户

发布于 2012-05-08 21:22:43

在大学里,我参加了与我们一起工作的课程,然后用Prolog构建了我们自己的(非常简单的)专家系统。我想不出一个RDBMS实现会很容易,也不会很优雅。它们中的大多数可能最终会成为一个EAV模式(这是可行的--我见过并使用过这样的系统,但它们并不漂亮)。谷歌"prolog专家系统“(Prolog expert System)的第一次点击之一是:http://www.amzi.com/ExpertSystemsInProlog/看起来很长,但可能是一个好资源。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/17605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档