版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖南中医药大学本科课程实验教学大纲人工智能计算机科学与技术专业执笔人:丁长松审定人:学院负责人: *湖南中医药大学教务处二一四年三月一、课程性质与教学目得人工智能就是计算机专业本科生得一门专业必修课,适应于计算机科学与技术专业、医药信息工程专业。本课程就是关于人工智能领域得引导性课程,通过本课程得学习 ,就是使学生了解与掌握人工智能得基本概念、原理与方法,培养学生在计算机领域中应用人工智能技术提高分析与解决较复杂问题得能力,启发学生对人工智能得兴趣,培养知识创新与技术创新能力.人工智能主要研究智能信息处理技术、开发具有智能特性得各类应用系统得核心技术。本课程主要介绍人工智能得基本理论、方法与技
2、术,主要包括常用得知识表示、 逻辑推理与问题求解方法、 人工智能发展学派以及主要理论。先修课程:高等数学、数据结构、数据库原理、算法设计与分析、数理逻辑二、课程目标人工智能实验应在一种为高效率开发专家系统而设计得高级程序系统或高级程序设计语言环境中进行。在目前开来,专家系统开发工具与环境可分为5 种主要类型 :程序设计语言、知识工程语言、辅助型工具、支持工具及开发环境。在这里主要就是要求学生能用相关术语描述、表示一些问题;用程序设计语言如:C、 C+、 AVA 编程来实现一些基本得算法、推理、搜索等过程。三、实验内容与要求实验一:谓词表示【实验内容 】设农夫、狼、山羊、白菜都在河得左岸,现在要
3、把它们运送到河得右岸去,农夫有条 船,过河时 ,除农夫外船上至多能载狼、山羊、白菜中得一种。狼要吃山羊,山羊要吃白菜,除非农夫在那里。试设计出一个确保全部都能过河得方案 .【实验目得 】让学生加深对谓词逻辑与谓词知识表示得理解。【实验要求】写出所用谓词得定义 ,并给出每个谓词得功能及变量得个体域,然后编程来实现。【参考学时】1. 定义状态得谓词2. 定义变元得个体域3. 描述问题得初始与目标状态4. 定义动作5. 解释过程解: (1) 先定义描述状态得谓词AL ( x): 在左岸?AL ( x)表示 x 在右岸。( 2)定义个体域x 得个体域: 农夫,船,狼,羊,白菜。()定义初始状态与目标状
4、态问题得初始状态: (农夫 ), AL (船), AL( 狼 ),AL (羊) ,AL (白菜),问题得目标状态:?(农夫) ,?AL( 船 ),?A (狼) ,?AL( 羊),?AL (白菜 )( 4)定义动作4 个动作:农夫不带来回农夫带来回 -:农夫自己划船从左岸到右岸 -R( ):农夫带着 x 划船从左岸到右岸R-L: 农夫自己划船从右岸到左岸RL( ):农夫带着x 划船从右岸到左岸x 得个体域就是 狼,羊 ,白菜 .L R:农夫划船从左岸到右岸条件: AL( 船) ,AL( 农夫) ,?AL (狼)?AL (羊), ?L (羊)?AL (白菜 )动作:删除表:AL( 船), AL(
5、农夫 )添加表: ? L (船) ,? L (农夫)L R( 狼) :农夫带着狼划船从左岸到右岸条件: AL (船 ), AL (农夫) , L(狼 ),? L (羊)动作 :删除表 : L (船 ),AL (农夫), A (狼 )添加表 :?A (船), ?(农夫) ,?L (狼 )(羊):农夫带着羊划船从左岸到右岸条件: AL( 船),AL (农夫),AL( 羊 ),A ( 狼) ,AL (白菜 )或 :AL (船 ),A (农夫 ), L( 羊) ,? L(狼 ),?(白菜)动作:删除表: L (船) ,AL( 农夫 ), AL( 羊)添加表:?AL( 船), ?L (农夫 ),?A (
6、羊 )L R( 白菜):农夫带着白菜划船从左岸到右岸条件: AL (船 ),AL( 农夫), AL( 白菜),?A (狼)动作:删除表:AL (船), L (农夫 ), A (白菜 )添加表: ? L( 船) ,?AL( 农夫 ),?AL (白菜 )R- :农夫划船从右岸到左岸条件: ?L( 船 ),?A (农夫) , L (狼) A (羊 ),AL( 羊 )(白菜)或 :?AL (船 ) ,?AL (农夫),?A (狼),? L (白菜 ),(羊 )动作:删除表:?A (船) ,?A (农夫 )添加表: AL( 船), AL (农夫)RL (羊):农夫带着羊划船从右岸到左岸条件:?AL( 船
7、 ),?AL( 农夫) ,?L (羊),? L (狼 ),? L( 羊 ),A (白菜 )动作:删除表:?(船) ,?A (农夫),?AL( 羊 )添加表:(船), AL (农夫 ),AL (羊 )(3) 问题求解过程代码如下 inclu e st io、 h include = ;?/ 置尾下标为0?re u npa u;?elf ee( p qu);p ntf (超出存储空间! );retur N LL;/* 入队运算函数 */ oid en e( pse que aqu, d ta pe x)?if ( ( paqu r+1)% ( p qu maxnum) =pa f )?p intf
8、( 队列已满!) ;e e? qu q paqu- =x;?p u =( paqu-r1) %( qu ax um);?/* 出队运算函数 */ o d que(pse que pq )?if ( paqu-f=paqu r)? pri tf (空队列! );? ls?aqu f= (pa - f+1 )( p u maxnum) ;取队列头元素/dat pe frontqu ( e qu paq )i ( paqu f=paqu-r )? rin f (队列为空! ”);?else? r( a u q aqu f );/* 判断就是否为空队列函数/i t is mptyqu ( pse qu
9、e paqu)if (paqu-f=p qu )?r u;?e e? retun 0;/判断农夫位置/i t farmer( in locati )retr( 0!( loca ion 0 08)) ;/* 判断狼位置 / n wolf( nt lo atin)? et( != ( locatio 0 0 );/* 判断白菜位置 */intc b e( int loca ion)return(0!( cation&0 02);/* 判断羊位置 /int oat( i tlocat n)?return(0!=(loca 0x0 ) ;/* 安全状态得判断函数/i sfe(in o at on)?
10、i ( go t( loc tio ) =ca b ge( cation) )& (goa( location) ! = rm r(loc tion ) ))?ret n 0; f( ( /羊吃白菜at(l c t on)= w l (loation)&(wlf( cation) !=farmer(location ) )? return 0;?/狼吃羊re ur 1;解决农夫问题函数*/vo d fa m rproblem(vo d)?inti,mo r ,location,newl cati ;in r te 6; ?/ 记录已走过得步骤?pseqque moveto;/存放安全得步骤?m
11、ove =cr a mp yq e(16);? /创建新队列? nque( moveto, x00) ; ? /置状态初值?for (i=0;i 16; i +)?/ 置已走过步骤初值?route i ;route0 =;?while ( !isempty ue( mveto) & ( route15= ) )? l catio = r n e(mve o); ? /取头状态为当前状态 q (moveto);?/删除队列头状态? for ( ve =1;mo ers 8; v rs=0 ;location=rout oc t)?pri tf ( 位置就是: ,locat n);?if ( lo
12、 ati n=0)?exit( 0);?else prin f( 此问题无解!);/主函数 /v dain()?f rmerpr b m() ;实验二 : 一个用于动物识别得产生式系统【实验内容 】设计该系统,让其实现可以识别老虎、金钱豹、斑马、长颈鹿、企鹅、信天翁这 6 种动物 .【实验目得 】让学生进一步加深对产生式系统得认识与理解。【实验要求】其规则库中应包含至少 15 条规则,假设推理开始时综合数据库中存放有以下事实 :动物有暗斑,有长脖子,有长腿,有奶,有蹄。【参考学时】6 课时:上机实验6 课时。设计如下:( 1) IDE TIFIER 产生式规则规则 1:如果该动物有毛发那么?它
13、就是哺乳动物规则 I :如果该动物有奶那么它就是哺乳动物规则 I3:如果 ?该动物有羽毛那么 ?它就是鸟类动物规则 I4:如果 ?该动物能生蛋它能飞行那么它就是鸟类动物给出得六种动物除了哺乳动物即就是鸟类动物 ,故 I1 4 这一组规则可用于区分这两类动物 .规则I5: 如果该动物就是哺乳动物它吃肉那么 ?它就是肉食动物规则 6:如果该动物就是哺乳动物它长有爪子它长有利齿它眼睛前视那么它就是肉食动物规则 7:如果该动物就是哺乳动物它长有蹄那么 它就是有蹄动物规则 8:如果 ?该动物就是哺乳动物规则它反刍那么它就是有蹄动物 ,并且就是偶蹄动物5I8 用于区分哺乳动物中得食肉动物与有蹄动物。I9:
14、 如果该动物就是食肉动物它有暗斑那么它就是金钱豹规则 I10:如果该动物就是食肉动物它没有暗斑它有黄色条纹那么它就是老虎9 I0 用于区分肉食动物。规则 I11:如果该动物就是有蹄动物它有长脖子那么它就是长颈鹿规则 I12:如果该动物就是有蹄动物它没有长脖子它有黑白条纹规则那么它就是斑马I 1-I1用于区分蹄型动物。I 3:如果该动物就是鸟类它有能游水那么她就是会水鸟类规则 I14:如果该动物就是鸟类它有长腿它会飞那么 ?它就是信天翁规则 15:如果该动物就是会水鸟类它不会飞它就是黑色与白色得那么?它就是信企鹅I13 I15 用于区分鸟类动物。代码如下: inclu e incud stdl
15、b、 int main()?inta5=,0,0,, 0;printf( 请输入该动物得特征有得特征输入1 无得特征输入0 n”);fr(in k=0; k+)?if( =0)?pin (该动物就是否有奶? n);?else if(k=1 )? printf (”该动物就是否有蹄? ”) ;? lse (=)print (”该动物就是否有长腿?n”);? ese if( )?pri tf (该动物就是否有暗斑?);ele f(k=4 )pint (该动物就是否有长脖子?n);?scanf(d”, &a k);?prntf(”输入得序列为 :” );?fr(int j 0;j5;j+ )pi t
16、(%d”, j );?printf ( );in b=-1;?( i i0;i inc ud st in、 h#i cl de stdlib 、 h#d fine N 50 d f M 50voidR plac String(cha *S ,cha * ,char *b)char pt;intl n = str en( S c) ;p r= (char*)mallo (sizeof(char) le 10) ;s rcp( tr , Sr);in s bLe _a = st len(a);? t su en_b s rlen(b );j;in = ubLen b-sub n_a; or ( n
17、t i 0; i len; i+ )?if (0= s rncm ( &p ,a, subL n_a) )? ? ?f r(j=i+subLen_ ;jl n; )? ? k ptrj ;? strncpy( ri , b, subLen_b) ;? ptr le +k ;st y(S ,pr );xiao ie(c a , c ar )? har N N ,BN ; n n=, m=0,i,j ;?i tlenh_a strl n(a), len h_=strlen () ;?f r(i= ;i leth_; +)?( a i! ) m=ai ;? m+;? ?else? ?A 0;?m=0
18、;? n+; ? ?An 0 ;? nt =n;/ 得记录行数?n=0, =;for(i= ; il nt _b; +)? if(b !=V )?B = i ;? m+ ;e se? ? Bnm =0;? ?m=0;?n+ ; ? m = 0;?i t r= ; /得记录行数/检查两子句就是否含有互补对for( n=0 ; n k;n+)?for( m=0 ; m=r ; +)? f ( (Bm = ) ( 1 =A ) )出现互补对? ?/置换? ?ch r xN N , y N ;? ?i g=0,h=0;? ?lenth_a s l ( A n );?en h b=strlen( m )
19、 ;? or( i=2 ; nth_ 1; +)? ? ?if(A ! =, )?x gh An i ;? ?h +;? ? ?e se? ? g h 0;= ;?+;? ? x gh =0 ;? ?g=0,h= ;? ?fo( i; i lent _b 1; +)?if(B n i ! , )? ?y h=Bn i ;?h+;?el? ? ? ?yg =0;? ? ?h=;? g +;? ?y = ;?for( inti; i=strl (yi ))?out x i i endl;? ?for( j=0 ; =r;j+)? ?R aceStr g(Bj ,y i , xi ) ;? ? if
20、(strl (x i )strlen(y ) )? ? c t y i / ” x i endl;? ? f r(j=0;j=k ; j+)?Re lac tring(A j,x , yi ) ;? fo( =n; i =k ; +) / 消去互补对? ? r (A i,A +1 );? = 1;?fo (=m ; i =r; +)?s rcp (B , Bi 1);? =r 1;? ?elsif(A n 0= ) & ( A n1 B 0) )? ? ? ar x N , N ;? nt g=0 , h=0;? le t a= t l n( );? lenth =strl n(Bm );?
21、r( i 3;ile _a; i+)? ?f (A n! , )? ? ? x gh A ni ;?h +;? ? ?else? ?x g ;? ?h 0;? ?g+ ;? ? ? ?x g h = ;?g= ,h=0;? or(i=2 ; i strle( y i ) )? ?cut x ”/ yi n l ;?or (j=0 ; j r; j+)? ?Re l c S r( B ,y i, ) ;? ? ?if(strlen(x )strl ( y )? cout &” e d;? out / xi end;? ?f (j 0;j =k ; j+ )? eplace t ng(A j ,x
22、, i );? ?for( i=n;i =k ; + )/ 消去互补对? ? trcpy( ,A 1) ;? k=k ;? ? ?for ( i=m ;i=r;i+ )? ? ? strcpy( B i,B i+1) ;? r=r;? ? ? e s co inu ;? /输出结果?cout”消解后得字句为: endl;? fo( n=0 ; n=k ; n+ )?cout An V ;for( m=0; r; m+ )? ?cout B V ”;?cout B endl;v idmain()?char aN ,b;?cou ”请输入所要消解得第一个子句: a;? ou”请输入所要消解得第二个子句:” e d ;ci;?xia ie(,);运行结果:四、教材与教学资源选用教材 :蔡自兴 ,徐光祐 .人工智能及应用,第4 版。清华大学出版社 ,2010、参考书
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 创意桌子设计方案
- 入院接待流程标准化管理
- 诉讼流程核心环节解析
- 搭建线上教育平台整体方案
- 禁毒防范教育
- 2025年城市更新背景下安装工程改造
- 应届毕业解约协议书
- 租用合同取消协议范本
- 租赁合同协议书样本
- 租赁车辆购买协议书
- GB/T 44590-2024天然林保护修复生态效益评估指南
- 小羊羔(2023年江苏苏州中考语文试卷记叙文阅读题及答案)
- 部编版六年级语文下册总复习专项训练之《课内阅读》课件
- 重庆市藻渡水库工程环境影响报告书-上报
- 酒店财务管理课件:成本控制
- 抑郁症病人护理课件
- 亲子阅读陪伴成长PPT
- 《电工技术基础与技能》教学教案
- 正版高中化学选修3课后习题标准答案人教版
- 教学案例 8的分解和组成“衡水赛”一等奖
- 2023年中山市建设系统事业单位招聘考试笔试题库及答案解析
评论
0/150
提交评论