全 文 : * ?“十五”安徽省科技攻关项目“安徽省重大农业气象灾害定量监测评估与防御对策研究”( 01013043)资助
收稿日期 : 2004-12-15 改回日期 : 2005-02-26
省级农业气象灾害测评专家系统的研究 *
杨太明 李龙澍 张爱民
(安徽大学计算机信息学院 合肥 230031) (安徽省气象科学研究所 合肥 230031)
摘 要 简介了安徽省级农业气象灾害测评专家系统的设计思想、知识库构建、推理机制及系统应用。
关键词 农业气象灾害 测评 专家系统
Study on monitoring-assessing expert system for major agrometeorological disasters in Anhui Province .YANG Tai-Ming,
L I Long-Shu( Computer Information College,Anhui University, Hefei 230031, China) , ZHANG Ai-Min( Institute of Meteo-
rology Sciences,Anhui Province, Hefei 230031,China) , CJ EA ,2006,14(1) :230~232
Abstract The designing thought, construction of knowledge base, reasoning mechanism and application of monitoring-as-
sessing expert system for major agrometeorological disasters in Anhui Province are stated .
Key words Agrometeorological disaster , Monitoring-assessing, Expert system
( Received Dec .15,2004;revised Feb .26,2005)
1 系统设计方法与知识库建立
省级农业气象灾害评估专家系统 , 采用面向对象的程序设计方法 ( 编程语言 Visual C ++ ) [ 1] , 从气候条
件出发 , 分析安徽省主要农业气象灾害 (干旱、秋播期干旱、渍涝、连阴雨、夏收“烂场雨”、低温冷害 ) 发生规
律 (灾害时段、灾害指标、灾害强度 ) ,结合不同作物 (大豆、稻谷、小麦、中稻、早稻、双晚、油菜 )、分区 (淮北东
部、淮北西部、沿淮、江淮区、沿江区 )构建灾害知识库 , 利用推理机制 , 建立农业气象灾害评估专家系统[ 2] ,
整个系统提供 2个不同的用户使用接口 , 即领域专家的知识获取接口 ,与一般用户咨询服务的使用接口。专
家知识是动态、安全和可维护的。该系统需由用户输入的数据包括农作物种类、地区名或站点名、农作物所
处发育期、当前灾害发生的气象信息包括温度、降水、日照等 (一般由气象信息传输网中自动获取 )。推理机
根据用户输入的信息 ,结合已建立的灾害知识库进行推理 , 得出农作物灾害受灾损失率。
智能程序的专家系统具有数据库级、知识库级和控制级 3级结构 , 为此将知识划分为描述性、过程性和
图 1 知识划分层次结构图
Fig.1 Hiberarchy picture in knowledge’s partition
控制性知识 ( 见图 1)。知识的
表现形式为 I F〈条件〉THEN
〈结论〉WITH〈CF〉, 该产生
式规则的知识表达方式中 ,
条件和结论一般均较复杂 ,
不便于计算机推理。为此系
统采用判别树模型 , 每条规
则的条件部分被分解为前提
(类 ) 和条件 ( 特征集 ) , 判别
树中的非叶结点既是规则的
结论 ,也是下层规则的前提 ,
而特征集是一组简单的描述
语句 原 子 条 件 的 逻 辑 组
合[ 3] 。基于上述数据结构 ,
第 14 ?卷 第 2期 中 国 生 态 农 业 学 报 Vol .14 No .2
2 0 0 6 ?年 4 月 Chinese Journal of Eco-Agriculture April, 2006
系统知识库的内部结构设计规则为 RULE(〈规则号〉,〈类〉,〈子类〉,〈特征集〉,〈CF〉) ;事实为 COND(〈事实
号〉,〈原子条件〉) ; 建议为 SUGGEST (〈建议号〉,〈结论〉,〈特征集〉) 。其中〈规则号〉、〈事实号〉及〈建议号〉
用惟一标识规则、事实及建议 , 是为便于计算机检索而设置的 ;〈特征集〉是〈事实号〉组成的表 ;〈类〉、〈子类〉
和〈原子条件〉均为描述语句 ,构成规则的描述部分 ;〈CF〉表示〈特征集〉为针对结论的影响程度 , 刻化了知识
的非确定性。知识库中 CF 值大都由专家经验给定。此外为提高后续推理过程中对系统知识库的快速推
理 ,构造了作为控制性知识的元规则作为索引指针 ( 知识 ) : TOPOC(〈元规则号〉,〈驱动目标〉)。
图 2 部分推理树
Fig. 2 Part discursion’s tree
知识推理 (机制 )。评估专家系统
结论的有效性很大程度取决于专家知
识推理的可靠性 , 推理机制通过搜索
TOPOC 型知识获得初步目标 ( 减低规
则搜索范围 ) , RULE 型规则知识是推
理的主要依据 , COND 型知识是用于匹
配 RULE 及 SUGGEST 型知识的条件
部分 , 而 SUGGEST 型知识则推出结
论时给用户提供建议。根据知识库结
构和领域专家解决问题的特点 ,对判别
树模型采用深度优先策略搜索 ,推理机
(程序 ) 在与用户不断交互过程中获取
证据 ,直至推出满意结论。推理过程中
首先动态生成推理树 ,现以干旱 ( 秋旱 )
为例 ,推理机首先确认是否需开展旱情
评估 (如不是 , 提示重新装入知识库 ) , 之后显示时段 , 由用户选择季节 , 以获得评估时段 ( 这里选“秋季”) , 自
此已有效将搜索范围控制在图 2所示推理树中。
2 系统组成及功能
系统组成。系统以县名地区编码、各县单站点逐旬降水量、灾害指标 (等级 ) 划分和基于区域旱涝指数
的区域旱涝等级作为灾害知识库的数据源。系统组成包括集成的可执行文件 dezaster .exe, 调用的旱情解除
模块 Guru .exe, 供旱情解除模块使用的数据文件 ; 地区代码模块 , 类名为 AreaCode( 包括站名、站号、地区代
码 ) ;降水量数据读取模块 , 类名为 RainRead( 各站点逐旬降水量数据库 ) ; Z 值计算模块 , 类名为 CalculateZ
( 根据站点降水量、灾害指标计算 Z指数 ) ;单站点旱涝级别运算模块 , 类名为 StationGrade(以 Z值为指标的
旱涝等级数据库 ,文件格式为 Z值下限、Z值上限、单站点旱涝等级 ,如级别编码 1为极涝 , 2为大涝 , 3为偏
涝 ,4接近正常等 ) ;区域旱涝指数模块 ( I2和 L2的计算 ) ,类名为 AreaStandard( 再调用 StationGrade计算旱
涝级别 ) ; 灾损率分析模块 ,类名为 DamageAnalyze; 汇总查询模块 , 类名为 TotalDemand; 可供推理的灾害类
型 ,即干旱、秋播期干旱、渍涝、渍害、连阴雨、夏收“烂场雨”和低温冷害 ( 包括倒春寒、小满寒、秋分寒、早霜
冻、晚霜冻、严重冻害 ) [ 4] 7个子功能模块。分级用户中用户类型有高级用户和一般用户 2类 , 高级用户一般
针对于农业气象领域的专家而言 ,一般用户主要是农技人员及相应使用者。一般用户能利用现有知识库进
行各类可能灾害的现况监测和历史对比 ,高级用户除具有一般用户的功能使用外 , 更具有知识库的维护权 ,
包括各类专家知识的生成、无效或错误知识的删除及对知识库的浏览等。为知识库安全起见 , 高级用户需
要口令 ,随系统提供给用户 , 必要时用户可自己更改口令。高级用户具有知识库的插入、删除、浏览功能 , 一
般用户具有现况监测、历史对比等功能。
系统使用。系统启动后首先选定用户类型 , 选择用户类型为高级用户时将弹出口令输入对话框 , 输入
正确口令后按确认按钮即可 ,系统允许 3次输入 , 若 3次输入错误则系统自动退出。如果单击取消按钮 , 系
统认为是非法用户 ,也将自动退出。根据当前时间、专家或一般农技人员的经验 ,也基于各类不同灾害知识
的需要 ,用户应首先选择一可能的灾害类型 , 如当前雨量较小 , 则试选择干旱类型 , 当前正值冬季且气温偏
低 ,则试选择低温冷害 , 运行本系统后将得出进一步结论 , 如是否干旱、干旱程度如何等 , 低温冷害的判断则
是何种类型 (秋分寒、小满寒⋯⋯ ) , 将影响何种农作物等。某一时期也可能同时发生多种灾害 , 用户可对某
灾害类型推理完成后返回主界面 ,重新选择其他类型灾害运行系统。本系统可对 7种灾害类型进行推理 ,在
第 2 ?期 杨太明等 : 省级农业气象灾害测评专家系统的研究 231
类型选择框中可选择干旱、秋播期干旱、渍涝、渍害、连阴雨、夏收“烂场雨”、低温冷害等。
知识库建立与维护包括知识库的获取 (插入 ) ,若用户类型为高级用户 , 选择灾害类型为干旱 , 则将出现
系统知识生成界面。特别对应于高级用户 ,有插入、删除、浏览按钮 , 插入即生成一条新知识 , 则会在知识库
中插入 1条知识 ,如 3~5月份间连续 3旬降水量距平数 < 40% , 则有轻旱发生 , 输入或选择各项值后 , 单击
插入按钮 , 成功后系统提示“已保存数据 !”; 知识库的浏览 , 单击浏览按钮 , 可查看当前知识库有哪些知识 ,
超出显示范围的内容可使用水平和竖直滚动条 ; 知识库的知识删除 , 若在知识库浏览中发现有错误或无效
知识 , 则先返回 ,可将该知识的各项逐个输入对应框中 , 再单击删除按钮即可 , 成功后系统提示“已删除
数据 !”。
监测评估的使用。当用户类型为一般用户 ,选择某灾害类型后不需口令 , 则可直接进入使用界面 , 使用
“实况监测”和“历史对比”2种功能。实况监测是指基于已有当前的数据 ,利用现有知识库进行推理 , 用户选
择欲进行推理的可能灾害类型并确认 ,单击“实况监测”按钮 , 选择站点 ( 县市名 ) , 选择数据源为“数据库”并
确认 ,单击“推理”按钮 , 进程条显示进度 , 结束后系统提示“推理完成”;“历史对比”是指根据历史资料验证
现有知识库的正确性 ,该功能使用与现况监测基本相似 ;干旱解除 , 对于“干旱”类型的灾害 ,特别有“灾情解
除”的下级模块 , 运行“干旱”推理前“灾情解除”按钮为灰 , 运行推理后则可单击该按钮 , 进入“灾情解除”子
系统 ;现场数据输入 , 如当前无现成的数据库 ,可在以上数据源选项中选择“输入数据”, 一般需选择站点 (县
市 ) , 再选择该站点区域 (如沿淮淮北 , 江淮地区等 ) , 之后确认返回 , 根据当前窗口输入的各项值 , 基于已有
的知识库进行推理 ,如是单站点 , 则给出即时结论 ;推理结果存取 , 本系统推理成功后将生成文本格式的 txt
结果文件 (与应用程序在同一文件夹下 , 文件名对应于推理的灾害类型 ) , 供 GIS 子系统及其他用户使用。
3 小 结
在数理统计基础上 ,结合专家经验 , 建立灾害知识库 , 应用计算机推理机制 , 构建灾害测评专家系统并
重点探讨了知识库的建立、知识推理以及系统的实现和应用。今后应不断丰富知识库知识 , 在专家指导下
应用模糊集和粗糙集理论对知识库进行优化 ,在丰富的试验资料基础上对灾害知识库进一步补充、完善 , 并
进一步研究如何将遥感 ( RS)与地理信息系统 ( GIS)等高新技术与常规灾害监测评估方法相结合 , 实现 GIS、
RS 和 ES( 专家系统 )的一体化。
参 考 文 献 h
1 程慧霞等 . 用 C + + 建造专家系统 . 北京 :电子工业出版社 , 1996
2 杨太明等 . 面向对象的冬小麦产量预报专家系统 . 中国农业气象 , 1999 ( 2) : 48~51
3 江志红等 . 一种气候分析服务系统的研制与开发 . 南京气象学院学报 , 1999 , 22( 1) : 75~81
4 池天河 , 苏亚芳 . 重大自然灾害遥感监测与评估集成系统 . 北京 : 中国科学技术出版社 , 1995
232 中 国 生 态 农 业 学 报 第 14 ?卷