实验一产生式系统

合集下载

报告_基于产生式系统的动物识别系统

报告_基于产生式系统的动物识别系统

报告_基于产⽣式系统的动物识别系统实验基于产⽣式系统的动物识别系统知识表⽰与推理专题魏江200620108203 计算机系统结构专业(1班)正向推理是产⽣式系统的⼀种推理⽅法,它是从⼀组表⽰事实的谓词或命题出发,使⽤⼀组产⽣式规则,⽤以证明该谓词公式或命题是否成⽴.本实验⽤两种⽅法实现了⼀个简单的动物识别系统.⼀、实验⽬的1.熟悉和掌握产⽣式系统的运⾏机制,2.掌握基于产⽣式系统的正向推理的基本⽅法。

3.简要⽐较两种实现⽅式的异同⼆、实验内容1. 能根据输⼊的动物特征判断是那种动物或给出相应的回答. (第⼀种⽅法)2. 如果根据初始输⼊的动物特征不能判断,则可以动态增加新事实(即动物特征)来判断属于那种动物. (第⼀种⽅法)3. 可根据提⽰选择所要识别的动物是否具有该特征.(第⼆种⽅法)三、算法设计编程语⾔与编程环境: C++,VC6.0下⾯⽤第⼀种⽅法简要说明算法的设计过程.⾸先建⽴了⼀个animal_identifier的类.该类包含的属性有:f和r. f指针指向事实集,r指向规则集.包括的关键成员函数有:Creat_Rules(),Creat_Fact(), reason().1 建⽴静态规则库.即建⽴产⽣式规则.本算法采⽤了产⽣中间事实的⽅法,这样做的优点是涉及到的规则少,容易理解,便于建⽴和使⽤规则.为了便于设计,我们把要识别的动物限于7种,这样所需要的产⽣式规则就⽐较少.本算法总共有16种规则,部分规则如下:R1:如果某动物有⽑发则该动物是哺乳动物R2:如果某动物有奶则该动物是哺乳动物R3:如果某动物有⽻⽑则该动物是鸟R4:如果某动物会飞,且下蛋则该动物是鸟R5:如果某动物吃⾁则该动物是⾷⾁动物R6:如果某动物有锋利的⽛齿,且有⽖,且眼睛盯着前⽅则该动物是⾷⾁动物R7:如果某动物是哺乳动物,且有蹄则该动物是有蹄类哺乳动物……………..R16: 如果反刍则哺乳动物上述规则库由类animal_identifierd的⽅法Creat_rules()静态实现.2 建⽴事实库建⽴事实库是由⽅法Creat_Fact()实现的.该⽅法要求⽤户动态输⼊事实,即要求⽤户先输⼊特征个数,然后输⼊动物的特征,如果未识别出来,⽤户可以增加输⼊,或者退出.3 正向推理过程.正向推理是从已知事实出发,通过规则库求得结论,或称数据驱动⽅式。

AI实验报告

AI实验报告

目录人工智能及其应用........................................................................................... 错误!未定义书签。

实验报告................................................................................................... 错误!未定义书签。

实验一产生式系统实验群. (2)一、实验目的: (2)二、实验原理: (2)三、实验条件: (3)四、实验内容: (3)五、实验步骤: (3)实验二搜索策略实验群搜索策略: (6)一、实验目的: (6)二、实验原理: (6)三、实验条件: (6)四、实验内容: (6)五、实验步骤: (7)六:实验过程: (7)七、A*算法流程图: (18)八、实验结论: (19)实验三神经网络实验群 (20)一、实验目的: (20)二、实验原理: (20)三、实验条件: (20)四、实验内容: (20)五、实验步骤: (21)六、实验结论: (21)实验四自动规划实验群 (25)一、实验目的: (25)二、实验原理: (25)三、实验条件: (25)四、实验内容: (26)五、实验步骤: (26)实验一产生式系统实验群产生式系统: 是由一组规则组成的、能够协同作用的推理系统。

其模型是设计各种智能专家系统的基础 .产生式系统主要由规则库、综合数据库和推理机三大部分组成。

本实验环境主要提供一个能够实现模拟产生式专家系统的验证、设计和开发的可视化操作平台。

学生既能用本系统提供的范例进行演示或验证性实验,也能够用它来设计并调试自己的实验模型。

一、实验目的:熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。

二、实验原理:生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。

动物识别系统实验报告

动物识别系统实验报告
{
stringFindMaxNumber ="select max(动物序号) from动物库";
SqlCommandcmd2 =newSqlCommand( FindMaxNumber ,con);
1.1功能需求
1.1.1动物识别正向推理
正向推理是从已知事实出发,通过规则库求的结论,也称为自底向上,或称为数据驱动方式。
正向推理过程的具体步骤是:
(1)读入事实集到工作存储器。
(2)取出某条规则,将规则的全部前件与工作存储器中的所有事实进行比较。如果匹配成功,则所得结果显示到屏幕上,转向(3);否则,直接转向(3)。
动物识别系统设计主体框架:本系统只用了一个页面实现,界面使用上下结构的框架设计,当用户进入系统的时候,打开Default.aspx,该页面分为上下两个部分,上面的部分是用于根据问题输入动物特征,下面的部分是新规则的加入功能部分,也是用户进行添加新规则的页面,这好似一个导航页面,用户可以更具自己的选择进行的操作,由上至下进入不同的功能部分。各个功能模块的设计:
staticint[] a =newint[7];
SqlConnectioncon =newSqlConnection("Server = PC-11; user id = sa;password = ;Database = animal;");
protectedvoidPage_Load(objectsender,EventArgse)
YesOption.Checked =false;
}
protectedvoidNoOption_CheckedChanged(objectsender,EventArgse)
{
a[Convert.ToInt32(Questionselected.SelectedValue)] = 0;

苏州大学《人工智能》实验指导书

苏州大学《人工智能》实验指导书

《人工智能》实验指导书专业年级姓名学号指导老师实验室使用日期苏州大学计算机科学与技术学院统一印制二零零二年八月实验一启发式搜索一、实验目的:熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A 算法求解九宫问题,理解求解流程和搜索顺序。

二、实验方法:1.先熟悉启发式搜索算法;2.用C、C++或JA V A 语言编程实现实验内容。

三、实验背景知识:1.估价函数在对问题的状态空间进行搜索时,为提高搜索效率需要和被解问题的解有关的大量控制性知识作为搜索的辅助性策略。

这些控制信息反映在估价函数中。

估价函数的任务就是估计待搜索节点的重要程度,给这些节点排定次序。

估价函数可以是任意一种函数,如有的定义它是节点x处于最佳路径的概率上,或是x节点和目标节点之间的距离等等。

在此,我们把估价函数f(n)定义为从初始节点经过n节点到达目标节点的最小代价路径的代价估计值,它的一般形式是:f(n) = g(n) + h(n)其中g(n)是从初始节点到节点n的实际代价,g(n)可以根据生成的搜索树实际计算出来;h(n)是从n到目标节点的最佳路径的代价估计,h(n)主要体现了搜索的启发信息。

2. 启发式搜索过程的特性(1)可采纳性当一个搜索算法在最短路径存在的时候能保证能找到它,我们就称该算法是可采纳的。

所有A*算法都是可采纳的。

(2)单调性一个启发函数h是单调的,如果a)对所有的状态n i和n j,其中n j是n i的子孙,h(n i )- h(n j )≤cost(n i,n j ),其中cost(n i,n j )是从n i到n j 实际代价。

b)目标状态的启发函数值为0,即h(Goal)=0.具有单调性的启发式搜索算法在对状态进行扩展时能保证所有被扩展的状态的f值是单调递增(不减)。

(3)信息性比较两个启发策略h1和h2,如果对搜索空间中的任何一个状态n 都有h1(n) ≤h2(n),就说h2比h1具有更多的信息性。

人工智能课程教学大纲

人工智能课程教学大纲

《人工智能》课程教学大纲课程代码:H0404X课程名称:人工智能适用专业:计算机科学与技术专业及有关专业课程性质:本科生专业基础课(学位课)主讲教师:中南大学信息科学与工程学院智能系统与智能软件研究所蔡自兴教授总学时:40学时(课堂讲授36学时,实验教学4学时)课程学分:2学分预修课程:离散数学,数据结构一. 教学目的和要求:通过本课程学习,使学生对人工智能的发展概况、基本原理和应用领域有初步了解,对主要技术及应用有一定掌握,启发学生对人工智能的兴趣,培养知识创新和技术创新能力。

人工智能涉及自主智能系统的设计和分析,与软件系统、物理机器、传感器和驱动器有关,常以机器人或自主飞行器作为例子加以介绍。

一个智能系统必须感知它的环境,与其它Agent和人类交互作用,并作用于环境,以完成指定的任务。

人工智能的研究论题包括计算机视觉、规划与行动、多Agent系统、语音识别、自动语言理解、专家系统和机器学习等。

这些研究论题的基础是通用和专用的知识表示和推理机制、问题求解和搜索算法,以及计算智能技术等。

此外,人工智能还提供一套工具以解决那些用其它方法难以解决甚至无法解决的问题。

这些工具包括启发式搜索和规划算法,知识表示和推理形式,机器学习技术,语音和语言理解方法,计算机视觉和机器人学等。

通过学习,学生能够知道什么时候需要某种合适的人工智能方法用于给定的问题,并能够选择适当的实现方法。

二. 课程内容简介人工智能的主要讲授内容如下:1.叙述人工智能和智能系统的概况,列举出人工智能的研究与应用领域。

2.研究传统人工智能的知识表示方法和搜索推理技术,包括状态空间法、问题归约法谓词逻辑法、语义网络法、盲目搜索、启发式搜索、规则演绎算法和产生式系统等。

3.讨论高级知识推理,涉及非单调推理、时序推理、和各种不确定推理方法。

4.探讨人工智能的新研究领域,初步阐述计算智能的基本知识,包含神经计算、模糊计算、进化计算和人工生命诸内容。

《实验心理学》部分术语解释

《实验心理学》部分术语解释

实验心理学部分术语1.ABAB设计(ABAB design)也称为轮回设计(reversal design),是一种单被试实验设计。

其实验程序包括四个阶段:基线测试、实验处理条件下测试、返回基线测试段、实验处理条件下的再测等阶段。

2.听觉掩蔽(Auditory masking)就是指由于某一声音刺激的存在而使另一声音刺激的强度阈限提高的现象,这是一种常见的听觉现象。

3.被试间实验设计(Between-subjects experimental design)也叫做独立测量设计(independent-measures design)、独立组设计(independent groups design)或组间设计(between-groups design),是将互相独立但又相等的被试组分派在不同实验处理下进行测量,然后对各组测量结果进行比较的一种实验设计。

4.天花板效应(Ceiling effect)分数聚集在测量量表的高分端,使分数提高的可能性很少甚至没有。

这是一种全距效应。

5.混淆变量(Confounding variable)混淆变量(confounding variable),是指那些不拟研究但却与自变量一起发生系统性改变的变量,它使得被试心理或行为变化的原因变得无法确定。

6.知会同意表(Consent form)是研究者提供的书面声明,上面包含所有知会同意的项目和被试签名行。

研究实施之前,要将知会同意表提供给可能被试,以便他们了解在决定是否愿意参加研究之前需要知道的全部信息。

7.控制组(Control group)在一项研究中不接受处理或只接受安慰剂处理的被试组。

8.抵消平衡(Counterbalancing)在被试内设计中,一种为了使顺序效应和与时间有关的影响降到最小而将被试分成若干小组以便各小组以不同的顺序接受一系列实验处理的实验程序,这样做的目的是使在每一种可能的处理顺序上都有相等的被试按照各自顺序参加实验。

化为子句集的九步法

化为子句集的九步法

化为子句集的九步法一、实验目的:熟悉谓词公式化为子句集的九个步骤,理解消解(谓词公式化为子句集)规则,能把任意谓词公式转换成子句集,掌握基于规则推理的基本方法。

二、实验原理产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。

在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。

任一谓词公式通过九步法可以化成一个子句集。

九步法消解包括消去蕴含和等价符号、把否定符号移到紧靠谓词的位置上、变量标准化、消去存在量词、化为前束型、化为Skolem标准形、略去全称量词、消去合取词,把母式用子句集表示、子句换变量标准化,依次变换即可得到子句集。

三、实验内容代码:void main(){cout<<"------------------求子句集九步法演示-----------------------"<<endl;system("color 0A");//orign = "Q(x,y)%~(P(y)";//orign = "(@x)(P(y)>P)";//orign = "~(#x)y(x)";//orign = "~((@x)x!b(x))";//orign = "~(x!y)";//orign = "~(~a(b))";string orign,temp;char command,command0,command1,command2,command3,command4,command5, command6,command7,command8,command9,command10;//================================================================= ============cout<<"请输入(Y/y)初始化谓词演算公式"<<endl;cin>>command;if(command == 'y' || command == 'Y')initString(orign);elseexit(0);//=============================================================================cout<<"请输入(Y/y)消除空格"<<endl;cin>>command0;if(command0 == 'y' || command0 == 'Y'){//del_blank(orign);//undonecout<<"消除空格后是"<<endl<<orign<<endl;}elseexit(0);//================================================================= ============cout<<"请输入(Y/y)消去蕴涵项"<<endl;cin>>command1;if(command1 == 'y' || command1 == 'Y'){orign =del_inlclue(orign);cout<<"消去蕴涵项后是"<<endl<<orign<<endl;}elseexit(0);//================================================================= ============cout<<"请输入(Y/y)减少否定符号的辖域"<<endl;cin>>command2;if(command2 == 'y' || command2 == 'Y'){do{temp = orign;orign = dec_neg_rand(orign);}while(temp != orign);cout<<"减少否定符号的辖域后是"<<endl<<orign<<endl;}elseexit(0);//================================================================= ============cout<<"请输入(Y/y)对变量进行标准化"<<endl;cin>>command3;if(command3 == 'y' || command3 == 'Y'){orign = standard_var(orign);cout<<"对变量进行标准化后是"<<endl<<orign<<endl;}elseexit(0);//================================================================= ============cout<<"请输入(Y/y)消去存在量词"<<endl;cin>>command4;if(command4 == 'y' || command4 == 'Y'){orign = del_exists(orign);cout<<"消去存在量词后是(w = g(x)是一个Skolem函数)"<<endl<<orign<<endl;}elseexit(0);//================================================================= ============cout<<"请输入(Y/y)化为前束形"<<endl;cin>>command5;if(command5 == 'y' || command5== 'Y'){orign = convert_to_front(orign);cout<<"化为前束形后是"<<endl<<orign<<endl;}elseexit(0);//================================================================= ============cout<<"请输入(Y/y)把母式化为合取方式"<<endl;cin>>command6;if(command6 == 'y' || command6 == 'Y'){orign = convert_to_and(orign);cout<<"把母式化为合取方式后是"<<endl<<orign<<endl;}elseexit(0);//=============================================================================cout<<"请输入(Y/y)消去全称量词"<<endl;cin>>command7;if(command7 == 'y' || command7 == 'Y'){orign= del_all(orign);cout<<"消去全称量词后是"<<endl<<orign<<endl;}elseexit(0);//================================================================= ============cout<<"请输入(Y/y)消去连接符号"<<endl;cin>>command8;if(command8 == 'y' || command8 == 'Y'){orign = del_and(orign);cout<<"消去连接符号后是"<<endl<<orign<<endl;}elseexit(0);//================================================================= ============cout<<"请输入(Y/y)变量分离标准化"<<endl;cin>>command9;if(command9 == 'y' || command9 == 'Y'){orign = change_name(orign);cout<<"变量分离标准化后是(x1,x2,x3代替变量x)"<<endl<<orign<<endl;}elseexit(0);//================================================================= ===========cout<<"-------------------------完毕-----------------------------------"<<endl;cout<<"(请输入Y/y)结束"<<endl;do{}while('y' == getchar() || 'Y'==getchar());exit(0);}string change_name(string temp)//更换变量名称{char ctemp[100];strcpy(ctemp,temp.c_str());string output = "";int i = 0,j = 0,falg = 0;while(ctemp[i] != '\0' && i < temp.length()){falg++;while('\n' != ctemp[i] && i < temp.length()){if('x' == ctemp[i]){output = output + ctemp[i] ;output = output + numAfectChar(falg);}elseoutput = output + ctemp[i] ;i++;}output = output + ctemp[i] ;i ++;}return output;}bool isAlbum(char temp){if(temp <= 'Z' && temp >= 'A' || temp <= 'z' && temp >= 'a') return true;return false;}char numAfectChar(int temp)//数字显示为字符{char t;switch (temp){case 1:t = '1';break;case 2:t = '2';break;case 3:t = '3';break;case 4:t = '4';break;default:t = '89';break;}return t;}四、实验步骤:1对默认谓词公式进行转换。

人工智能应用技术课程标准

人工智能应用技术课程标准

人工智能应用技术课程标准人工智能应用技术》是一门综合性前沿学科,是信号与系统与计算机的交叉学科。

它是机电一体化技术专业培养方案中“职业能力与素质”模块中的一门专业核心课。

该课程旨在培养学生程序设计能力、软件开发能力、硬件开发能力、数字信号处理能力、机器算法能力以及神经网络算法能力。

先修课程包括《C语言程序设计》、《Java程序设计》、《Android编程》、《Linux操作系统》、《嵌入式技术与应用》。

后续课程包括《工业机器人应用技术》和《机电一体化技术》。

通过本课程的研究和训练,学生可以掌握人工智能技术的基本原理。

他们将了解启发式搜索策略、与或图搜索问题、谓词逻辑与归结原理、知识表示、不确定性推理方法、机器研究和知识发现等目前人工智能的主要研究领域的原理、方法和技术。

该课程旨在增强学生的逻辑思维与实验能力,为今后在各自领域开拓高水平的人工智能技术应用奠定基础。

在设计理念方面,该课程以职业教育模式为中心,突出教师的主导作用和学生的主体地位。

教师的教授应以学生为主体,以学生的研究为中心进行课程教学活动的设计。

注重学生的素质教育和能力培养,帮助学生“学其所用,用其所学”。

课程设计充分体现了职业性、实践性和开放性的要求,体现职业岗位的能力要求,使课程设计与职业岗位能力紧密对应。

让企业参与到专业建设及课程设置的各个环节中,在校企合作中创新人才培养模式。

在设计思路方面,该课程强调理解和记忆算法基本结构。

在整个课程所涉及的教学内容的研究过程中都按照“算法基本结构的理解和记忆-简单C++程序算法设计-上机调试程序技能训练-实际应用”这条主线来进行。

也就是说对人工智能的各种算法主要内容的研究,以理解加记忆为主,通过上机调试程序加深理解和记忆;要求学生熟记常用的典型算法。

该课程还注重熟练上机调试技能,灵活掌握编程技巧。

The course consists of XXX students the basic principles of programming。

产生式系统

产生式系统

产生式认知模型
例: 用Markov算法作用于任意给定的字符串。
规则:(1)αxy → yαx (2)α→ ^ (3) ^ →α 。
输入字符串 : “ ^ABC ”
✓希腊字母α、β等代表专用符号串; ✓小写字母 x、y 、z 等表示单个字符 的变量;
✓专用字符 ^ 为空字符串。
执行算法过程:规则自左向右地作用输入字符串。
北京航空航天大学软件开发环境国家重点实验室
Slide 4
产生式认知模型
纽厄尔和西蒙 Newell & Simon(1972)将产生式模型用于 表示人类问题求解的认知模型 :
✓ 长期记忆 - 大脑中积累的各种知识和经验(成块的、大容量知识) ✓ 短时记忆 –临时输入的求解某具体问题所需的信息(小容量的、动
LHS: 本规则触发应满足的条件; RHS:本规则触发后可产生的结果(或应执行的操作)
例: R1: IF (x,0,y,0) THEN (v,0,y,0);
R2: IF likes(x,y) & likes(y,x) THEN friend(x,y) R2: IF 天气太热 THEN 打开空调;
北京航空航天大学软件开发环境国家重点实验室 Slide 13
规则的匹配
从规则库的第一条规则开始,按排列顺序逐条用规则的前提条件与事 实库中事实进行匹配;
北京航空航天大学软件开发环境国家重点实验室 Slide 6
基于产生式认知模型的产生式系统体系结构
长期记忆 --- 规则库(长期知识库、 …. )
短时记忆 ---
工作存储器(事实库、工作库、综合 数据库、…. )
认知处理器 --- 推理机(控制系统、控制策略、解 释程序、….)
北京航空航天大学软件开发环境国家重点实验室 Slide 7

实验一:产生式系统实验

实验一:产生式系统实验

实验一:产生式系统实验一、实验目的:熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。

二、实验原理产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。

在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。

产生式系统是由一组规则组成的、能够协同作用的推理系统。

其模型是设计各种智能专家系统的基础.产生式系统主要由规则库、综合数据库和推理机三大部分组成。

本实验环境主要提供一个能够实现模拟产生式专家系统的验证、设计和开发的可视化操作平台。

学生既能用本系统提供的范例进行演示或验证性实验,也能够用它来设计并调试自己的实验模型。

三、实验条件:1、产生式系统实验程序。

2、IE6.0以上,可以上Internet四、实验内容:1.对已有的产生式系统(默认的例子)进行演示,同时可以更改其规则库或(和)事实库,进行正反向推理,了解其推理过程和机制。

2.自己建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的规则和事实,并基于这种规则和事实进行推理。

这为学生亲手建造产生式系统并进行推理提供了一种有效的实验环境。

五、实验步骤:1.定义变量,包括变量名和变量的值。

2.建立规则库,其方法是,(a) 输入规则的条件:每条规则至少有一个条件和一个结论,选择变量名,输入条件(符号);选择变量值,按确定按钮就完成了一条条件的输入。

重复操作,可输入多条条件;(b) 输入规则的结论:输入完规则的条件后,就可以输入规则的结论了,每条规则必须也只能有一个结论。

选择变量名,输入条件(符号),选择变量值,按确定按钮就完成了一个结论的输入。

重复以上两步,完成整个规则库的建立。

3.建立事实库(总数据库):建立过程同步骤2。

重复操作,可输入多条事实。

4.然后按“开始”或“单步”按钮即可。

此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。

人工智能 教学大纲

人工智能 教学大纲

人工智能教学大纲一、课程说明课程编号:课程名称(中/英文):人工智能/Artificial Intelligence课程类别:专业核心课学时/学分:32/2先修课程:离散数学,数据结构适用专业:智能科学与技术、信息安全、计算机科学与技术、物联网工程教材、教学参考书:[1] 蔡自兴,徐光祐。

人工智能及其应用,第四版,本科生用书。

清华大学出版社。

[2] N. J. Nilsson. Artificial Intelligence: A New Synthesis. Morgan Kaufmann, 机械工业出社。

[3]蔡自兴。

人工智能及其在决策系统中的应用。

国防科技大学出版社。

[4] 蔡自兴,John Durkin,龚涛。

专家系统:原理、设计与应用。

科学出版社。

二、课程设置的目的意义直至现在,乃然把人工智能看作是主要研究如何利用计算机模拟人类智力活动的一门学科,是计算机科学的一个分支。

其主要任务是建立智能信息处理理论,从质的方面扩充计算机的能力,是一门综合性强、实践性强、创新性强和应用领域广的科学。

本课程的教学目的是通过介绍人工智能的基本知识、基本概念、基本特点以及人工智能的应用领域,启发学生的思路,掌握开发具有人工智能特点的应用软件的技术,培养学生对人工智能的兴趣,提高学生的知识创新和技术创新能力。

三、课程的基本要求本课程要求学生了解人工智能的一些相关基本概念、各种不同学术流派的主要思想;掌握一些经典的人工智能方法,如知识表示方法和搜索推理技术,包括状态空间法、谓词逻辑法、盲目搜索、启发式搜索、消解原理等;了解人工智能的新研究领域计算智能的基本知识,包含神经计算、模糊计算、进化计算和人工生命等;了解群智能的基本知识,包含蚁群优化和粒群优化算法等。

五、实践教学内容和基本要求实验一:图搜索实验实验内容与要求:熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解N数码难题,理解求解流程和搜索顺序。

动物识别系统

动物识别系统

学生实验报告实验课名称:人工智能实验项目名称:产生式系统实验专业名称:计算机科学与技术班级: 2012240201学号: 12学生姓名:雷彬教师姓名:陈亮亮2014年12 月10 日实验日期:2012 年12 月10 日实验室名称:明远2202首先给定初始事实,将初始事实放入动态数组中,并用初始事实与15条规则进行匹配,如果规则匹配成功,将规则的后件存入数组中,再用数组中所有的元素与规则进行匹配,满足即加入数组,直到匹配出动物。

如果给定初始事实能推出多种动物,按照数组中条件的先后顺序,顺序循环匹配规则,先匹配出哪种动物就显示该动物。

五.源程序:// MFC_AnimalDlg.cpp : 实现文件#include"stdafx.h"#include"MFC_Animal.h"#include"MFC_AnimalDlg.h"#include"afxdialogex.h"#ifdef_DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框class CAboutDlg : public CDialogEx{public:CAboutDlg();// 对话框数据enum { IDD = IDD_ABOUTBOX };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持// 实现protected:DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD){}void CAboutDlg::DoDataExchange(CDataExchange* pDX){CDialogEx::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)END_MESSAGE_MAP()// CMFC_AnimalDlg 对话框CMFC_AnimalDlg::CMFC_AnimalDlg(CWnd* pParent/*=NULL*/) : CDialogEx(CMFC_AnimalDlg::IDD, pParent){m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CMFC_AnimalDlg::DoDataExchange(CDataExchange* pDX){CDialogEx::DoDataExchange(pDX);DDX_Control(pDX, IDC_COMBO1, m_point1);DDX_Control(pDX, IDC_COMBO4, m_point2);DDX_Control(pDX, IDC_COMBO5, m_point3);DDX_Control(pDX, IDC_COMBO6, m_point4);DDX_Control(pDX, IDC_COMBO7, m_point5);DDX_Control(pDX, IDC_COMBO8, m_point6);DDX_Control(pDX, IDC_COMBO9, m_point7);}BEGIN_MESSAGE_MAP(CMFC_AnimalDlg, CDialogEx)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON2, &CMFC_AnimalDlg::OnClickedButton2) ON_BN_CLICKED(IDC_BUTTON1, &CMFC_AnimalDlg::OnClickedButton1) END_MESSAGE_MAP()// CMFC_AnimalDlg 消息处理程序BOOL CMFC_AnimalDlg::OnInitDialog(){CDialogEx::OnInitDialog();// 将“关于...”菜单项添加到系统菜单中。

人工智能实验指导书

人工智能实验指导书

人工智能及应用实验指导书前言《人工智能及应用》课程实验的目的是为了配合课堂教学,进一步强化对人工制能的不同实现途径的理解。

实验的任务是要结合相关的人工智能语言平台(PROLOG语言),熟练掌握和深入理解课堂教学内容。

帮助学生更好地学习本课程,理解和掌握人工智能算法设计与实现所需的技术,为整个专业学习打好基础,要求运用所学知识,上机解决一些典型问题,通过分析、设计等各环节的训练,使学生深刻理解、牢固掌握所用到的一些原理与技术。

实验中的内容和教科书的内容是密切相关的,在反复实践的过程中才能掌握。

使学生在掌握抽象人工智能理论的基础之上学到更多可操作性很强的智能算法技术及实践经验。

目录实验一 Prolog语言及逻辑程序设计 (1)实验二搜索策略实验 (3)实验三专家系统实验 (6)实验一 Prolog语言及逻辑程序设计一、实验目的加深学生对逻辑程序运行机理的理解,使学生掌握PROLOG语言的特点、熟悉其编程环境,同时为后面的人工智能程序设计做好准备。

1、熟悉PROLOG语言编程环境的使用;2、了解PROLOG语言中常量、变量的表示方法;3、了解利用PROLOG进行事实库、规则库的编写方法。

二、实验环境计算机,Visual PROLOG教学软件。

三、预习要求实验前应阅读实验指导书,了解实验目的、预习PROLOG语言的相关知识。

四、实验内容1、学习使用Visual PROLOG,包括进入PROLOG主程序、编辑源程序、修改环境目录、退出等基本操作。

2、在Visual prolog集成环境下调试运行简单的Visual PROLOG程序。

3、编写一个描述亲属关系的PROLOG程序,然后再给出一些事实数据,建立一个小型演绎数据库。

可以以父亲和母亲为基本关系(作为基本谓词),再由此来描述祖父、祖母、兄弟、姐妹以及其他亲属关系。

4、修改教材2.2节例2.9的程序,使其能输出图中所有路径(path)。

五、实验方法和步骤1、启动Windows 操作环境。

实验一:产生式系统-动物识别系统

实验一:产生式系统-动物识别系统

《人工智能导论》实验报告实验一:产生式系统——动物识别系统一、实验目的1、掌握知识的产生式表示法2、掌握用程序设计语言编制智能程序的方法二、实验内容1、所选编程语言:C语言;2.拟订的规则:(1)若某动物有奶,则它是哺乳动物。

(2)若某动物有毛发,则它是哺乳动物。

(3)若某动物有羽毛,则它是鸟。

(4)若某动物会飞且生蛋,则它是鸟。

(5)若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。

(6)若某动物是哺乳动物且吃肉,则它是食肉动物。

(7)若某动物是哺乳动物且有蹄,则它是有蹄动物。

(8)若某动物是哺乳动物且反刍食物,则它是有蹄动物。

(9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。

(10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是金钱豹。

(11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。

(12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。

(13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。

(14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。

(15)若某动物是鸟且善飞,则它是海燕。

2、设计思路:用户界面:采用问答形式;知识库(规则库):存放产生式规则,推理时用到的一般知识和领域知识,比如动物的特征,动物的分类标准,从哺乳动物、食肉动物来分,再具体地添加一些附加特征得到具体动物;建立知识库的同时也建立了事实库。

事实库是一个动态链表,一个事实是链表的一个结点。

知识库通过事实号与事实库发生联系。

数据库:用来存放用户回答的问题,存放初始状态,中间推理结果,最终结果;推理机:采用正向推理,推理机是动物识别的逻辑控制器,它控制、协调系统的推理,并利用知识库中的规则对综合数据库中的数据进行逻辑操作。

推理机担负两项基本任务:一是检查已有的事实和规则,并在可能的情况下增加新的事实;二是决定推理的方式和推理顺序。

将推理机制同规则对象封装在一起,事实对象记录了当前的状态,规则对象首先拿出前提条件的断言(只有这些前提都有符合时才会做这条规则的结论),询问事实对象集,如事实对象集不知道,则询问用户,如所有前提条件都被证实为真则结论为真,否则系统不知道结论真假。

人工智能实验报告-产生式系统推理-动物识别

人工智能实验报告-产生式系统推理-动物识别

人工智能第二次实验报告产生式系统推理班级:姓名:学号:一、实验目的1. 理解并掌握产生式系统的基本原理;2. 掌握产生式系统的组成部分,以及正向推理和逆向推理过程。

二、实验要求1. 结合课本内容, 以动物识别系统为例,实现小型产生式系统;2. 要求: 正向推理中能根据输入的初始事实,正确地识别所能识别的动物;逆向推理中能根据所给的动物给出动物的特征。

三、实验算法1. 如何表示事实和特征的知识;在本程序中,我将动物的特征写入data.txt,将规则记入rules.txt,将动物种类记为goal.txt。

通过函数void readFiles(){readGoal();readCod();readRule();}读入所有数据分别存放于goal[],rule[],cod[]自定义数组中。

2. 指出综合数据库和规则库分别使用哪些函数实现的?综合数据库(包括特征和目标)typedef struct{int xuh;//存放编号char valu[50];//存放具体内容}Node;Node goal[20];Node cod[50];规则库typedef struct{int rslt;int codNum;//记载前提的个数int cod[10];//记载前提的序号int used;//记载是否已匹配成功}Nrule;Nrule rule[50];void readRule(){FILE *fp;int i;int tempxuh,tempcodn;char ch;if((fp=fopen("rules.txt","r"))==NULL){printf("cannot open data\n");exit(0);}i=0;rule[i].codNum=0;while((ch=fgetc(fp))!=EOF){if(i==14)i=i;tempcodn=0;while(ch!='\n'&&ch!=EOF) //每一条规则{tempxuh=0;while(ch<='9'&&ch>='0'){tempxuh=tempxuh*10+ch-'0';ch=fgetc(fp);}rule[i].cod[tempcodn++]=tempxuh;tempxuh=0;if(ch=='-')//下一个是结论{ch=fgetc(fp);ch=fgetc(fp);while(ch<='9'&&ch>='0'){tempxuh=tempxuh*10+ch-'0';ch=fgetc(fp);}rule[i].rslt=tempxuh;}//ifelse if(ch=='*'){ch=fgetc(fp);}rule[i].codNum++;}i++;}rulenum=i;fclose(fp);}3. 规则库的匹配算法是什么?如何选用可用规则集中的规则?分别使用哪些函数实现的?程序中的正向与逆向搜索分别是在void main()中调用forwardFinger()和backFinger()来实现的。

人工智能实验报告

人工智能实验报告

暨南大学人工智能实验报告题目:动物识别系统院系:信科院计算机系专业:计算机软件与理论学号: 0934061004学生姓名:张韶远成绩:日期: 2009年11月10日一、目的与要求1.掌握人工智能的知识表示技术,能用产生式表示法表示知识,并实现一个用于识别的专家系统。

2.推理策略采用正向推理和反向推理两种。

二、主要内容1.学习人工智能的知识表示技术,关键掌握产生式知识表示的具体应用方法。

2.实现的动物识别系统的主要功能如下:2.1系统能通过正向、反向推理得到正确的动物识别结果。

2.2系统能动态地添加规则、能显示推理过程。

三.实验原理产生式表示:产生式表示是知识表示的一种。

这种方法是建立在因果关系的基础上的,可很容易的描述事实、规则及其不确定性度量。

1.事实的表示:事实可看成是断言一个语言变量的值或是多个语言变量间的关系的陈述句,语言变量的值或语言变量间的关系可以是一个词。

不一定是数字。

一般使用三元组(对象,属性,值)或(关系,对象1,对象2)来表示事实,其中对象就是语言变量,若考虑不确定性就成了四元组表示(增加可信度)。

这种表示的机器内部实现就是一个表。

如事实“老李年龄是35岁”,便写成(Lee,age,35)事实“老李、老张是朋友”,可写成(friend,Lee,Zhang)2.规则的表示:规则用于表示事物间的因果关系,以if condition then action 的单一形式来描述,将规则作为知识的单位。

其中的condition 部分称为条件式前件或模式,而action部分称作动作、后件或结论。

后件。

前件和后件也可以是有“与”、“或”、“非”等逻辑运算符的组合的表达式。

条件部分常是一些事实的合取或析取,而结论常是某一事实B。

如果不考虑不确定性,需另附可信度度量值。

产生式过则的含义是:如果前件满足,则可得到后件的结论或者执行后件的相应动作,即后件由前件来触发。

一个产生式生成的结论可以作为另一个产生式的前提或语言变量使用,进一步可构成产生式系统。

实验一 产生式系统实验

实验一  产生式系统实验
(11)fruit("樱桃"):-is("温热性水果"),positive("大红色的"),positive("甜的")
(12)is("寒凉性水果"):-positive("清热降火")
(13)is("平性水果"):-positive("寒热偏性不明,开胃健脾")
(14)is("温热性水果"):-positive("驱寒补虚")
(2)编辑知识库,通过输入规则或修改规则等,完成整个规则库的建立。
(3)建立事实库(综合数据库),输入多条事实或结论。
(4)运行推理,包括正向推理和反向推理,给出相应的推理过程、事实区和规则区。
2. 撰写实验报告。
四、实验结果
1. 系统名称及谓词定义
(1)系统名称:水果识别系统
(2)谓词定义:
①水果是:fruit
(7)fruit("苹果"):-is("平性水果"),positive("红色的")
(8)fruit("桑葚"):-is("平性水果"),positive("紫色的")
(9)fruit("西瓜"):-is("寒凉性水果"),positive("多汁的"),positive("葫芦科水果")
(10)fruit("香蕉"):-is("寒凉性水果"),positive("黄色的"),positive("剥皮的")

推理技术-产生式系统

推理技术-产生式系统
第四章 产生式系统
产生式系统概述 产生式系统工作原理 产生式系统控制策略 产生式系统与图搜索 产生式系统评价

பைடு நூலகம்
4.1 产生式系统概述



产生式系统(Production System): 美国 数学家Post 1943年提出. 产生式(Production): 前件-->后件 产生式 产生式系统的组成:
3.IF 衣服是脏的
AND 有15件以上的脏衣服 THEN 洗衣服
4.IF 洗衣服
THEN 衣服是湿的
规则库
1.IF 衣服是湿的
AND 天气晴朗 THEN 在户外晾晒衣服
步骤2:和规则4进行匹配
2.IF 衣服是湿的
AND 外面在下雨 THEN 用干衣机烘干衣服
动态数据库
衣服是脏的 有20件脏衣服
3.IF 衣服是脏的


反向推理
规则的一般形式: P1 --> P2 ; P3

P2 -->
反向推理 : 反向使用规则的推理过程.
从目标状态(目标条件)到初始状态(初始事实/数 据)的与或图解搜索过程. 又称目标驱动, 自顶向 下,后向, 反向连推理.

反向推理算法 : 无信息, 启发式 反向推理举例 : 动物分类
产生式系统优点

模块性: 产生式规则是规则库中最基本的知识单元, 各规则之间只能通过综合数据库发生联系,不能相互 调用,增加了规则的模块性,有利于对知识的增加、 删除和修改。 有效性: 产生式表示法既可以表示确定性知识,又可 以表示不确定性知识,既有利于表示启发性知识,又 有利于表示过程性知识。 自然性: 产生式表示法用“If…then…”的形式表示知 识,这种表示形式与人类的判断性知识基本一致,直 观、自然,便于推理。 模拟性: 人们在研究人工智能问题时,发现产生式系统 可以较好模拟人类推理的思维过程。

中南大学人工智能实验报告

中南大学人工智能实验报告

“人工智能”实验报告专业班级学号姓名目录一、实验八自动规划实验群 (3)二、实验一生产式系统实验群 (6)三、实验二搜索策略实验群 (7)四、实验七神经网络 (9)五、实验心得和体会 (10)实验八自动规划实验群实验目 熟悉和掌握 自动规划的基本原理,方法和主要技术。

的规划是一种问子题求解技术,它从某个特定的问题状态出发,寻求一系列行为动 实验原 作,并建立一个操作序列,直到求得目标状态为止。

简而言之,规划是一个行动 理 过程的描述。

一个总规划可以含有若干个子规划。

实验环 境 转载相 关源文 件实现过单步观察实验算法 程姓名 班级 指导老师日期2011.12实验环境转载相关源文件p uftdErwnl9l^l<ri T^='tfQ 沖 puMownpl^ Z B 丰懂沖_____ itWlDi-i : al# it Fin^ulD&cal«JPfLuii Cnmpleiec p®n直 ZJmrn*l通过规定规则,确定initial state 和goal state ,使得移动臂按照规则进行移动。

分别进行 clear holding pickup putdown putdowntable 等实现对木块的移动。

实现过程先进行逆向推理选择,找出途径后再进行移动。

通过规定不同的动作可实现不通过的移动。

匾?1■“ iMHJ1 , IEC'r'aair S^vaMjln SI"Run - ianvvi-dc^-(ii :hUCM^b-^ I1AHttH miTi阿haWinjC^Flft^'算法结Appta-t 1.1 — Ki-nl果分析 FII& Edit DpIICi 帖 HelpU ■西Y Salve1tfripn?;Ti*(曲说“2,瞇习阿出聊柑1.H±P 打J r1 / \ — 7、/ \■:hc-id滞⑥if.nF 栅2> 咋 mm 叩冲豁 1,矗sit 宜ivh- v -w *urenisiu'^ pirkdp lfit 己住块71Vffc^CuilHnE Pl^i!Fiunrian uuiri 自 n 輕■.祐.9 r 卩卜■»■ __ ―工 _______ yZZ-Z5-Z^-——_r-pnfepie?r<-pr "ableff®vcIgarfKift'f i 』:8EEf1* A 、 一 一 一一』 X S1_^X学生结对于不同的规则将会出现不同的移动过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一产生式系统——动物识别系统一、实习目的和意义1、掌握人工智能的知识表示技术,能用产生式表示法表示知识;2、掌握基于规则推理的基本方法;3、掌握产生式系统的运行机制。

二、实习内容参考教材规则库包含15条规则,开发一个专家系统可以识别老虎,金钱豹,斑马,长颈鹿,企鹅,鸵鸟等6种动物。

三、实习要求1、本次实验语言MATLAB;2、系统能通过正向推理得到正确的动物识别结果。

四、实习过程1.实验原理正向推理(事实驱动推理)1)从初始已知事实出发,在知识库KB中找出当前可适用的知识,构成可适用知识集KS;2)按某种冲突消解策略,从KS中选出一条知识进行推理,并将推出的新事实加入到数据库DB中,作为下一步推理的已知事实,再在KB中选取可适用知识构成KS;3)重复步骤二,直到求得问题的解,或KB中再无可适用的知识。

2.问题背景根据课本P33的15调动物识别的专家知识,建立规则库。

3.算法设计主要利用数组下标和元素的0,1值表示知识,规则,及相关标记。

4.Matlab实现a.算法函数名函数说明learn function learn(arr_category, arr_feature)主函数checkRule function[arr_category,arr_feature,arr_rule,ifMore,mark]=checkRule(arr_category,arr_feature,arr_rule,ifMore,mark )规则符合检测showCategory function showCategory( )类别选项打印函数showFeature function showFeature()特征选项打印函数showResult function showResult(mark)结果显示b.测试测试数据一1 0 0 0 1arr_category[5]arr_feature[20 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 00]测试数据二arr_category[5]0 0 0 0 0arr_feature[20]1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0五、实习总结1.实习总结本次实验主要复习了产生式规则,利用正向推理和15条规则,建立简单的动物识别专家系统,并具有一定的容错性。

2.附录:代码MATLAB代码:function learn(arr_category, arr_feature)%产生式规则-正向推理-主函数% 标记函数初始化,规则函数调用arr_rule=zeros(1,15);mark=-1;ifMore=0;disp(arr_category);disp(arr_feature);%showCategory();%arr_category=input('输入信息:');%showFeature();%arr_feature=input('输入信息');[arr_category,arr_feature,arr_rule,ifMore,mark]= checkRule(arr_category,arr_feature,arr_rule,ifMore,mark);busy=1;while busy==1if mark>-1showResult(mark);break;endif ifMore==0disp('无法判断具体是哪种动物!');breakendifMore=0;[arr_category,arr_feature,arr_rule,ifMore,mark]= checkRule(arr_category,arr_feature,arr_rule,ifMore,mark); endendfunction [arr_category,arr_feature,arr_rule,ifMore,mark]= checkRule(arr_category,arr_feature,arr_rule,ifMore,mark ) %正向推理函数% 逐条检查规则是否满足,若满足,则增加新信息ifMore=0;for i = 1:1:15if arr_rule(i)==0switch icase 1if arr_feature(1)>0arr_category(1)=1;arr_rule(i)=1;ifMore=1;disp(['根据规则',num2str(i)]);disp('新增信息:该动物是哺乳动物');end%break;case 2if arr_feature(2)>0arr_category(1)=1;arr_rule(i)=1;ifMore=1;disp(['根据规则',num2str(i)]);disp('新增信息:该动物是哺乳动物');end%break;case 3if arr_feature(3)>0arr_category(2)=1;arr_rule(i)=1;ifMore=1;disp(['根据规则',num2str(i)]);disp('新增信息:该动物是鸟');end%break;case 4if arr_feature(4)*arr_feature(5)>0arr_category(2)=1;arr_rule(i)=1;ifMore=1;disp(['根据规则',num2str(i)]);disp('新增信息:该动物是鸟');end%break;case 5if arr_feature(6)>0arr_category(3)=1;arr_rule(i)=1;ifMore=1;disp(['根据规则',num2str(i)]);disp('新增信息:该动物是食肉动物');end%break;case 6if arr_feature(7)*arr_feature(8)*arr_feature(9)>0arr_category(3)=1;arr_rule(i)=1;ifMore=1;disp(['根据规则',num2str(i)]);disp('新增信息:该动物是食肉动物');end%break;case 7if arr_category(1)*arr_feature(10)>0arr_category(4)=1;arr_rule(i)=1;ifMore=1;disp(['根据规则',num2str(i)]);disp('新增信息:该动物是有蹄类动物');end%break;case 8if arr_category(1)*arr_category(5)>0arr_category(4)=1;arr_rule(i)=1;ifMore=1;disp(['根据规则',num2str(i)]);disp('新增信息:该动物是有蹄类动物');end%break;case 9ifarr_category(1)*arr_category(3)*arr_feature(11)*arr_feature(12)>0arr_animal(2)=1;arr_rule(i)=1;ifMore=1;mark=2;disp(['根据规则',num2str(i)]);end%break;case 10ifarr_category(1)*arr_category(3)*arr_feature(11)*arr_feature(13)>0arr_animal(1)=1;arr_rule(i)=1;ifMore=1;mark=1;disp(['根据规则',num2str(i)]);end%break;case 11ifarr_category(4)*arr_feature(14)*arr_feature(15)*arr_feature(16)>0arr_animal(4)=1;arr_rule(i)=1;ifMore=1;mark=4;disp(['根据规则',num2str(i)]);end%break;case 12if arr_category(4)*arr_feature(13)>0arr_animal(3)=1;arr_rule(i)=1;ifMore=1;mark=3;disp(['根据规则',num2str(i)]);end%break;case 13ifarr_category(2)*arr_feature(14)*arr_feature(15)*arr_feature(17)*arr_feature(18) >0arr_animal(6)=1;arr_rule(i)=1;ifMore=1;mark=6;disp(['根据规则',num2str(i)]);end%break;case 14ifarr_category(2)*arr_feature(19)*arr_feature(17)*arr_feature(18)>0arr_animal(5)=1;arr_rule(i)=1;ifMore=1;mark=5;disp(['根据规则',num2str(i)]);end%break;case 15if arr_category(2)*arr_feature(20)>0arr_animal(7)=1;arr_rule(i)=1;ifMore=1;mark=7;disp(['根据规则',num2str(i)]);endendendendendfunction showCategory( )%类别选项显示%disp('请选择分类(1:是,0:其他):');disp('0.哺乳动物');disp('1.鸟');disp('2.食肉动物');disp('3.蹄类动物');disp('4.反刍动物');endfunction showFeature()%具体特征列表% 此处显示详细说明disp('请选择具体特征(1:是,0:其他):');disp('0.有毛发');disp('1.有奶');disp('2.有羽毛');disp('3.会飞');disp('4.会下蛋');disp('5.吃肉');disp('6.有犬齿');disp('7.有爪');disp('8.眼盯前方');disp('9.有蹄');disp('10.黄褐色');disp('11.身上有斑点'); disp('12.身上有黑色条纹'); disp('13.有长脖子');disp('14.有长腿');disp('15.身上有暗斑点'); disp('16.不会飞');disp('17.有黑白两色'); disp('18.会游泳');disp('19.擅飞');endfunction showResult(mark) %结果显示% 此处显示详细说明disp('****识别结果****'); disp('该动物是:');switch markcase 1disp('虎');%break;case 2disp('金钱豹');%break;case 3disp('斑马');%break;case 4disp('长颈鹿');%break;case 5disp('企鹅');%break;case 6disp('鸵鸟');%break;case 7disp('信天翁');%break; endend。

相关文档
最新文档