用于农业专家系统开发环境的方法

文档序号:6416801阅读:311来源:国知局
专利名称:用于农业专家系统开发环境的方法
技术领域
本发明涉及一种用于农业专家系统开发环境的方法,特别涉及一种由计算机控制的用于农业专家系统开发环境的方法。
农业专家系统是人工智能研究领域的一部分,是用计算机模拟专家的智能行为,根据农业专家的知识和系统内部的推理机制求解农业生产管理的一些问题,让计算机代替农业专家进行工作。农业专家系统早期的开发是以AI研究人员为主体,在开发过程中AI研究人员与农业领域专家之间需要花费相当多的时间进行交流,这个过程被称为“知识获取”。很长一段时间内,“知识获取”被认为是ASE应用开发过程中的“瓶颈”问题,随着ASE应用层面的深入和扩展,人们不仅仅希望AI研究人员快速开发出实用的ASE应用系统,更希望AI研究人员能够提供一种可以跨越行业界限,让农业领域专家自己来完成ASE应用系统的开发以及对已有知识更新扩展的方法,从而避开“瓶颈”的限制。
在农业专家系统计算机软件研究中,人们相当一部分注意力是放在如何完整的用计算机语言来表示农业知识,如何有效地模拟农业专家的思维和行为处理方法。在农业专家系统的研究中曾用产生式规则组、框架+规则的综合知识体表示方法来完成一些农业专家系统的应用开发工作,解决了许多农业专家系统中的问题,但在农业客观现实的言语之间总存在着一些差距。另外由于每一种农业专家系统软件自身的封闭性,许多软件之间没有信息通道,不能借他人的长处来为一个大的农业专家系统服务。
为了解决以上问题,本发明的目的是运用人工智能的原理、地理信息系统、数据库等技术,提供一种供非计算机领域的农业专家开发农业专家系统的发工具,该开发工具是用不同语言编制的在解决某一方面具有优势的软件,在不破坏这些软件结构的同时,充分发挥它们的作用,专门设计了外部软件接口,可以使源出不同的软件在同一个环境中发挥各自的优势。
本发明的技术方案是一种用于农业专家系统开发环境的方法,该方法由DET编译机、执行机系统、DAT数据库获取系统、SIIS土壤养分空间信息系统、AES应用系统组成,其特征在于知识库由编译生成机编译后生成虚拟机代码,并将推理机与虚拟机代码进行工程链接,执行机系统负责解释虚拟机代码并执行相应的操作;土壤养分空间信息系统、数据库获取系统负责获取专家系统所需要的农情资料数据库,并以DET数据库中的API和SIIS提供空间状态查询系统向执行机提供基础数据;这些系统可以彼此独立地完成自己的任务,通过虚拟的数据通道传递信息,相互制约,相互辅助,从而完成AES应用系统的农业专家开发环境工作;所述的编译机、执行机系统采用开放的策略,提供了多种外部进程的接口,对数据库获取系统的纵与多媒体运行由外部专用服务进程,系统同外部进程的数据交换通过数据通道进行,数据通道是DET系统同步服务进程交换数据的通道,它是两个进程之间一个双向交换数据的管道,编译机生成接口的虚拟代码;在所述的DET中,不仅把涉及到知识推理对象作为一个agent看待,也把一些特定功能如数据库操纵、规则组计算、多媒体服务等都作为一个独立封装的agent购件,它们相对独立,具有与协调器通讯进行数据交换的接口,接口工作流程可分为三部分(1).准备过程,建立数据通道,准备必要的参数;(2).启动外部进程,系统自身选择异步或同步并行,如必须等待外部进程完成则挂起自身;(3).发送消息给系统,如系统是异步挂起状态,则唤起自身,通过数据通道读取运行结果或反馈。
所述的数据库获取系统采Delphi3和OOP面象对象的技术编程,系统设计为三大部分数据获取、数据汇总、报表打印。用Delphi数据访问对象构件将应用程序与数据库连接起来。建立数据源与应用程序的虚拟连接通道,以简化对数据库、图表或记录进行定位的操作。从而对专家系统所需要使用的农情数据库进行全屏幕输入和编辑,自定义用户界面即系统可根据数据结构的改变而自动创建新的数据获取输入界面,统计乡、县、省的各类数据库。
所述的土壤养分空间信息系统,该程序由三部分组成[1].CLIET/SERVER为核心的mapinfo交互系统;[2].SQL为核心的查寻、显示数据库;[3].OLE-Autonation为核心的可视化应用界面;系统通过VB5.0的OLE嵌入并生成Mapinfo对象,并给对象添加它自身所不具备的功能按钮,利用回调函数MCALLBACK进行前后台的信息交换。将地理图形与土壤信息分级分层显示和独立管理。可同时提取关系型和失量型数据库,对土壤养分属性、空间进行查询、分析、修改等。
下面将结合附图对最佳实施例进行详细说明。


图1是智能化农业软件开发环境总体结构方框图。图2是分布式推理结构方框图。图3是编译、执行机工作流程图。图4是代码执行机结构方框图。图5是土壤养分空间信息系统属性数据方框图。图6是土壤养分空间信息系统软件程序7是数据库获取系统程序所表示得流程图。
图1是智能化农业软件开发环境总体结构方框图,智能化农业软件开发环境由编译生成系统、执行机系统平台、土壤养分空间信息系统、数据库获取系统组成。
知识库由编译器编译后生成高效的虚拟机代码,并将推理机与虚拟机代码进行工程连接,完成专家系统应用程序的设计工作。执行机系统负责解释虚拟代码并执行相应的操作;土壤养分空间信息系统、数据库获取系统负责获取专家系统所需要的农情资料数据库,该农情资料数据库包括推广情况、土壤海拔、气候降雨、肥料情况、农药除草剂、母-肉牛品种、水-陆稻品种、玉米品种、小麦品种、烤烟品种、甘蕉品种、苹果品种。
这些系统可以彼此独立地完成自己的任务,通过虚拟的数据通道传递信息,相互制约,相互辅助,最终完成农业专家系统应用软件的开发和实际应用。
DET智能化农业专家系统软件开发平台设计了模式化知识表示方法和基于模式化案例的分布式推理机制,提供了多种功能语言、内部数学涵数、标准运算符。形成集编辑、编译、执行调试于一体的集成开发环境。用户可在该系统下按照一定的知识表示格式直接编译、修改、保存知识库文本和工程文件,并具有很强的差错功能。设计了多种软件信息通道,提供了跨平台功能,经编译后文件可在不同环境中的解释器中工作。开发集成环境中随机提供了水稻、玉米、小麦、甘蕉、烤烟、苹果六种作物和一种养殖业的知识库标准模板。用户可以随时调用,以供参考。
图2是分布式推理结构方框图。DET开发工具采用分布式推理方式。.DET的内部构造采用Multi-Agentd1的思想,利用分而治之的方法,将一个复杂系统划分为多个子任务,在推理协调器的协调下提交给相应的Agent去实现其子任务。在实际应用中,对复杂的知识根据知识源的性质,将其分解成若干个知识库,对每个子知识库,可以有不同的推理机制,解决了每个子知识,再将它们的结果进行综合分析,就可以得出整个问题的解答。此问题可分解成两个层次(1)子问题的推理求解。(2)对(1)的调度与对(1)结果的综合分析。把(2)看作在(1)之上的另一层次,在宏观上将任务分配给子问题推理机,与子问题推理机进行通讯,因此可以把它看作元推理机。
把对应元推理机的驱动进程或模块作为总协调器,对于子问题的解决则提交相应的Agent解决。整个系统按照总协调器和各个多个Agent协同工作构成分布推理模式,协调器调度多个Agent推理的工作流程,它本身也具备控制转向与计算能力。
在DET中不仅把涉及到知识推理对象作为一个Agent看待,也把一些特定功能如数据库操纵、规则组计算、多媒体服务等都作为一个独立封装的Agent购件。它们相对独立,具有与协调器通讯进行数据交换的接口。
图3是编译、执行机工作流程图。该编译系统以语法分析为中心,由它在调用语法分析程序切分单词的同时进行语法、语意分析,进而生成虚拟机器码。当发现语法、语意错误时,调用错误分析程序。在编译过程中,根据变量名、属性及指向数据区的指针变量构造数据表格,建立登录和查找信息之间的联系。根据关键词对应生成内部指令码,建立虚拟机,模拟程序动作的执行过程。
虚拟机体系是DET实现多任务的核心和关键技术。它实际上由一系列指令码组成,用于执行各个子任务的具体工作。由虚拟机管理器负责管理分配内存空间、设备驱动及环境变量。编译机系统由词法分析模块、语法分析模块、代码生成模块、错误处理模块、表格生成模块、存储管理模块等组成。
图4是代码执行机结构方框图。代码执行机的工作过程是将虚拟代码进行解释执行,最后得出结论。DET执行系统采用开放式结构,它由虚拟机解释系统、推理协调器、动作执行机组成。前两者之间通过数据库通道进行联系,推理协调器主要的工作是协调内核与虚拟机解释之间的关系。它的工作流程是问题分解-任务分配-结果分析。首先进行问题分解,然后进行任务分配,对各子问题的任务提交相应的Agent去处理,并根据处理结果进行综合分析。对没有得到专家咨询意见的结果将根据不同的情况,再次对该结果中所涉及的问题进行分解、任务分配、结果分析这样一个循环过程,直到最终达到专家咨询意见为止。整个系统按照总协调和各个Agent协同工作构成了分布推理模式,协调器不仅能够调度多个Agent推理的工作流程,其本身也具备控制转向与计算能力。
图5是土壤养分空间信息系统属性数据方框图。在农业生产中大量地涉及与地理空间有密切关系的土壤信息,使用计算机对于氮、磷、钾等农作物生长所必需的养分情况描述和获取一般分为三个阶段。第一阶段是DBF数据文件的数字形式表现,这种形式只能得到局部的数据,无法表现整体的分布状态;第二阶段采用数张表示各种分布的BMP格式位图在计算机内叠加,按点位置取各幅图上的分级值,这种方法要求含量图必须分级着色,无误差叠加,而且无法知道该点的具体地理,不能针对某一土壤养分的级别做专题图层抽取,以及整体的分布情况。第三阶段是GIS技术的引进。
GIS地理信息系统是以计算机图形图象处理,数据库技术和空间分析方法为基础用于处理一切与地理空间分布有关的资源环境等。该系统利用VB5.0语言作为前端开发工具,Mapinfo作为后台服务器,服务器执行完命令后再将执行结果发送回前台进行显示。使用人员可根据需要,将地图对象集成进各种新的或已有的系统中,从而保证地理信息和地图数据的开放性和通用性。用户可以在使用SIIS系统之前就建立起属性数据库中的数据。将已有的数据库信息与土壤地理信息结合起来,以便更好的进行分析决策。
图6是土壤养分空间信息系统软件程序图。该软件的程序由三部分组成以CLIENT/SERVER为核心的Mapinfo交互系统;以SQL为核心的查询、显示数据库;以OLE-Autonation为核心的可视化应用界面。系统通过VB5.0嵌入并生成Mapinfo对象,然后把该对象定位到本系统的MAPFOSM F窗口上启动Mapinfo,并给对象添加它自身所不具备的功能按钮,利用回涵数MCALLBACK进行前后台的信息交换。
图7是数据库获取系统程序所表示的流程图。系统整体设计分为三大部分数据获取、数据汇总、报表打印。经过对上述功能实现机制的分析与抽象抽象,划分了11个类模块。通过了类的继承和各类之间的分工协作完成整体功能要求。
使用DBF格式的数据库可在我国目前的机型上通用,缺点是数据索引管理查询方式速度慢。为解决这一问题,使用Delphi数据访问对象构件。将应用程序与数据库连接起来,建立数据源与应用程序的虚拟连接通道,简化对数据库、图表或记录进行定位的操作。
主要功能体现为1.对专家系统所需要使用的农情数据库(推广情况、土壤海拔、气候降雨、肥料情况、农药除草剂、母-肉牛品种、水-陆稻品种、玉米品种、小麦品种、烤烟品种、甘蕉品种、苹果品种)进行全屏幕输入和编辑。2.自定义用户界面系统可根据结构的改变而自动创建新的数据获取输入界面。3.统计乡、县省的各类数据库。
本发明的有益效果是1.在知识表示和推理机制的设计上将我国农业生产中普遍应用的模式化栽培与人工智能中的知识表示、推理机制有机结合,建立了模式化知识表示方法和基于模式化案例的分布式推理机制。
2.对于知识库的处理上我们设计了编译器和可独立于具体机器的指令代码集,使工具软件具有可跨平台、易移植的特定。
3.通过多知识库的混合编译连接的方法,解决了多个专家知识冲突、冗余的问题。
4.采用了组件技术,构造了系统级的地理信息系统构件数据访问对象构件;建立数据源与应用程序的虚拟连接通道;外部组件接口,可以使源出不同的功能软件在同一个环境中发挥各自的优势,保证系统的开放性和通用性。
5.利用Multi-Agent的思想,设计了多种软件信息通道及并发过程。可对多种格式文件直接进行操作。知识模型在多路消息的影响下,产生出最优的合理化栽培模式,并可记忆该优化方案,以供再利用。
6.提供了水稻、玉米、小麦、甘蕉、烤烟、苹果六种作物和一种养殖业的知识库标准模板。
7.利用该方法开发了水稻、玉米、小麦、甘蕉、烤烟、苹果六种作物的AES应用系统。
农业专家系统开发环境的方法通过运用人工智能原理和地理信息系统。数据库等技术,构造了一个通用于农业领域的一体化集成环境。该开发环境由农业专家系统开发平台DET、农情资料数据库管理工具DAT、土壤养分空间查询系统SIIS、应用系统AES部分组成。结构上相互独立,功能上有机结合,可以互通信息。
我国各生产区域的农业专家及技术人员在掌握了开发工具后,可结合本地的情况进行农业专家系统应用软件的开发,并可随时根据生产条件的变化,对应用软件进行修改、补充、完善,从而将复杂的农业生产知识通俗化、简单化,使农民易于接收、易于操作。
权利要求
1.一种用于农业专家系统开发环境的方法,该方法由DET编译机、执行机系统、DAT数据库获取系统、SIIS土壤养分空间信息系统、AES应用系统组成,其特征在于知识库由编译机编译后生成虚拟机代码,并将推理机与虚拟机代码进行工程链接,执行机系统负责解释虚拟机代码并执行相应的操作;数据库获取系统、土壤养分空间信息系统、负责获取专家系统所需要的农情资料数据库,并以DET数据库中的API和SIIS提供空间状态查询系统向执行机提供基础数据;这些系统可以彼此独立地完成自己的任务,通过虚拟的数据通道传递信息,相互制约,相互辅助,从而完成AES应用系统的农业专家开发环境工作。
2.根据权利要求1所述的用于农业专家系统开发环境的方法,其特征在于所述的编译机、执行机系统采用开放的策略,提供了多种外部进程的接口,对数据库获取系统的纵与多媒体运行由外部专用服务进程,系统同外部进程的数据交换通过数据通道进行,数据通道是DET系统同步服务进程交换数据的通道,它是两个进程之间一个双向交换数据的管道;在所述的DET中,不仅把涉及到知识推理对象作为一个agent看待,也把一些特定功能如数据库操纵、规则组计算、多媒体服务等都作为一个独立封装的agent购件,它们相对独立,具有与协调器通讯进行数据交换的接口,接口工作流程可分为三部分(1).准备过程,建立数据通道,准备必要的参数(2).启动外部进程,系统自身选择异步或同步并行,如必须等待外部进程完成则挂起自身(3).发送消息给系统,如系统是异步挂起状态,则唤起自身,通过数据通道读取运行结果或反馈。
3.根据权利要求1所述的用于农业专家系统开发环境的方法,其特征在于所述的数据库获取系统采用Delphi3和OOP面象对象的技术编程,系统设计为三大部分数据获取、数据汇总、报表打印。用Delphi数据访问对象构件将应用程序与数据库连接起来。建立数据源与应用程序的虚拟连接通道,以简化对数据库、图表或记录进行定位的操作。从而对专家系统所需要使用的农情数据库进行全屏幕输入和编辑,自定义用户界面即系统可根据数据结构的改变而自动创建新的数据获取输入界面,统计乡、县、省的各类数据库。
4.根据权利要求1所述的用于农业专家系统开发环境的方法,其特征在于所述的土壤养分空间信息系统,该程序由三部分组成[1].CLIET/SERVER为核心的mapinfo交互系统;[2].SQL为核心的查寻、显示数据库;[3].OLE-Autonation为核心的可视化应用界面;系统通过VB5.0的OLE嵌入并生成Mapinfo对象,并给对象添加它自身所不具备的功能按钮,利用回调函数MCALLBACK进行前后台的信息交换。将地理图形与土壤信息分级分层显示和独立管理。可同时提取关系型和失量型数据库,对土壤养分属性、空间进行查询、分析、修改等。
全文摘要
一种用于农业专家系统开发环境的方法,该方法由DET编译机、执行机系统、DAT数据库获取系统、SIIS土壤养分空间信息系统、AES应用系统组成;这些系统可以彼此独立地完成自己的任务,通过虚拟的数据通道传递信息,相互制约,相互辅助,从而完成AES应用系统的农业专家开发环境工作。
文档编号G06F19/00GK1243987SQ9911422
公开日2000年2月9日 申请日期1999年5月24日 优先权日1999年5月24日
发明者李淼, 张建 申请人:中国科学院合肥智能机械研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1