2023年人工智能大作业实验.pdf
《2023年人工智能大作业实验.pdf》由会员分享,可在线阅读,更多相关《2023年人工智能大作业实验.pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、湖南中医药大学本科课程实验教学大纲 人工智能计算机科学与技术专业执笔人:丁长松审定人:*学院负责人:*湖南中医药大学教务处二。一四年三月一、课程性质和教学目的 人工智能是计算机专业本科生的一门专业必修课,适应于计算机科学与技术专业、医药信息工程专业。本课程是关于人工智能领域的引导性课程,通过本课程的学习,是使学生了解和掌握人工智能的基本概念、原理和方法,培养学生在计算机领域中应用人工智能技术提高分析和解决较复杂问题的能力,启发学生对人工智能的爱好,培养知识创新和技术创新能力。人工智能重要研究智能信息解决技术、开发具有智能特性的各类应用系统的核心技术。本课程重要介绍人工智能的基本理论、方法和技术
2、,重要涉及常用的知识表达、逻辑推理和问题求解方法、人工智能发展学派以及重要理论。先修课程:高等数学、数据结构、数据库原理、算法设计与分析、数理逻辑二、课程目的人工智能实验应在一种为高效率开发专家系统而设计的高级程序系统或高级程序设计语言环境中进行。在目前开来,专家系统开发工具和环境可分为5种重要类型:程序设计语言、知识工程语言、辅助型工具、支持工具及开发环境。在这里重要是规定学生能用相关术语描述、表达一些问题;用程序设计语言如:C、C+、JAVA编程来实现一些基本的算法、推理、搜索等过程。三 实验内容与规定实验一:谓词表达【实验内容】设农夫、狼、山羊、白菜都在河的左岸,现在要把它们运送到河的右
3、岸去,农 夫 有 条 船,过河时,除农夫外船上至多能载狼、山羊、白菜中的一种。狼要吃山羊,山羊要吃白菜,除非农夫在那里。试设计出一个保证所有都能过河的方案。【实验目的】让学生加深对谓词逻辑和谓词知识表达的理解。【实验规定】写出所用谓词的定义,并给出每个谓词的功能及变量的个体域,然后编程来实现。【参考学时】1.定义状态的谓词2.定义变元的个体域3.描述问题的初始和目的状态4.定义动作5.解释过程解:(1)先定义描述状态的谓词AL(x):x 在左岸rAL(x)表达x 在右岸。(2)定义个体域x 的个体域:农夫,船,狼,羊,白菜。(3)定义初始状态和目的状态问题的初始状态:AL(农夫),AL(船),
4、AL(狼),AL(羊),AL(白菜),问题的目的状态:L(农夫),R L(船),-AL(狼),rA L(羊)AL(白菜)(4)定义动作4 个动作:农夫不带来回农夫带来回L-R:农夫自己划船从左岸到右岸L-R(x):农夫带着x 划船从左岸到右岸R-L:农夫自己划船从右岸到左岸R-L(x):农夫带着x 划船从右岸到左岸x 的个体域是 狼,羊,白菜。L-R:农夫划船从左岸到右岸条件:AL(船),A L(农夫),rA L(狼)V”L(羊),-A L(羊)V rA L(白菜)动作:删除表:AL(船),AL(农夫)添加表:A L(船),-AL(农夫)L-R(狼):农夫带着狼划船从左岸到右岸条件:AL(船)
5、,AL(农夫),AL(狼),rAL(羊)动作:删除表:AL(船),AL(农夫),AL(狼)添加表:M L(船)A L(农夫),血(狼)L-R(羊):农夫带着羊划船从左岸到右岸条件:AL(船),A L(农夫),AL(羊),AL(狼),A L(白菜)或:AL(船),AL(农夫),A L(羊),M L(狼)AL(白菜)动作:删除表:AL(船),AL(农夫),A L(羊)添加表:AL(船),(农夫),F L(羊)L-R(白菜):农夫带着白菜划船从左岸到右岸条件:AL(船),AL(农夫),AL(白菜),-AL(狼)动作:删除表:A L(船),AL(农夫),A L(白菜)添加表AL(船),rAL(农夫),
6、rA L(白菜)R-L:农夫划船从右岸到左岸条件:rA L(船),rAL(农夫),AL(狼)VAL(羊),AL(羊)V A L(白菜)或:rA L (船),rAL(农夫),rA L(狼)AL(白菜),AL(羊)动作:删除表:rAL(船),-A L (农夫)添加表:AL(船),AL(农夫)R-L (羊):农夫带着羊划船从右岸到左岸条件:r A L(船),rAL(农夫),rAL(羊),rA L(狼)JAL(羊),AL(白菜)动作:删除表:rA L(船),rAL(农夫),rA L(羊)添加表:AL(船),AL(农夫),AL(羊)(3)问题求解过程AL(农夫A1AL(狼)。AL(农夫WAL旧菜AAL(
7、船 户L-R(羊*AL(白菜).,R-L AL(船)L-R(狼W-AL(农 R.L(羊)A L Q艮尸,f-AIX 农 o AL(狼)t=夫-AL(羊 W夫户AL(白菜WrAL(船 AAL旧菜)“、AL(船 rAL佯州rAL(狼)“AL(农夫),AL佯 AAL(农夫”-AIZ 农AL(船)川 L-R(白菜)山(农A Y,、1-rR-L AL(船 AL-R(羊)p%仅,二 夫)川A M干尸天A AL(羊”AL(白菜V3(船),AI/白*A L(羊 A血(狼)“rAL(白菜),rAL(白代码如下#i nc 1 ude#i ncludet y pe d ef i n tdatat y pe;/d a
8、 tatype 定义stru c t seqqu e/队列结构体1 n t max n u m;in tf,r;。存放头尾下标d a tatype*q;);t y p e d e f s tru c t s eqq u e*ps e qque;/*创建一个新的队列*/pseqque c r eatempt y qu e u e(i n t m)(pseqq u e pa q u=(p seqque)mall o c(sizeof(s tru c t s eqque);。申请结构体动态空间oif(paqu!=NULL)。(paq u-q=(datatype*)ma 1 loc(siz e of(
9、d a t a t y p e)*m);申请 d a ta t ype 动态空间M f(paqu-q)(p a q u -maxnum=m;a 叩a qu-f=O;置头下标为0。p aqu-r=O;“/置尾下标为0。r e turn p aq u;00 Jelse free(paqu);)pr i nt f(超过存储空间!”);r e t u rn N U LL;)/*入队运算函数*/v o id enq u e(p s e q que paqu,datatype x)i f(paq u-r+1 )%(p a q u-m a x n u m)=paqu-f)P r intf(队列已满!”);o
10、elsee paqu-qp a q u-r=x;pa q u-r=(p a q u-r+l)%(p a qu-maxnum);)/*出队运算函数*/void d eque(p s e q que paqu)(if(paq u f=p a q u r)P rin t f(空队列!);else。p aq u-f=(p a q u-f+1)%(paqu-maxnum);)/*取队列头元素*/d a t a t y p e f ro n tq u e(p seqque p a qu)(A f(paqu-f=paqu-r)p r intf(队列为空!);e 1 se retu r n(paq u qpa
11、qu-f);)/*判断是否为空队列函数*/i n t isem p tyque(p seqque p aqu)。i f(paqu-f=p aqu-r)o o r e t u rn 1;oels ereturn 0;)/*判断农夫位置*/int farme r(i nt 1 oc a tion)(r e t u r n(0!=(lo c a t io n&0 x 0 8);)/*判断狼位置*/int w o 1 f(int 1 o c a tion)(ret u rn (0!=(location&0 x04);)/*判断白菜位置*/i n t cab b age(int locat i on)(
12、retur n(0!=(loca t ion&0 x 0 2);)/*判断羊位置*/int goat(int 1 oc a ti o n)ret u rn(0!=(loc a t i o n&0 x0 1);)/*安全状态的判断函数*/int safe(i nt 1 o c a tion)(f(g o a t(1 o cation)=c abbag e(locat i o n)&(goat(location)!=farmer(lo c atio n)o r eturn 0产羊吃白菜i f(g oa t(locat i on)=wolf(1 ocat i o n)&(wolf(loc a tio
13、n)!=f a rmer(l o cat i on)好 et u rn 0;。“/狼吃羊return 1 ;)/*解决农夫问题函数*/void fa r m e rpr o b 1 e m(v oid)(int i,m o v e rs ,lo c ati o n,n e w locati o n;“nt r o utel!6;记录已走过的环节p s eqque moveto;g 存放安全的环节0 moveto二 ere a t emptyque u e(1 6);。/创建新队列oen q ue(mo vet o,0 x00);。/置状态初值for(i=0;il 6;i+)。/置已走过环节初值
14、8rou t ei=-l;route0=0;owh i le(!isemptyque(mo v e t o)&(route 1 5 =-1)o 1 oc a tio n=fron t que(mov e t o);/取头状态为当前状态。dequ e(mov e t o);6/删除队列头状态f o r (mover s=1;mov e rs=8;mover s=0;lo c a t ion=r o u te E loc a tio n )00|o pri n tf(位置是:d n,l o c at i on);。if(location=0)一x i t(0);)oelse p r intf(此问
15、题无解!”);/*主函数*/v o id main()(of a rmer p rob 1 em();实验二:一个用于动物辨认的产生式系统【实验内容】设计该系统,让其实现可以辨认老虎、金钱豹、斑马、长颈鹿、企鹅、信天翁 这6种动物。【实验目的】让学生进一步加深对产生式系统的结识和理解。【实验规定】其规则库中应包含至少1 5条规则,假设推理开始时综合数据库中存放有以下事实:动物有暗斑,有长脖子,有长腿,有奶,有蹄。【参考学时】6课时:上机实验6课时。设计如下:(1)IDENT I FIER产生式规则规 则1 1:假如该动物有毛发那么 它是哺乳动物规 则1 2:假如。该动物有奶那 么 它 是 哺
16、乳 动 物规 则I 3:假如该动物有羽毛那 么 它 是 鸟 类 动 物规 则14:假如 该动物能生蛋它能飞行那 么 它 是 鸟 类 动 物给出的六种动物除了哺乳动物即是鸟类动物,故11-14这一组规则可用于区分这两类动物。规 则I 5:假如。该动物是哺乳动物它吃肉那 么 它 是 肉 食 动 物规 则16:假如该动物是哺乳动物它长有爪子它长有利齿它眼睛前视那么。它是肉食动物规 则I 7:假如该动物是哺乳动物它长有蹄那么。它是有蹄动物规则瓜假如 该动物是哺乳动物它反刍那么。它是有蹄动物,并且是偶蹄动物I5-I 8用于区分哺乳动物中的食肉动物和有蹄动物。规则I 9:假如。该动物是食肉动物它有暗斑那么
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 人工智能 作业 实验
限制150内