专家系统实验报告(MFC实现)

时间:2024.4.13

说明: xm2

学生实验报告

科目名称:    人工智能

实验项目名称: 专家系统

专业名称: 计算机科学与技术

班级: 计算机一班

学号: 201124020105

学生姓名: 高修

教师姓名: 陈亮亮

20##126

一、 实验名称:一个关于球星猜测的专家系统

二、 实验环境: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的编程应用有了进一步的了解。另外,我也从中认识到了自己在编程方面的许多不足,这也给了我动力去扩充自己的知识储备,从而能够更好的应对以后更多的课程作业。


第二篇:实验报告5:MFC计算器


贵州大学计算机科学与技术学院

计算机科学与技术系上机实验报告

更多相关推荐:
农业专家系统实验报告

农业专家系统实验报告课程农业专家系统行政班级09农信姓名王雪学号0908074115一实验目的加深对知识表示方法的理解与认识掌握知识特别是产生式知识在计算机内的存储方式掌握知识库构建方法利用关系型数据库建立知识...

智能信息处理 专家系统设计 实验报告

武夷学院实验报告数学与计算机系专家系统设计一目的要求进入实验机房加深学生了解智能专家系统的概念如自动分类诊断和预测等系统使学生掌握用综合知识或理论技术来开发智能系统并解决一些较复杂性问题的基本技能二实验内容建造...

动物识别专家系统 实验报告

人工智能实验报告12345

医疗诊断专家系统实验报告

鸡病诊断专家系统实验报告一实验目的1加深理解专家系统的结构原理与实际应用2初步掌握知识获取的基本方法3掌握产生式规则知识表示方法及其编程实现方法4初步掌握知识库的组建方法5加深理解推理机的算法原理并初步掌握其编...

中南大学专家系统实验报告-线虫类诊断专家系统

专家系统实验报告专业班级自动化姓名学号20xx0515一问题综述在本次任务中我所分析的实验代码是一个基于规则的线虫类诊断专家系统该专家系统的主要功能是通过简单的人机对话根据能够观察到的线虫特征对于其类别进行诊断...

农业专家系统开发-实验报告

农业专家系统开发实验报告课程农业专家系统行政班级11软件2班姓名程茗学号1108054208一实验目的加深对知识表示方法的理解与认识掌握知识特别是产生式知识在计算机内的存储方式掌握知识库构建方法利用关系型数据库...

模糊专家系统实验报告

智能决策与专家系统课程实验报告一实验描述备件服务中心保存备件并修复损坏的备件客户拿来一个损坏的零件备件换走一个相同型号的零件备件损坏的零件备件被修好后放置在架子上作为零件备件如果架子上有所需的备件那么客户从架子...

建立模糊专家系统实验报告

建立模糊专家系统为了说明如何设计模糊专家系统下面用一个备件服务中心的例子备件服务中心保存备件并修复损坏的备件客户拿来一个损坏的零件备件换走一个相同型号的零件备件损坏的零件备件被修好后放置在架子上作为零件备件如果...

基于paid农业专家系统实验报告模板

农业专家系统实验报告课程农业专家系统开发行政班级姓名学号一实验目的加深对知识表示方法的理解与认识掌握知识特别是产生式知识在计算机内的存储方式掌握利用PAID平台构建知识库的方法并利用PAID平台编写推理程序在上...

专家系统实验指导书

专家系统实验课程编号英文名称ExpertSystem适应对象智能科学与技术指导教师肖晓明一学时与学分二实验课的任务性质与目的本实验课程是控制专业学生的一门专业课程通过CLIPS软件环境提供的大量开发性验证性和设...

人工智能专家系统实验

河南城建学院人工智能实验报告实验名称实验四名称实现一个基于产生式系统的小型专家系统动物识别成绩专业班级0814112学号081411202姓名xxxxxxxxxxxx实验日期20xx年5月20日实验器材VC60...

操作系统银行家算法(避免死锁)实验报告

操作系统实验银行家算法姓名李天玮班级软工1101实验内容在windows系统中实现银行家算法程序学号20xx26630117实现银行家算法所用的数据结构假设有5个进程3类资源则有如下数据结构1MAX535个进程...

专家系统实验报告(19篇)