欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    人工智能大作业实验.docx

    • 资源ID:4555261       资源大小:87.61KB        全文页数:24页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    人工智能大作业实验.docx

    1、人工智能大作业实验湖南中医药大学本科课程实验教学大纲人工智能计算机科学与技术专业执笔人:丁长松 审定人:*学院负责人:*湖南中医药大学教务处二一四年三月一、课程性质和教学目的人工智能是计算机专业本科生的一门专业必修课,适应于计算机科学与技术专业、医药信息工程专业.本课程是关于人工智能领域的引导性课程,通过本课程的学习,是使学生了解和掌握人工智能的基本概念、原理和方法,培养学生在计算机领域中应用人工智能技术提高分析和解决较复杂问题的能力,启发学生对人工智能的兴趣,培养知识创新和技术创新能力。人工智能主要研究智能信息处理技术、开发具有智能特性的各类应用系统的核心技术。本课程主要介绍人工智能的基本理

    2、论、方法和技术,主要包括常用的知识表示、逻辑推理和问题求解方法、人工智能发展学派以及主要理论。先修课程:高等数学、数据结构、数据库原理、算法设计与分析、数理逻辑二、课程目标人工智能实验应在一种为高效率开发专家系统而设计的高级程序系统或高级程序设计语言环境中进行.在目前开来,专家系统开发工具和环境可分为5种主要类型:程序设计语言、知识工程语言、辅助型工具、支持工具及开发环境。在这里主要是要求学生能用相关术语描述、表示一些问题;用程序设计语言如:C、C+、JAVA编程来实现一些基本的算法、推理、搜索等过程。 三、实验内容与要求实验一:谓词表示【实验内容】设农夫、狼、山羊、白菜都在河的左岸,现在要把

    3、它们运送到河的右岸去,农夫有条 船,过河时,除农夫外船上至多能载狼、山羊、白菜中的一种.狼要吃山羊,山羊要吃白菜,除非农夫在那里。试设计出一个确保全部都能过河的方案。【实验目的】让学生加深对谓词逻辑和谓词知识表示的理解。【实验要求】写出所用谓词的定义,并给出每个谓词的功能及变量的个体域,然后编程来实现. 【参考学时】1.定义状态的谓词2.定义变元的个体域3.描述问题的初始和目标状态4.定义动作5.解释过程解:(1) 先定义描述状态的谓词AL(x):x在左岸AL(x)表示x在右岸。(2)定义个体域x的个体域:农夫,船,狼,羊,白菜。(3)定义初始状态和目标状态 问题的初始状态:AL(农夫),AL

    4、(船),AL(狼),AL(羊),AL(白菜),问题的目标状态:AL(农夫),AL(船),AL(狼),AL(羊),AL(白菜) (4) 定义动作4个动作:农夫不带来回农夫带来回L-R:农夫自己划船从左岸到右岸LR(x):农夫带着x划船从左岸到右岸RL:农夫自己划船从右岸到左岸RL(x) :农夫带着x划船从右岸到左岸x的个体域是狼,羊,白菜。L-R:农夫划船从左岸到右岸 条件:AL(船),AL(农夫),AL(狼)AL(羊),AL(羊)AL(白菜) 动作:删除表:AL(船),AL(农夫) 添加表:AL(船),AL(农夫)L-R(狼):农夫带着狼划船从左岸到右岸 条件:AL(船),AL(农夫),AL(

    5、狼),AL(羊) 动作:删除表:AL(船),AL(农夫),AL(狼) 添加表:AL(船),AL(农夫),AL(狼)LR(羊):农夫带着羊划船从左岸到右岸 条件:AL(船),AL(农夫),AL(羊), AL(狼),AL(白菜) 或:AL(船),AL(农夫),AL(羊),AL(狼),AL(白菜) 动作:删除表:AL(船),AL(农夫),AL(羊) 添加表:AL(船),AL(农夫),AL(羊)LR(白菜):农夫带着白菜划船从左岸到右岸 条件:AL(船),AL(农夫),AL(白菜),AL(狼) 动作:删除表:AL(船),AL(农夫),AL(白菜) 添加表:AL(船),AL(农夫),AL(白菜)RL:农

    6、夫划船从右岸到左岸 条件:AL(船),AL(农夫),AL(狼)AL(羊),AL(羊)AL(白菜) 或:AL(船),AL(农夫) ,AL(狼),AL(白菜),AL(羊) 动作:删除表:AL(船),AL(农夫) 添加表:AL(船),AL(农夫)RL(羊) :农夫带着羊划船从右岸到左岸 条件:AL(船),AL(农夫),AL(羊) ,AL(狼),AL(羊),AL(白菜) 动作:删除表:AL(船),AL(农夫),AL(羊) 添加表:AL(船),AL(农夫),AL(羊)(3) 问题求解过程代码如下#includeincludeq) paqu-maxnum=m; paquf=0; /置头下标为0 paqu-

    7、r=0; /置尾下标为0 return paqu; else free(paqu); printf(”超出存储空间!); return NULL;/入队运算函数/void enque(pseqque paqu,datatype x) if ((paqu-r+1)(paqu-maxnum)=paquf) printf(队列已满!”); else paqu-qpaqur=x; paqu-r=(paqu-r+1)(paqumaxnum); /*出队运算函数/void deque(pseqque paqu) if (paquf=paqu-r) printf(空队列!); else paquf=(paq

    8、u-f+1)(paqumaxnum);/取队列头元素*/datatype frontque (pseqque paqu) if (paquf=paqur) printf(”队列为空!); else return (paquqpaqu-f);/*判断是否为空队列函数/int isemptyque(pseqque paqu) if (paqu-f=paqu-r) return 1; else return 0;/判断农夫位置*/int farmer(int location) return(0!=(location0x08));/*判断狼位置/int wolf(int location) retu

    9、rn(0!=(location0x04);/*判断白菜位置/int cabbage(int location) return(0!=(location0x02));/判断羊位置*/int goat(int location) return(0!=(location0x01);/*安全状态的判断函数*/int safe(int location) if (goat(location)=cabbage(location))&(goat(location)!=farmer(location)) return 0; /羊吃白菜 if ((goat(location)=wolf(location))&(

    10、wolf(location)!=farmer(location))) return 0; /狼吃羊 return 1;/*解决农夫问题函数*/void farmerproblem(void) int i,movers,location,newlocation; int route16; /记录已走过的步骤 pseqque moveto; /存放安全的步骤 moveto=createmptyqueue(16); /创建新队列 enque(moveto,0x00); /置状态初值 for (i=0;i16;i+) /置已走过步骤初值 routei=1; route0=0; while(!isemp

    11、tyque(moveto)&(route15=-1) location=frontque(moveto); /取头状态为当前状态 deque(moveto); /删除队列头状态 for (movers=1;movers=8;movers=1) /依次考虑羊、白菜、狼、农夫的移动 if (0!=(location0x08)=(0!=(location&movers))) /判断是否和农夫同边 newlocation=location(0x08movers); /移动后的状态 if (safe(newlocation)(routenewlocation=1) /判断是否为安全状态 routenew

    12、location=location; /将新的安全状态赋给location enque(moveto,newlocation); /新的状态入队列 if (route15!=-1) /到达最终状态 printf(过程是:n”); /输出过程和位置 for (location=15;location=0;location=routelocation) printf(”位置是:dn,location); if (location=0) exit(0); else printf(此问题无解!”);/主函数*/void main() farmerproblem();实验二:一个用于动物识别的产生式系统

    13、【实验内容】设计该系统,让其实现可以识别老虎、金钱豹、斑马、长颈鹿、企鹅、信天翁这6种动物。【实验目的】让学生进一步加深对产生式系统的认识和理解。【实验要求】其规则库中应包含至少15条规则,假设推理开始时综合数据库中存放有以下事实:动物有暗斑,有长脖子,有长腿,有奶,有蹄。【参考学时】6课时:上机实验6课时。设计如下:(1)IDENTIFIER产生式规则规则I1:如果 该动物有毛发 那么 它是哺乳动物规则I2:如果 该动物有奶 那么 它是哺乳动物规则I3:如果 该动物有羽毛 那么 它是鸟类动物规则I4:如果 该动物能生蛋 它能飞行 那么 它是鸟类动物给出的六种动物除了哺乳动物即是鸟类动物,故I

    14、1I4这一组规则可用于区分这两类动物.规则I5:如果 该动物是哺乳动物 它吃肉 那么 它是肉食动物规则I6:如果 该动物是哺乳动物 它长有爪子 它长有利齿 它眼睛前视 那么 它是肉食动物规则I7:如果 该动物是哺乳动物 它长有蹄 那么 它是有蹄动物规则I8:如果 该动物是哺乳动物 它反刍 那么 它是有蹄动物,并且是偶蹄动物 I5I8用于区分哺乳动物中的食肉动物和有蹄动物.规则I9:如果 该动物是食肉动物 它有暗斑 那么 它是金钱豹规则I10:如果 该动物是食肉动物 它没有暗斑 它有黄色条纹 那么 它是老虎I9-I10用于区分肉食动物。规则I11:如果 该动物是有蹄动物 它有长脖子 那么 它是长

    15、颈鹿规则I12:如果 该动物是有蹄动物 它没有长脖子 它有黑白条纹 那么 它是斑马I11-I12用于区分蹄型动物。规则I13:如果 该动物是鸟类 它有能游水 那么 他是会水鸟类规则I14:如果 该动物是鸟类 它有长腿 它会飞 那么 它是信天翁规则I15:如果 该动物是会水鸟类 它不会飞 它是黑色和白色的 那么 它是信企鹅 I13I15用于区分鸟类动物。代码如下:#includestdio。h#includestdlib.hint main() int a5=0,0,0,0,0; printf(请输入该动物的特征 有的特征输入1 无的特征输入0nn); for(int k=0;k5;k+) if

    16、(k=0) printf(”该动物是否有奶?n”); else if(k=1) printf(”该动物是否有蹄?n); else if(k=2) printf(”该动物是否有长腿?n”); else if(k=3) printf(该动物是否有暗斑?n); else if(k=4) printf(该动物是否有长脖子?n”); scanf(”%d,&ak); printf(输入的序列为:”); for(int j=0;j5;j+) printf(”d”,aj); printf(n); int b=-1; for(int i=0;i5;i+) if(i=0) if(ai=1) printf(”该动物

    17、是哺乳动物n); b=1; if(ai=0) printf(该动物不是哺乳动物n”); b=0; if(i=1) if(ai=1b=1) printf(”该动物是有蹄动物n”); b=11; if(ai=0&b=1) printf(该动物不是有蹄动物n); b=10; if(i=2) if(ai=1&b=0) printf(”该动物有长腿n”); b=01;/信天翁 if(ai=0b=0) printf(”该动物没有长腿n); b=00;/企鹅 if(i=3) if(ai=1&b=10) printf(该动物有暗斑n); b=101;/猎豹 if(ai=0&b=10) printf(”该动物无

    18、暗斑nn); b=100;/老虎 if(i=4) if(ai=1&b=11) printf(”该动物有长脖子n”); b=111;/长颈鹿 if(ai=0&b=11) printf(该动物没有长脖子n); b=110;/斑马 if(b=01) printf(”该动物是信天翁n); else if(b=00) printf(”该动物是企鹅n”); else if(b=101) printf(”该动物是猎豹n”); else if(b=100) printf(该动物是老虎n); else if(b=111) printf(”该动物是长颈鹿n); else if(b=110) printf(该动物是

    19、斑马n); else printf(”该动物不存在n); system(pause); return 0;实验三:子句消解代码如下#includeinclude#includestdlib。h#define N 50define M 50void ReplaceString(char Src,char a,char b) char ptr; int len = strlen(Src); ptr = (char)malloc(sizeof(char)*len + 10); strcpy(ptr, Src); int subLen_a = strlen(a); int subLen_b=strle

    20、n(b); int j;int k=subLen_b-subLen_a; for ( int i=0; ilen; i+ ) if ( 0=strncmp(ptri, a, subLen_a) ) for(j=i+subLen_a;jlen;j+) ptrj+k=ptrj; strncpy(ptri, b, subLen_b); ptrlen+k = 0; strcpy(Src,ptr);void xiaojie(char a,char b) char ANN,BNN; int n=0,m=0,i,j; int lenth_a=strlen(a),lenth_b=strlen(b); for(

    21、i=0;ilenth_a;i+) if(ai!=V) Anm=ai; m+; else Anm=0; m=0; n+; Anm=0; int k=n;/A的记录行数 n=0,m=0; for(i=0;ilenth_b;i+) if(bi!=V) Bnm=bi; m+; else Bnm=0; m=0; n+; Bnm=0; int r=n;/B的记录行数 /检查两子句是否含有互补对 for(n=0;n=k;n+) for(m=0;m=r;m+) if((Bm0=)&(Bm1=An0))/出现互补对 /置换 char xNN,yNN; int g=0,h=0; lenth_a=strlen(An

    22、); lenth_b=strlen(Bm); for(i=2;ilenth_a1;i+) if(Ani!=,) xgh=Ani; h+; else xgh=0; h=0; g+; xgh=0; g=0,h=0; for(i=3;ilenth_b-1;i+) if(Bni!=,) ygh=Bni; h+; else ygh=0; h=0; g+; ygh=0; for(int i=0;i=g;i+)/置换 if(strlen(xi)=strlen(yi)) coutxi/yiendl; for(j=0;j=r;j+) ReplaceString(Bj ,yi, xi); if(strlen(xi

    23、)strlen(yi) coutyi/xiendl; for(j=0;j=k;j+) ReplaceString(Aj ,xi, yi); for(i=n;i=k;i+)/消去互补对 strcpy(Ai,Ai+1); k=k1; for(i=m;i=r;i+) strcpy(Bi,Bi+1); r=r-1; else if(An0=)(An1=Bm0) char xNN,yNN; int g=0,h=0; lenth_a=strlen(An); lenth_b=strlen(Bm); for(i=3;ilenth_a;i+) if(Ani!=,) xgh=Ani; h+; else xgh=0; h=0; g+; xgh=0; g=0,h=0; for(i=2;ilenth_b;i+) if(Bni!=,) ygh=B


    注意事项

    本文(人工智能大作业实验.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开