何緋紅,趙 磊
(1.甘肅省特種設(shè)備檢驗檢測研究院,蘭州 730050;2.蘭州理工大學(xué)電氣工程與信息工程學(xué)院,蘭州 730050)
農(nóng)業(yè)自古以來都是國家發(fā)展的重要基礎(chǔ)和保障,中國雖然國土遼闊、資源豐富,但是水資源匱乏卻是亟需解決的問題。中國農(nóng)業(yè)用水約占用水總量的70%,但是農(nóng)業(yè)水資源利用率卻只有40%[1]。因此,解決高用水、低效率的農(nóng)業(yè)灌溉方式是農(nóng)業(yè)發(fā)展和國家發(fā)展的重中之重,并且隨著計算機水平的不斷提高和各種技術(shù)的層出不窮,中國農(nóng)業(yè)也應(yīng)向現(xiàn)代化和信息化方向更進一步。本研究針對農(nóng)業(yè)節(jié)水灌溉和信息化管理問題,將專家系統(tǒng)結(jié)構(gòu)與集成應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)的云平臺相結(jié)合,利用數(shù)據(jù)庫管理技術(shù)和Web應(yīng)用程序開發(fā)技術(shù)實現(xiàn)農(nóng)田灌溉決策和農(nóng)業(yè)信息化管理,以期促進農(nóng)業(yè)科技化、信息化,并提高農(nóng)業(yè)水資源的利用效率。
云計算(Cloud computing)來源于太陽電腦公司(Sun Microsystems)提出的“網(wǎng)絡(luò)是電腦”(The network is the computer)概念,而云平臺則是對提供云服務(wù)平臺的統(tǒng)稱,其發(fā)展與云計算密切相關(guān)。云平臺主要提供3種服務(wù)模式,分別為基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a service,IaaS)、平臺即服務(wù)(Platform as a service,PaaS)和應(yīng)用即服務(wù)(Software as service,SaaS)[2]。
相較于傳統(tǒng)的自建服務(wù)器,云平臺對中小型企業(yè)更加友好,主要表現(xiàn)為:①降低了技術(shù)開發(fā)成本,使用云平臺服務(wù)比購買一般的物理硬件更加便宜;②靈活擴展IT需求,使用云平臺的企業(yè)擁有更靈活的選擇,可以按需購買相應(yīng)的服務(wù),還可以在任何時間并且花費很少的前提下停止使用現(xiàn)在所不需要的服務(wù);③使企業(yè)經(jīng)營更加輕松,避免企業(yè)花費大量人力、物力部署維護服務(wù)器,還可以在管理方面為企業(yè)提供更為高效的計劃;④數(shù)據(jù)訪問更加便捷,“云”帶來了更大的靈活性和移動性,使用云訪問數(shù)據(jù)可以不受時間和空間的限制;⑤更加穩(wěn)定、安全,云平臺分散式的存儲結(jié)構(gòu)在其中一個網(wǎng)站受攻擊時可以避免影響其他網(wǎng)頁,同時服務(wù)器出現(xiàn)故障時數(shù)據(jù)和文件可以自動轉(zhuǎn)移到其他機器上,避免出現(xiàn)數(shù)據(jù)和文件等的丟失。
專家系統(tǒng)以云平臺作為服務(wù)器,以Web瀏覽器作為客戶端,其交互界面以Web頁面形式呈現(xiàn)。領(lǐng)域?qū)<液陀脩敉ㄟ^自己的Web瀏覽器訪問專家系統(tǒng)頁面,以Internet方式實現(xiàn)對云平臺中專家系統(tǒng)應(yīng)用程序的請求和響應(yīng)。專家系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 專家系統(tǒng)結(jié)構(gòu)
人機交互界面是專家系統(tǒng)與專家系統(tǒng)使用者(專家、知識工程師、農(nóng)戶等)進行數(shù)據(jù)交互的平臺。其功能有2點,一是向應(yīng)用程序內(nèi)部提交用戶輸入的問題、數(shù)據(jù)等信息,將其轉(zhuǎn)換為系統(tǒng)內(nèi)部可處理的數(shù)據(jù)形式;二是向外將專家系統(tǒng)程序進行處理、計算、推理等形式得出的結(jié)果,以用戶可以理解的形式呈現(xiàn)給用戶。
知識獲取的任務(wù)是獲取專家系統(tǒng)所需知識,構(gòu)建和擴充有效的知識庫,從而使專家系統(tǒng)能夠較好地幫助用戶解決領(lǐng)域?qū)<也拍芙鉀Q的問題。目前知識獲取的方式主要有人工獲取、半自動獲取和全自動獲取3種方式。
知識庫是用于存放專家系統(tǒng)推理和決策所需知識的機構(gòu),主要用來存儲領(lǐng)域的常規(guī)知識、專家經(jīng)驗和計算模型等。知識內(nèi)容來源于知識獲取機構(gòu),為推理機和解釋器提供所需知識,知識的準確性是專家系統(tǒng)解決問題的基礎(chǔ)。
綜合數(shù)據(jù)庫主要包括事實數(shù)據(jù)庫、過程數(shù)據(jù)庫和結(jié)果數(shù)據(jù)庫等,用于存儲事實信息、推理過程和結(jié)果[3]。
推理機是根據(jù)一定的推理方法和策略選擇知識庫中的知識,對用戶描述的問題進行推理的機構(gòu)。推理機的性能和構(gòu)造一般與知識的表示和組織方式有關(guān),而與知識的內(nèi)容無關(guān),從而保證推理機與知識庫的相對獨立性[4]。
解釋器是負責(zé)對系統(tǒng)呈現(xiàn)的推理結(jié)果進行解釋說明的機構(gòu),方便用戶接收和理解系統(tǒng)呈現(xiàn)的推理結(jié)果,提高系統(tǒng)的透明度和可信度。
知識的表示是研究在計算機中如何使用最合適的形式對系統(tǒng)中所需要的各種知識進行組織,其與問題的性質(zhì)和推理控制策略有著密切聯(lián)系[5]。目前使用較多的知識表示方法主要有謂詞邏輯表示法、產(chǎn)生式表示法、框架表示法、語義網(wǎng)絡(luò)表示法、面向?qū)ο蟊硎痉ê突诒倔w的知識表示法等[6]。
產(chǎn)生式表示法是最常用的知識表示方法,其采用IF(P1∧P2∧…∧Pn)THEN(CF1,C1)||(CF2,C2)||…||(CFn,Cn)的規(guī)則結(jié)構(gòu),即如果前者條件Pi(i=1,2,3,…,n)的集合成立則推理出結(jié)果(CFi,Ci)(i=1,2,3,…,n),Ci表示推理結(jié)果,CFi表示對應(yīng)的結(jié)果置信度。本研究利用此方法構(gòu)建節(jié)水灌溉知識庫中的規(guī)則,如:
IF(作物=“玉米”)AND(生長階段=“拔節(jié)期”)AND(土壤類型=“沙壤土”)THEN(作物系數(shù)=0.864;計劃濕潤深度=0.2 m;土壤含水量下限=70%)。
IF(作物=“玉米”)AND(土壤類型=“沙壤土”)AND(地下水埋深=“150 m”)THEN(地下水補給系數(shù)=0.3)。
產(chǎn)生式表示法比較貼合人類的推理思維,便于專業(yè)人員對知識規(guī)則的理解構(gòu)建,并且產(chǎn)生式規(guī)則之間不互相影響,模塊性好,便于調(diào)用,有利于新規(guī)則的添加和舊規(guī)則的刪改。
推理策略的選擇要根據(jù)實際問題進行分析,結(jié)合領(lǐng)域?qū)<液屠碚撃P椭R,通過對知識的匹配和檢索來完成問題的推理求解。常用的推理方式有正向推理和反向推理。正向推理為結(jié)果導(dǎo)向性,通過問題的描述和構(gòu)建推理其產(chǎn)生結(jié)果。反向推理為原因?qū)蛐?,通過確定其結(jié)果來反向推測其造成原因。
節(jié)水灌溉專家系統(tǒng)推理策略采用正向推理的方式,結(jié)合農(nóng)田水平衡理論和灌溉預(yù)報決策模型,實現(xiàn)
對灌溉時間和灌溉量相關(guān)的推理決策任務(wù),節(jié)水灌溉決策推理網(wǎng)絡(luò)如圖2所示。
圖2 節(jié)水灌溉決策推理網(wǎng)絡(luò)
3.3.1 水平衡方程 農(nóng)田的灌溉預(yù)測模型基于農(nóng)田中土壤-植物-大氣組成的連續(xù)體水平衡原理,即一定時間、一定(農(nóng)田)土層內(nèi)的水分收支差額[7],是對農(nóng)田水分收入、支出和儲存各項的結(jié)算。在農(nóng)田灌溉的實踐生產(chǎn)中,要保持農(nóng)田作物最大根系活動層的水量收支平衡,滿足作物生長所需水分。農(nóng)田中作物所需水分收入主要來自人工灌溉、自然降水和地下水補給量,農(nóng)田水分支出則主要有土壤深層滲透量、地面徑流量和作物蒸騰量,二者的差值即為時段內(nèi)的土壤儲水變化量。即:
式中,I為灌水量(mm),P為降水量(mm),G為地下水補給量(mm),ET為作物蒸發(fā)蒸騰量(mm),D為深層滲漏量(mm),R為地面徑流量(mm),ΔW為土壤儲水變化量(mm)。
對農(nóng)田管理和灌溉方式進行改進,盡量避免土壤的深層滲漏和地面徑流,并只對相關(guān)變量的有效部分進行決策,式(1)可簡化為:
式中,In為有效灌水量(mm),Pe為有效降水量(mm),Gn為地下水有效補給量(mm),ASW為有效儲水變化量(mm)。
灌溉預(yù)測具有較強的針對性,本研究根據(jù)農(nóng)田的作物特性及其所在地理位置、土壤條件、氣候特點,以及監(jiān)測指標(biāo)的可達性、準確性、精度等內(nèi)容選擇相應(yīng)的決策模型。
3.3.2 灌溉預(yù)報模型 灌溉預(yù)報模型用來確定灌溉時間間隔t,其模型由農(nóng)田水平衡方程式(2)轉(zhuǎn)換而來,具體公式如下:
在時間段內(nèi)無灌溉時可由式(3)得:
式中,ETC為作物需水量(mm/d),Ge為地下水補給量(mm/d)。通過灌溉預(yù)測模型指導(dǎo)農(nóng)業(yè)灌溉,可以避免以往農(nóng)戶根據(jù)自己的經(jīng)驗所造成的不能及時灌溉或過量灌溉等諸多問題。
3.3.3 定量灌溉決策模型 定量灌溉決策的功能是對灌溉量m的確定,其數(shù)學(xué)模型為:
式中,n為土壤容重(g/cm3),H為土壤計劃濕潤層的深度(m),θmax為作物生長允許含水率上限(%),θmin為作物生長允許含水率下限(%)。
節(jié)水灌溉專家系統(tǒng)使用微軟.NET Framework框架的ASP.NET技術(shù)在云平臺服務(wù)器上進行B/S結(jié)構(gòu)的應(yīng)用程序開發(fā)與發(fā)布,同時使用Microsoft SQL Server 2014軟件進行數(shù)據(jù)庫管理,二者均為微軟公司的開發(fā)應(yīng)用技術(shù),可以很方便地進行對接和實現(xiàn),便于本系統(tǒng)的開發(fā)、維護和實現(xiàn)。
數(shù)據(jù)庫設(shè)計的目的在于實現(xiàn)專家系統(tǒng)知識庫和綜合數(shù)據(jù)庫的構(gòu)建。知識庫主要包括規(guī)則庫和模型庫的構(gòu)建,綜合數(shù)據(jù)庫即對基本信息和實時采集的數(shù)據(jù)進行存儲。
基本數(shù)據(jù)庫存儲相對穩(wěn)定即隨時空變化不大的數(shù)據(jù)。如用戶信息表、農(nóng)田信息表、作物信息表、地理信息表、土壤信息表和傳感器信息表等。實時數(shù)據(jù)庫存儲隨時空變化較大的數(shù)據(jù),如農(nóng)田實時采集信息表和氣象信息表等。規(guī)則庫存儲領(lǐng)域?qū)<医?jīng)驗和農(nóng)業(yè)科學(xué)轉(zhuǎn)換成的計算機可識別的規(guī)則,如作物生長階段規(guī)則表、降雨系數(shù)規(guī)則表和地下水補給系數(shù)規(guī)則表等。部分數(shù)據(jù)表設(shè)計見圖3。
圖3 部分數(shù)據(jù)表設(shè)計
對節(jié)水灌溉應(yīng)用程序進行模塊化設(shè)計,其功能可大致分為系統(tǒng)登錄、實時數(shù)據(jù)監(jiān)測、歷史數(shù)據(jù)查詢與分析、數(shù)據(jù)信息管理和灌溉決策5大功能模塊,功能模塊框如圖4所示。
圖4 功能模塊框
4.2.1 系統(tǒng)登錄 登錄模塊是進入系統(tǒng)的惟一通道,為了保證系統(tǒng)的安全性,只有通過驗證的用戶才能訪問和使用節(jié)水灌溉專家系統(tǒng)應(yīng)用程序,同時在系統(tǒng)的每個頁面都加入用戶登錄狀態(tài)驗證,若無用戶登錄則轉(zhuǎn)入登錄頁面進行登錄。
4.2.2 實時數(shù)據(jù)監(jiān)測 實時數(shù)據(jù)監(jiān)測模塊以表格形式顯示農(nóng)田最新的采集信息和設(shè)備狀態(tài)信息,網(wǎng)頁頁面通過Ajax技術(shù)實現(xiàn)頁面定時刷新,實現(xiàn)數(shù)據(jù)的動態(tài)顯示。同時該模塊對數(shù)據(jù)的值和設(shè)備狀態(tài)進行報警監(jiān)測,一旦參數(shù)信息超出閾值或設(shè)備狀態(tài)異常,將對用戶進行報警提醒。
4.2.3 歷史數(shù)據(jù)查詢與分析 歷史數(shù)據(jù)查詢模塊主要對農(nóng)業(yè)實時采集的農(nóng)田監(jiān)測數(shù)據(jù)、灌溉記錄、報警記錄等進行數(shù)據(jù)查詢,用戶可通過時間范圍和農(nóng)田編號等進行選擇性查詢,查詢的數(shù)據(jù)以表格形式呈現(xiàn)。歷史數(shù)據(jù)分析將相應(yīng)數(shù)據(jù)以折線圖、柱狀圖和餅狀圖3種形式進行直觀顯示,如對灌水量進行月、季度、年的數(shù)據(jù)分析,對農(nóng)田采集的土壤水分和土壤溫度進行24 h的變化分析等。
4.2.4 數(shù)據(jù)信息管理 數(shù)據(jù)是軟件實現(xiàn)分析和決策的原材料,數(shù)據(jù)信息管理模塊主要實現(xiàn)對農(nóng)田基本信息、設(shè)備信息、決策規(guī)則信息以及用戶信息等的修改、添加。當(dāng)田間作物或設(shè)備更換時,及時修改相關(guān)信息,當(dāng)新的作物種類增加時,及時增加相關(guān)規(guī)則信息等。用戶信息即對個人資料(郵箱、電話、地址等)和登錄信息(用戶名、用戶密碼)進行修改。
4.2.5 灌溉決策 灌溉決策主要對農(nóng)田的灌溉進行決策指導(dǎo),通過決策模塊確定農(nóng)田作物“缺不缺水”“需要灌溉多少水量”“何時進行灌溉”等問題,這些決策保障作物及時獲取所需水分,并且起到“缺多少用多少”的節(jié)水灌溉作用。通過灌溉相關(guān)模型得知,要想精確決策出灌溉量和灌溉時間,就需要通過大量相關(guān)參數(shù)(作物信息、土壤信息、氣象信息)進行對應(yīng)模型計算,再反饋給用戶結(jié)果。因此,當(dāng)決策頁面進行表單式設(shè)計時,需要用戶填寫相關(guān)參數(shù)或直接通過數(shù)據(jù)信息表進行查詢導(dǎo)入,獲得所需參數(shù)數(shù)值并計算決策,實現(xiàn)專家級灌溉決策的指導(dǎo)。
為了測試網(wǎng)頁的功能,本研究在谷歌、火狐、IE等主流瀏覽器上分別進行訪問測試,結(jié)果顯示,訪問速度、功能使用、顯示均較優(yōu)良。
灌溉決策功能通過對2處玉米農(nóng)田現(xiàn)有的信息數(shù)據(jù)進行決策,將決策結(jié)果與2位農(nóng)業(yè)專家的評測進行對比,結(jié)果表明其偏差在±10%左右,可以用于作物的灌溉決策,灌溉決策對比如表1所示。
表1 灌溉決策對比
本研究針對節(jié)水灌溉和農(nóng)業(yè)信息化管理問題,介紹了以云平臺為應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器的專家系統(tǒng)結(jié)構(gòu),根據(jù)系統(tǒng)需求,以產(chǎn)生式知識表示法、正向推理策略和以水平衡理論為基礎(chǔ)的灌溉決策模型為專家系統(tǒng)理論基礎(chǔ),以微軟的ASP.NET技術(shù)和SQL Server數(shù)據(jù)庫實現(xiàn)B/S結(jié)構(gòu)的專家系統(tǒng)應(yīng)用程序開發(fā),使用戶能夠脫離時間和空間限制,在有網(wǎng)絡(luò)的地方即可實現(xiàn)對農(nóng)業(yè)灌溉的決策設(shè)置和信息化管理,進一步推動中國農(nóng)業(yè)科技化、信息化、高效化的發(fā)展。結(jié)果表明,基于云平臺的灌溉決策專家系統(tǒng)通過現(xiàn)有的主流瀏覽器對應(yīng)用程序進行訪問性測試,能夠?qū)崿F(xiàn)農(nóng)田實時數(shù)據(jù)監(jiān)測、歷史數(shù)據(jù)查詢與分析、短信報警、數(shù)據(jù)信息管理和灌溉決策等功能,訪問性良好且數(shù)據(jù)管理方便,通過與幾位專家評估對比發(fā)現(xiàn)灌溉決策量偏差在±10%左右,符合灌溉要求。
此外,本研究由于需要構(gòu)建知識庫和數(shù)據(jù)庫,因此需要龐大的數(shù)據(jù)樣本作為參考,前期對數(shù)據(jù)整理和歸納需要投入較多時間,且較依賴農(nóng)業(yè)專家的經(jīng)驗和知識。但隨著數(shù)據(jù)量和知識庫的豐富,未來可進一步在系統(tǒng)中引入神經(jīng)網(wǎng)絡(luò)模型逐步擺脫對農(nóng)業(yè)專家的依賴,并進一步提高預(yù)測的精準度。