专家系统实验报告(MFC实现)
一个球星选择的专家系统。
学生实验报告
科目名称: 人工智能
实验项目名称: 专家系统
专业名称: 计算机科学与技术
班
学级: 计算机一班 号: 201124020105
学生姓名: 高修
教师姓名: 陈亮亮
2013年12月6日
一个球星选择的专家系统。
一、 实验名称:一个关于球星猜测的专家系统
二、 实验环境:VC++6.0
三、 实验目的与要求:
目的:
通过实现一个简单的不通用的基于回溯推理的专家系统,来理解产生式系统的推理的基本思想和过程。
要求:
1、确定推理方法(正向还是反向),并根据问题设计实现一个简单的不通用推理机(匹配、冲突消解)
2、规则库要求至少包含15条规则
3、初始事实可以任意给定,输入初始事实后能够得到推理结果
4、设计人机界面,解释模块提供查询规则的功能
5、可以不考虑知识库管理模块
6、提交实验报告
7、报告中要有推理树
专家系统结构图
四、 实验内容和程序设计思想
我利用产生式系统做了一个球星猜测系统,根据一些条件,推理出某位球星。首先,规定了一些初始事实,然后制定15条推理规则,根据规则库进行正向推理,得出结论。本次实验采用的是正向推理的方法,是从已知事实出发,通过规则库求得结论,也称为自底向上,或称为数据驱动方式。这种推理方式是正向使用原则,即问题的初始状态作为初始数据库,在仅当数据库中的事实满足某条规则的前提时,这条规则才能够被使用。程序中采用的是基于用户按照规则点击,逐步得出结果的。
一个球星选择的专家系统。
正向推理的流程图
五、 程序实现过程
初始事实:
1)金球奖热门
2)进攻风格(进攻犀利、传球精准、防守稳健)
3)地区(欧洲、南美、亚洲)
4)性格(张扬、低调)
5)特技(电梯球、各种高难度、手术刀般的传球、马赛回旋)
6)事迹(国际足联主席得罪了他、中国第二个亚洲足球先生、天体之王、打破年度进球记录、人称足坛吕布)
一个球星选择的专家系统。
规则库:
R1:IF进攻犀利 THEN 前场球员
R2:IF传球精准 THEN 中场球员
R3:IF防守稳健 THEN 后场球员
R4:IF金球奖热门 THEN 梅西、C罗、里贝里之一
R5:IF南美 AND 金球奖热门 THEN 梅西
R6:IF欧洲 AND 金球奖 THEN C罗、里贝里之一
R7:IF欧洲 AND 金球奖 AND 张扬 THEN C罗
R8:IF欧洲 AND 金球奖 AND 低调 THEN 里贝里
R9:IF欧洲AND前场球员AND电梯球AND国际足联主席得罪了他
THEN C罗
R10:IF南美AND低调AND前场球员AND打破年度进球记录THEN 梅西 R11:IF欧洲AND前场球员AND各种高难度AND人称足坛吕布THEN 伊布 R12:IF欧洲AND中场球员AND手术刀般的传球 THEN 厄齐尔
R13:IF欧洲AND中场球员AND马赛回旋THEN齐达内
R14:IF南美AND中场球员AND低调AND天体之王 THEN 孔卡
R15:IF亚洲AND后场球员 AND中国第二个亚洲足球先生 THEN 郑智
推理树(以R9为例):
一个球星选择的专家系统。
六、 程序演示结果
主界面如下:
一个球星选择的专家系统。
推理结果如下(以推理规则R9为例):
七、 程序关键代码
void CMyDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
if(m_diqu=="欧洲"&&m_jinqiu==1&&m_xingge=="张扬")
MessageBox("这位球星是C罗");
else if(m_diqu=="欧洲"&&m_jinqiu==1&&m_xingge=="低调") MessageBox("这位球星是里贝里");
else if(m_diqu=="欧洲"&&m_jinqiu==1)
MessageBox("C罗、里贝里都有可能,请输入更详细的筛选条件"); else if(m_diqu=="南美"&&m_jinqiu==1)
MessageBox("这位球星是梅西");
else if(m_jinqiu==1)
MessageBox("梅西、C罗、里贝里都是热门人选,请输入更详细的筛选条件");
else if(m_diqu=="欧洲"&&m_jingong==1&&m_teji=="电梯球
"&&m_shiji=="国际足联主席得罪了他")
一个球星选择的专家系统。
MessageBox("这位球星是C罗");
else if(m_diqu=="南美"&&m_xingge=="低调
"&&m_jingong==1&&m_shiji=="打破年度进球记录")
MessageBox("这位球星是梅西");
else if(m_diqu=="欧洲"&&m_jingong==1&&m_teji=="各种高难度"&&m_shiji=="人称足坛吕布")
MessageBox("这位球星是伊布");
else if(m_diqu=="欧洲"&&m_zhugong==1&&m_teji=="手术刀般的传球")
MessageBox("这位球星是厄齐尔");
else if(m_diqu=="亚洲"&&m_fangshou==1&&m_shiji=="中国第二个亚洲足球先生")
MessageBox("这位球星是郑智");
else if(m_diqu=="南美"&&m_xingge=="低调
"&&m_zhugong==1&&m_shiji=="天体之王")
MessageBox("这位球星是孔卡");
else if(m_diqu=="欧洲"&&m_zhugong==1&&m_teji=="马赛回旋") MessageBox("这位球星是齐达内");
else if(m_jingong==1)
MessageBox("该球星活动区域为前场");
else if(m_zhugong==1)
MessageBox("该球星活动区域为中场");
else if(m_fangshou==1)
MessageBox("该球星活动区域为后场");
//CDialog::OnOK();
}
八、 总结与体会
通过做这次专家系统的实验,我对正向推理方式有了更深的理解。同时,通过做人机界面,我对MFC的编程应用有了进一步的了解。另外,我也从中认识到了自己在编程方面的许多不足,这也给了我动力去扩充自己的知识储备,从而能够更好的应对以后更多的课程作业。
…… 此处隐藏:981字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




