目录
前言 1
第一章人工智能概述 2
1.1 人工智能定义 2
1.2 人工智能应用领域 2
1.3人工智能的研究方法 2
第二章 专家系统理论 4
2.1 专家系统的定义 4
2.2 专家系统的产生和发展 4
2.3 专家系统特点 5
2.4 专家系统的结构和工作原理 6
2.4.1专家系统的结构 6
2.4.2专家系统的工作原理 7
2.5 专家系统的建立 9
2.5.1 专家系统求解的问题 9
2.5.2 专家系统开发步骤 9
第三章 糖尿病知识库设计 10
3.1糖尿病基础知识 10
3.2 糖尿病专家诊断标准(知识库的设计) 12
3.2.1 糖尿病确诊树 12
3.2.2 糖尿病分型树 12
3.2.2 糖尿病分型树 13
3.2.3 糖尿病急性诊断 14
3.2.4 糖尿病慢性诊断 15
3.3二型糖尿病治疗方案 16
第四章 系统分析 17
4.1系统目标 17
4.2 系统需求分析 17
4.3 系统功能结构设计 17
4.4设计思想 18
4.5 开发环境介绍 19
4.5.1总体开发环境 19
4.5.2 开发工具简介 19
4.6 数据库设计 20
4.7数据库连接 20
4.7.1程序设计时与数据库的连接 20
4.7.2程序运行时与数据库的连接 21
第五章 关键模块代码设计 22
5.1 应用程序对象设计 22
5.2 主界面设计 23
5.3 糖尿病初步诊断窗口设计 25
5.4 糖尿病慢性诊断窗口 31
5.5 糖尿病预防模块 31
5.5 糖尿病预防模块 32
5.6 糖尿病治疗模块 32
5.7 血糖检测模块 33
第六章 系统的编译和发布 34
6.1 创建工程对象 34
6.2 编译生成和测试 34
6.3 发布 35
第七章 结 论 36
致 谢 37
参考文献 38
附 录 39
第七章 结 论
l 总结
专家系统是人工智能的一个分支,具有极强的应用性。由于对人工只能这门较为复杂学科的挑战,和对医学领域的兴趣,这次毕业设计课题,我选择的是糖尿病专家系统。通过一个学期的学习和实践,我阅读了大量有关人工只能和专家系统的书籍,基本掌握了专家系统的基本理论、基本设计方法,通过担任知识专家的指导老师的合作, 从大量的糖尿病诊断知识,预防知识,中提取精华,建立知识库,采取软件工程的方法和专家系统的设计原则进行系统分析和设计,实现推理机,完成人机交互界面。
在设计过程中,遇到许多的难题,比如:如何进行正确糖尿病诊断,如何进行BAYES概率推理,在各种医学数值下,如何取的让普通用户都能看懂的表达形式。还有如何使专家系统功能更加完善,让患者使用起来更为方便上都下了很大的工夫去改进,去克服。
l 不足之处
由于时间的限制,本系统仍有许多地方值得改进。
1. 知识库嵌套在程序中
专家系统的设计原理是程序与知识库分开,通过程序调用知识库,并能修改知识库的内容,由于本人第一次尝试专家系统设计,对如何分开知识库和程序并不十分了解,而且知识库的更新也仅限于一小部分程序中,由于我以后的研究方向可能是人工智能方向,所以一定能在未来内学到更深入的方法。
2. 实现过程原始化
在编写代码的过程中,发现大部分代码都是IF...ELSE...语句不免让人觉得过于简单,现代专家系统绝大部分采用了神经网络和BAYES模糊推理的方法,在这个方面可以加以改进。
3. 知识提取不全面
在提取糖尿病知识中,对医学知识的缺乏,无法完整的提取出推理策略,比如慢性病诊断中,只是简单的推理有某些症状就能得出某个结论。