1、农业信息学实验报告农业信息技术实验报告实验一 L-Studio的使用一、实验目的及要求(1)掌握植物拓扑结构的模拟方法(2)掌握虚拟植物系统Lstudio的使用。二、实验环境CPU为酷睿2.4G、内存1G、硬盘为320G的高档微机,L-Studio系统三、实验内容 (1)熟悉L-studio软件的运行环境和使用方法。(2)根据L-studio的迭代规则和语法实现课本上的实验。(3)熟悉L-studio中对分支结构的描述。四、实验步骤(1)双击L-systemL-studio.binLStudio.exe文件,启动L-Studio系统;(2)在project菜单下,单击new菜单项,新建一个工程
2、;(3)在L-System界面下编写程序代码; 完成书上136页的例1至例3; 自行编写一段程序;(4)代码书写完毕后,在cpfg菜单下,单击go菜单项,运行出程序结果,即虚拟植物的形态;(5)通过截图记录程序运行结果。五、程序代码及实验结果(1)例1程序代码和运行结果截图 代码:#define STEPS 4Lsystem: 1derivation length: STEPSAxiom: AA -B+B-BAhomomorphismA -, F;B-,F;Endlsystem运行结果: 图1(2)例2程序代码和运行结果截图代码:#define STEPS 4Lsystem: 1derivat
3、ion length: STEPSAxiom: AA -B+A-ABAB -BBhomomorphismA -,(127)F(1),(64)O(0.8)B -,(127)F(1)Endlsystem运行结果:图2(3)例3程序代码和运行结果截图代码:#define STEPS 4Lsystem: 1derivation length: STEPSAxiom: AA -A+AA-AAhomomorphismA -,F;Endlsystem运行结果:图32、自行编写的程序代码和运行结果截图代码如下:#define STEPS 4Lsystem: 1derivation length: STEPSA
4、xiom: AA -+B+AA-A+BA-BAB-+BB-BhomomorphismA -,(127)F(1),(64)O(0.8);B-,(127)F(1)Endlsystem运行结果: 图4六、总结使用L-studio软件去虚拟植物,是农业技术的体现,能够虚拟现实,能够去掌握虚拟植物的拓扑结构。L-studio软件的运行很简便,运行速率高,使用便捷,通过这次了解该软件的运行环境,并掌握使用方法。对L-studio的迭代规则和语法规则也有更深的认知,学会了L-studio中对分支结构的描述。实验二 农业专家系统知识库构建一、实验目的及要求掌握知识表达方法,掌握利用关系型数据库Microsof
5、t SQL Server 2008构建知识库的方法。二、实验环境CPU为酷睿2.4G、内存1G、硬盘为320G的高档微机,Microsoft SQL Server 2008三、实验内容提前收集、整理有关农业知识,并用产生式规则表示知识;熟悉关系型数据库特别是Microsoft SQL Server 2008有关内容及操作,掌握利用关系型数据库Microsoft SQL Server 2008构建知识库的方法,课上完成知识库的设计与调试,课后提交实验报告。四、实验步骤(1)打开Microsoft SQL Server 2008;构 农业专家系统;(2)利用关系型数据库Microsoft SQL
6、Server 2008建立农业专家系统事实库、规则库。五、操作过程及实验结果(1)获取农业知识对拟盘多毛孢叶斑病有如下描述:常自叶尖或叶缘先出现半圆形或不规则形病斑,呈褐色,边缘深褐色,逐渐扩大或连合成斑块,变灰褐色至灰白色,斑面有小黑点。致使叶片早衰,干枯脱落,削弱树势(2)产生式规则表示知识前件:1 病斑为半圆形、2 病斑为圆形、3病斑为褐色、4 病斑为白色 5病斑边缘为深褐色、6病斑边缘为灰色、7病斑逐渐扩大、8 病斑颜色逐渐变深、9病斑逐渐连合成斑块、10 病斑慢慢变为褐色或灰白色、11 病斑慢慢变为暗褐色、12 斑面有小黑点、13斑面有轮纹备注:1-13代表病害表现的编号,即也是代表
7、一种总值,在后期构建数据库有所用后件:拟盘多毛孢叶斑病规则:如果 :1、3、5、7、9、10、12、都发生 则:拟盘多毛孢叶斑病 总值为47说明:总值代表后件所需前件之和(3)事实库与规则库的构建 打开Microsoft SQL Server 2008软件,创建了拟盘多毛孢叶斑病数据库,包含三个表,即病害表现、病害综合、病害诊断(见图1)。 图1 数据库的建立 建表情况,见图2图4. 图2 病害表现表说明:字段disease_feature代表病害表现,disease_id代表病害表现的编号或总值 图3 病害综合说明:字段disease_value表示总值,由某一情况所有病害表现总值之和,字段
8、disease1disease13代表13病害的各自总值目的:总值之和是不能说明就患什么病,因和是不能表明究竟是那些病害表现的和,所以为避免歧义性,能确定唯一性,所以采用这种存储。图4 病害诊断说明:字段disease_name表示病害的情况,即结论。(4)在数据库中实现产生式表达 知识规则编辑完毕后,根据专家系统开发平台的要求,将知识规则形式化。如果:部位=叶部并且:病症病状区分= 病斑 并且:症状1 =病斑为半圆形 并且:症状2 = 病斑为褐色并且:症状3 = 病斑边缘为深褐色并且:症状4 = 病斑逐渐扩大并且:症状5 = 病斑逐渐连合成斑块并且:症状6 = 病斑慢慢变为褐色或灰白色并且:
9、症状7 = 斑面有小黑点编写代码如下:PRINT space(15)+拟盘多毛孢叶斑病的诊断print REPLICATE(*,55)print space(8)+第一步:根据您输入的拟盘多毛孢叶斑病情况如下DECLARE KCM1 nchar(40),KCM2 nchar(40),KCM3 nchar(40) ,KCM4 nchar(40) ,KCM5 nchar(40),KCM6 nchar(40),KCM7 nchar(40),value int,id1 int=0, id2 int=0,id3 int=0,id4 int=0,id5 int=0,id6 int=0,id7 int=0,
10、id8 int=0,id9 int=0 /*-第一步输入了解的事实,即前件-*/ PRINT space(15)+KCM1 PRINT space(15)+KCM2 PRINT space(15)+KCM3 PRINT space(15)+KCM4 PRINT space(15)+KCM5 PRINT space(15)+KCM6 PRINT space(15)+KCM7 PRINT space(15)+KCM8 PRINT space(15)+KCM9print space(8)+第二步:根据您输入的情况初步判断select id1=病害表现.disease_idfrom 病害表现 wher
11、e 病害表现.disease_feature=KCM1select id2=病害表现.disease_idfrom 病害表现 where 病害表现.disease_feature=KCM2select id3=病害表现.disease_idfrom 病害表现 where 病害表现.disease_feature=KCM3select id4=病害表现.disease_idfrom 病害表现 where 病害表现.disease_feature=KCM4select id5=病害表现.disease_idfrom 病害表现 where 病害表现.disease_feature=KCM5selec
12、t id6=病害表现.disease_idfrom 病害表现 where 病害表现.disease_feature=KCM6select id7=病害表现.disease_idfrom 病害表现 where 病害表现.disease_feature=KCM7select id8=病害表现.disease_idfrom 病害表现 where 病害表现.disease_feature=KCM8select id9=病害表现.disease_idfrom 病害表现 where 病害表现.disease_feature=KCM9set value=id1+id2+id3+id4+id5+id6+id7
13、+id8+id9 print space(15)+病害综合+space(5)+ltrim(str(value)/*-y用变量记录前件的身份-*/if not exists(select 病害诊断.disease_name from 病害诊断 where 病害诊断.disease_value=value) print space(15)+没有患拟盘多毛孢叶斑病else print space(15)+疑似患有拟盘多毛孢叶斑病 print space(8)+第三步:最后诊断结果为 if (value=47) if not exists(select 病害诊断.disease_name from 病
14、害诊断,病害综合 where 病害综合.disease_value=value and 病害综合.disease_1=id1 and 病害综合.disease_3=id2 and 病害综合.disease_5=id3 and 病害综合.disease_7=id4 and 病害综合.disease_9=id5 and 病害综合.disease_10=id6 and 病害综合.disease_12=id7 ) print space(15)+没有患拟盘多毛孢叶斑病,可能患其他的病害 else print space(15)+患拟盘多毛孢叶斑病,请及时治疗 else print space(15)+
15、没有患拟盘多毛孢叶斑病go(5)进行病虫诊断为了检测该系统无纰漏,无歧义,考虑所有情况:1输入的病害表现产生不了任何一个病害2苹果轮纹病代码:根据上面的代码,只有变量变了,其余都持不变变化代码:KCM1 nchar(40)=病斑为半圆形,KCM2 nchar(40)=病斑为褐色,KCM3 nchar(40)=病斑边缘为深褐色 ,KCM4 nchar(40)=病斑逐渐扩大 ,KCM5 nchar(40)=病斑逐渐连合成斑块 ,KCM6 nchar(40)=病斑慢慢变为褐色或灰白色,KCM7 nchar(40)=斑面有小黑点,结果,见图5: 图5 情况六、总结本次试验我有很大收获。身为计算系的学生,但是之前一直没有接触过将计算机技术和农业知识相联系,无法站在亲身经历的感觉去发现在农业学计算机带来的发展。这次我用大二所学的数据库知识,利用Microsoft SQL Server 2008软件去构建知识库,虽然水平不高,但是通过自己所学的知识成功利用软件和产生式规则表示知识设计知识库,并且调试成功。感觉计算机技术对农业发展很有作用,节省人力、金钱等资源,实现智能化、科学化、方便化。与此同时,通过本次实验掌握些拟盘多毛孢叶斑病的知识和产生式规则表示知识,丰富了知识面。提高了SQL语言的运用能力。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2