李丹一,王武魁,井 暉,樊 坤
(北京林業(yè)大學(xué) 經(jīng)濟(jì)管理學(xué)院,北京 100083)
近年來,林業(yè)經(jīng)營(yíng)管理越來越受到關(guān)注。從2013-2018年,中央下?lián)芙o林業(yè)營(yíng)林造林的預(yù)算資金從1 265.6億元提升到了1 949億元[1-2],盡管如此,我國(guó)森林經(jīng)營(yíng)效果仍不理想[3]。林業(yè)基層單位專家欠缺,使得在實(shí)際進(jìn)行森林撫育等林業(yè)經(jīng)營(yíng)活動(dòng)時(shí)缺少專業(yè)化的指導(dǎo)[4],這是我國(guó)森撫活動(dòng)效率低下的一個(gè)重要原因。森撫管理受眾多因素影響,管理過程中存在忽視撫育規(guī)程和標(biāo)準(zhǔn)的問題。尤其在森林撫育經(jīng)理小班選取方面,目前許多國(guó)有林業(yè)局下轄林場(chǎng)都是依賴技術(shù)人員的經(jīng)驗(yàn)進(jìn)行決策[5]。有經(jīng)驗(yàn)的技術(shù)專家的缺乏對(duì)我國(guó)森林撫育的發(fā)展無疑是巨大的阻礙。因此,為了提高森林撫育經(jīng)理小班決策的科學(xué)性,減少對(duì)技術(shù)人員經(jīng)驗(yàn)的依賴,構(gòu)建一個(gè)輔助林場(chǎng)及森調(diào)部門進(jìn)行森撫經(jīng)理小班位置選取及撫育類型確定的智能決策算法就顯得尤為重要。
隨著我國(guó)林業(yè)信息化不斷發(fā)展,人工智能決策越來越多地應(yīng)用于林業(yè)經(jīng)營(yíng)活動(dòng)中[6-8],各類林業(yè)專家系統(tǒng)不斷涌現(xiàn)[9-11]?;谥R(shí)庫的林業(yè)專家系統(tǒng)通過構(gòu)建合適的規(guī)則表、事實(shí)表和推理機(jī)來推理,進(jìn)而做出較為權(quán)威的決策[6]。但對(duì)于專家系統(tǒng)來說,知識(shí)的結(jié)構(gòu)化表述是進(jìn)行推理的必備條件[12]。森林撫育經(jīng)理小班智能決策是個(gè)半結(jié)構(gòu)化問題,涉及的因素眾多,關(guān)系復(fù)雜,如果只單純基于現(xiàn)有撫育規(guī)章構(gòu)建規(guī)則庫,進(jìn)行規(guī)則推理,在多數(shù)情況下是困難的。在這種技術(shù)理論模型較弱、領(lǐng)域知識(shí)結(jié)構(gòu)化表述較難而實(shí)踐經(jīng)驗(yàn)豐富的領(lǐng)域中,基于案例推理技術(shù)(CBR)具有較為明顯的特點(diǎn)和優(yōu)勢(shì)[13]。CBR是一種基于過往知識(shí)的推理求解方法,目前,其已經(jīng)發(fā)展成為一種用于解決決策推理問題的方法論[14]。該方法的主要思想是通過修改或復(fù)用過往解決相似問題的方案來求解新問題。目前,我國(guó)已有學(xué)者將CBR技術(shù)應(yīng)用于農(nóng)林行業(yè)。例如,溫亮寶等[15]基于CBR的思想在森林病蟲害診斷、防治方面做了相關(guān)研究;溫繼文等[16]基于過往魚病病例,對(duì)魚病診斷推理模型的構(gòu)建進(jìn)行了研究。然而在森林撫育方面,基于案例推理的研究仍較少。
鑒于此,本研究采用基于案例推理的方法來解決森撫智能決策問題。以黑龍江林口林業(yè)局為對(duì)象,構(gòu)建輔助林場(chǎng)及森調(diào)部門進(jìn)行森林撫育經(jīng)理小班選取以及撫育類型確定的智能決策算法,輔助開展森林撫育活動(dòng)。提出基于案例推理的森林撫育智能決策算法,使森林撫育決策更具科學(xué)性。
林口林業(yè)局位于黑龍江省東南部,下轄16個(gè)林場(chǎng),施業(yè)區(qū)總面積27.3萬hm2,有林地面積21.37萬hm2,活立木蓄積1 410萬m3,森林覆蓋率78.9%。本研究主要涉及三部分的數(shù)據(jù):森林經(jīng)理二類調(diào)查數(shù)據(jù)、林場(chǎng)基本信息數(shù)據(jù)及林場(chǎng)歷史撫育作業(yè)設(shè)計(jì)數(shù)據(jù)。
森林經(jīng)理二類調(diào)查數(shù)據(jù)為林口林業(yè)局2015年實(shí)地調(diào)查的經(jīng)理小班全樣本數(shù)據(jù),共74 595條。數(shù)據(jù)包含經(jīng)理小班的基本信息、立地、林分、森林健康等級(jí)等數(shù)據(jù),被用作案例庫清洗和缺失數(shù)據(jù)填補(bǔ)的輸入數(shù)據(jù)。林場(chǎng)基本信息數(shù)據(jù)主要為林場(chǎng)地理信息空間數(shù)據(jù),包括林場(chǎng)、林班、經(jīng)理小班和道路等SHP文件。歷史撫育作業(yè)設(shè)計(jì)數(shù)據(jù)源于林口林業(yè)局2015-2018年度的森林撫育作業(yè)設(shè)計(jì)數(shù)據(jù),是經(jīng)過審批并已實(shí)施森撫作業(yè)的統(tǒng)計(jì)數(shù)據(jù),共4 045條,此部分?jǐn)?shù)據(jù)是案例庫的基本構(gòu)成內(nèi)容。
采用案例推理方法,利用歷史案例結(jié)合相似度計(jì)算來解決半結(jié)構(gòu)化決策問題——“森林撫育經(jīng)理小班選擇及撫育方式?jīng)Q策”。按照案例推理的“4-R”原則[13](Retrieve、Reuse、Revise and Retain)開始推理工作。總體推理流程見圖1。
1.2.1 構(gòu)建撫育案例庫 案例推理的第一步是構(gòu)建案例庫,構(gòu)建撫育案例庫要考慮案例的描述、表示以及存儲(chǔ)等問題。案例的描述也叫作案例的特征提取,一般包括對(duì)源案例各屬性以及解決方案的描述[13]。案例的表達(dá)方式一般有框架表示法、產(chǎn)生式表示法和面向?qū)ο蟊硎痉ǖ萚17]。本研究使用框架表示法和面向?qū)ο蟊硎痉ü餐M(jìn)行,這樣既可表述案例的屬性結(jié)構(gòu)信息,又可表述基本客觀信息。在構(gòu)建撫育案例庫時(shí),視每個(gè)案例為一個(gè)實(shí)體,每個(gè)實(shí)體都包含案例的基礎(chǔ)信息,即案例屬性和解決方案。
收集林口林業(yè)局2015-2018年度的森林撫育作業(yè)設(shè)計(jì)數(shù)據(jù)構(gòu)建案例庫,案例庫中各源案例用Ci表示,每個(gè)案例有18個(gè)屬性(林地質(zhì)量、地類、齡組、郁閉度等級(jí)、立地條件、林分類型、覆蓋度等級(jí)、郁閉度/覆蓋度等級(jí)、森林類別、林種、優(yōu)勢(shì)樹種、起源、群落結(jié)構(gòu)、伐前株樹、伐前蓄積、平均樹高、平均胸徑、人工幼苗幼樹公頃株數(shù)),為方便說明用A1-A18表示。案例的解決方案為其所采用的撫育方式,本案例庫中共5大類,即割灌除草、全面補(bǔ)植、生長(zhǎng)伐、透光伐和綜合撫育。
1.2.2 案例各屬性權(quán)重計(jì)算 為在案例庫中尋找與目標(biāo)案例相似的源案例,需要進(jìn)行案例間相似度計(jì)算。確定案例各屬性的權(quán)重是相似度計(jì)算中一個(gè)重要的步驟。目前,權(quán)重的確定方法主要有主、客觀分析法兩大類。主觀分析法常用的是相關(guān)分析法、德爾菲打分法和層次分析法等[18]??陀^分析法主要有注水分配算法(water-filling assignment,WFA)、遺傳算法、神經(jīng)網(wǎng)絡(luò)法和模擬退火算法等[18]。為降低對(duì)專家主觀經(jīng)驗(yàn)的依賴,增加決策的科學(xué)性,本研究使用客觀分析法分配屬性權(quán)重。
WFA以通信領(lǐng)域的注水理論(WFT)為參考,該理論認(rèn)為:“各個(gè)子信道(屬性)的衰減特性不同,應(yīng)該按照信噪比(重要度)的高低來分配功率(權(quán)重)?!盵19]。WFA分配權(quán)重的思想與森撫相似(每個(gè)經(jīng)理小班有多個(gè)屬性,每個(gè)屬性有不同的特性,更重要的屬性應(yīng)該分到更大的權(quán)重)。因此,在綜合考慮求解質(zhì)量和算法自身特點(diǎn)的基礎(chǔ)上,采用WFA求解森林撫育中屬性權(quán)重分配問題。
(1)
(2)
結(jié)合(1)式、(2)式可計(jì)算出每個(gè)案例A1-A18的屬性權(quán)重,以供后續(xù)相似度計(jì)算使用。部分屬性的權(quán)重值見表1。
表1 案例各屬性權(quán)重分配(部分)
1.2.3 判定目標(biāo)案例是否需要撫育 多個(gè)多屬性案例間(M個(gè)目標(biāo)案例,N個(gè)源案例)相似度計(jì)算的傳統(tǒng)思路是遍歷案例庫中所有案例(例如最近鄰法、K-NN等),逐個(gè)求解各案例之間的相似度,再進(jìn)行相似度比較,最終尋找到最為相似的源案例,其計(jì)算復(fù)雜度為O(M×N)。本研究的目標(biāo)案例數(shù)量眾多(施業(yè)區(qū)所有經(jīng)理小班),若按照傳統(tǒng)計(jì)算方法,計(jì)算效率較低。為優(yōu)化計(jì)算效率,需要尋找一種算法快速篩選出需要撫育的經(jīng)理小班。
2013年,一種基于“原點(diǎn)距”的KML-CB自組織機(jī)制被提出,該方法適用于數(shù)量大、屬性多的案例庫。其核心思路是使用“原點(diǎn)距”來標(biāo)識(shí)案例,將案例的各個(gè)屬性視為案例的不同維度,每個(gè)案例表示為多維空間的一個(gè)點(diǎn)。原點(diǎn)距就是計(jì)算各案例與空間原點(diǎn)之間的距離,例如三維空間就是計(jì)算空間中一點(diǎn)與坐標(biāo)原點(diǎn)(0,0,0)之間的距離,這個(gè)原點(diǎn)就是假定的坐標(biāo)為零的點(diǎn)。如此,就可以使用原點(diǎn)距將案例進(jìn)行邏輯定位,在某一確定的維度空間中,每個(gè)案例具有唯一的原點(diǎn)距,案例相似度越高,其原點(diǎn)距越相近[20]。
本研究運(yùn)用“原點(diǎn)距”的思想,把每個(gè)案例映射為18維空間的一個(gè)點(diǎn),每個(gè)點(diǎn)具有唯一的原點(diǎn)距。計(jì)算案例庫中所有源案例的原點(diǎn)距,并按數(shù)值升序保存在數(shù)據(jù)表中,即可得到源案例的原點(diǎn)距值域。當(dāng)目標(biāo)案例的原點(diǎn)距落在該值域之內(nèi),即判定為需要進(jìn)行撫育,再進(jìn)行后續(xù)案例相似度的精確計(jì)算(決策該經(jīng)理小班需要何種撫育方式);若落在該值域之外,則判定為不需要進(jìn)行撫育,結(jié)束推理。因?yàn)橹恍枰?jì)算所有源案例和目標(biāo)案例的原點(diǎn)距,所以優(yōu)化后算法計(jì)算復(fù)雜度為O(M+N)。
在計(jì)算原點(diǎn)距時(shí),為解決案例同一屬性因數(shù)量級(jí)、量綱等差異造成的計(jì)算錯(cuò)誤,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,本研究采用線性歸一化方法(表2)。C={C1,C2,…,Cm} 表示源案例,Ci指第i個(gè)源案例;A={A1,A2,…,An}表示案例的各個(gè)屬性,Aj指該案例的第j個(gè)屬性。由此可以構(gòu)建屬性矩陣(公式3),其中,Asij代表第i個(gè)案例的第j個(gè)屬性值。
表2 案例原點(diǎn)距(部分)
(3)
式(4)對(duì)案例各屬性值進(jìn)行歸一化處理:
(4)
由此,案例Ci的原點(diǎn)距(odi)為:
(5)
1.2.4 判定撫育類型 多維空間中原點(diǎn)距相同的點(diǎn)可能處于不同空間位置,多個(gè)案例可能具有相同原點(diǎn)距。引入“原點(diǎn)距”之后案例的原信息可能會(huì)部分丟失,導(dǎo)致“原點(diǎn)距”形式的相似度結(jié)果存在誤差,不能滿足撫育類型的準(zhǔn)確判斷。所以要判定目標(biāo)案例的具體的撫育類型需要更精準(zhǔn)的案例相似度計(jì)算。
歐式距離是目前最常用的相似度計(jì)算方法,在計(jì)算前同樣需要對(duì)案例屬性進(jìn)行歸一化處理。本研究參考羅忠良等[19]提出的“歸一化歐式距離”計(jì)算方法對(duì)案例相似度進(jìn)行計(jì)算,該算法在保證推理精度的條件下簡(jiǎn)化了計(jì)算過程,其優(yōu)越性在實(shí)際工程應(yīng)用中得到證明。計(jì)算公式為:
(6)
式中:T為目標(biāo)案例;C為源案例;n代表案例屬性個(gè)數(shù);Wj表示屬性j的權(quán)重(根據(jù)公式1、2計(jì)算);di表示目標(biāo)案例與第i個(gè)源案例的相似距離。代入歸一化的屬性值進(jìn)行計(jì)算,若計(jì)算得到的d越小,則表示2個(gè)案例間的相似度越高。
通過前期對(duì)案例庫數(shù)據(jù)的模擬試驗(yàn),發(fā)現(xiàn)同類撫育方式的2個(gè)源案例之間的相似度在[0,0.3]之間,所以將0.3設(shè)為1個(gè)閾值。參考“fish-and-shrink”算法思想[22],每次在原點(diǎn)距排序中選取目標(biāo)案例周圍4個(gè)源案例計(jì)算相似度。若得出的目標(biāo)案例與4個(gè)源案例的相似度皆超出閾值(0.3),則擴(kuò)大源案例范圍,再取4個(gè)源案例計(jì)算,如此迭代直至尋找到相似的源案例(若一直未能找到相似的源案例,則標(biāo)記該目標(biāo)案例,進(jìn)行后續(xù)案例適配性調(diào)整)。若相似度在閾值之間,則取相似度最大(即距離d最小)的源案例作為目標(biāo)問題的“滿意解”,即以該源案例中經(jīng)理小班的撫育方式作為目標(biāo)案例中經(jīng)理小班的撫育方式。
1.2.5 案例適配性調(diào)整 案例適配是指對(duì)案例推理中得到的源案例的解決方案進(jìn)行調(diào)整,從而使結(jié)果更符合目標(biāo)案例的實(shí)際需求。根據(jù)推理求得的解的個(gè)數(shù),可將案例適配分為:?jiǎn)伟咐m配(僅得到1個(gè)相似源案例)和組合案例適配(得到多個(gè)相似度相同的源案例)[23-25]。本研究對(duì)推理結(jié)果進(jìn)行了適配性調(diào)整,主要分為下述幾種情況。
情況1:?jiǎn)伟咐m配。將推理得到的源案例的解作為目標(biāo)案例的解。
情況2:組合案例適配。若匹配到的各源案例撫育方式相同,則按照情況1處理;若不同,則輔助規(guī)則推理進(jìn)行求解(規(guī)則來源于森林撫育國(guó)家標(biāo)準(zhǔn)[26]及地方性規(guī)程[27])。
情況3:目標(biāo)案例未匹配到源案例。使用規(guī)則推理對(duì)目標(biāo)案例進(jìn)行匹配,判定其是否需要撫育,需要何種撫育方式。
案例庫中共有源案例4 045條,以目標(biāo)案例q為例進(jìn)行算法模擬。
步驟1:計(jì)算案例各屬性的權(quán)重值(表1)。
步驟2:計(jì)算各案例的“原點(diǎn)距”(表2)。
步驟3:判斷目標(biāo)案例q是否需要撫育。根據(jù)表2可知,q的原點(diǎn)距在所有源案例原點(diǎn)距的范圍之間,所以判定q需要進(jìn)行撫育。
步驟4:選取q左右4個(gè)相鄰源案例。由表2可知,其CaseID分別為:273、275、276、280。
步驟5:計(jì)算q與4個(gè)源案例的歸一化歐式距離d。計(jì)算結(jié)果依次為:0.132、0.204、0.424、0.402。
步驟6:去除d超過試驗(yàn)閾值的源案例。由于試驗(yàn)閾值設(shè)置為0.3,所以去除編號(hào)276和280的2個(gè)源案例。
步驟7:選擇d最小的源案例作為目標(biāo)案例q的滿意解。由于q與編號(hào)273號(hào)案例之間的歐式距離最小,所以選取273號(hào)源案例的撫育方式(綜合撫育)作為目標(biāo)案例q的撫育方式。
本研究提出的算法最終解決2個(gè)問題,即判定目標(biāo)案例(森林經(jīng)理小班)是否需要撫育,若需要,則決策適合該案例的撫育方式。在案例中,最終判定目標(biāo)案例q需要進(jìn)行撫育,適合該案例的撫育方式為綜合撫育。
案例庫中源案例的撫育類型可分為以下五大類:割灌除草、全面補(bǔ)植、生長(zhǎng)伐、透光伐和綜合撫育。隨機(jī)抽取20%的源案例作為測(cè)試數(shù)據(jù)(809條),80%作為訓(xùn)練數(shù)據(jù)(3 236條),經(jīng)多次訓(xùn)練,預(yù)測(cè)精度達(dá)到97.16%,詳細(xì)結(jié)果見表3。森林撫育智能決策算法模擬的總體準(zhǔn)確度為97.16%,其中,全面補(bǔ)植的推理精度為81.82%,綜合撫育和割灌除草的推理精度為100%。由結(jié)果可知,本算法能根據(jù)歷史數(shù)據(jù)推理得出較為準(zhǔn)確的森林撫育決策方案。
表3 模擬結(jié)果
從表3中結(jié)果來看,森撫業(yè)務(wù)中與其他作業(yè)方式有交集的撫育活動(dòng)(例如綜合撫育)以及撫育技術(shù)要求相對(duì)較低的活動(dòng)(例如割灌除草)的算法推理精度較高。全面補(bǔ)植的推理精度較低,主要有兩方面的原因,一個(gè)是案例庫中全面補(bǔ)植的數(shù)據(jù)較少,算法訓(xùn)練不足;另一個(gè)原因是全面補(bǔ)植不僅需要撫育歷史數(shù)據(jù),還需要造林歷史數(shù)據(jù)。因此,后續(xù)可以通過擴(kuò)充不同類型的案例庫來改進(jìn)算法精度。
在算法計(jì)算復(fù)雜度方面,若依照傳統(tǒng)思路直接將M條目標(biāo)案例與案例庫中所有N條源案例進(jìn)行相似度計(jì)算,其計(jì)算復(fù)雜度為O(M×N)。本研究提出的算法進(jìn)行前期的數(shù)據(jù)處理(計(jì)算源案例與目標(biāo)案例的原點(diǎn)距)之后,僅需要將目標(biāo)案例與最少4個(gè)源案例進(jìn)行相似度的計(jì)算即可獲得“滿意解”,計(jì)算復(fù)雜度為O(M+N+4)。因此,本研究提出的算法在降低計(jì)算復(fù)雜度上有一定意義。
為幫助林業(yè)基層單位管理者降低在決策過程中對(duì)技術(shù)人員經(jīng)驗(yàn)的過度依賴,減弱因林業(yè)基層專業(yè)人員缺乏對(duì)森林撫育活動(dòng)的影響,本研究對(duì)森林撫育經(jīng)理小班智能選取及其撫育類型的智能決策進(jìn)行了研究,提出基于案例推理的森撫智能決策算法。
本研究以黑龍江林口林業(yè)局歷史撫育數(shù)據(jù)為基礎(chǔ)構(gòu)建撫育案例庫;使用案例推理的方法,結(jié)合注水分配算法計(jì)算各案例的屬性權(quán)重;結(jié)合基于“原點(diǎn)距”的KML-CB算法思想對(duì)森林經(jīng)理小班進(jìn)行選取;結(jié)合fish-and-shrink算法思想、使用歸一化歐式距離計(jì)算案例之間的相似度,對(duì)經(jīng)理小班的撫育類型進(jìn)行決策。提出的案例相似度推理機(jī)制,解決了森林撫育中的關(guān)鍵決策問題,使森撫決策更具科學(xué)性。提出的算法對(duì)傳統(tǒng)的相似度推理算法進(jìn)行了改進(jìn),提高了推理的速度,實(shí)現(xiàn)了較為準(zhǔn)確的森撫經(jīng)理小班選取及撫育方式的輔助決策。傳統(tǒng)的相似度推理算法,其計(jì)算復(fù)雜度為O(M×N),本研究提出的森林撫育智能決策算法計(jì)算復(fù)雜度僅為O(M+N+4),預(yù)測(cè)準(zhǔn)確度達(dá)97.16%,由此可見,提出的算法在計(jì)算精度和計(jì)算復(fù)雜度上皆有一定的意義。
本研究將構(gòu)建的森林撫育智能決策算法應(yīng)用于決策支持系統(tǒng)(DSS)之中。目前,該系統(tǒng)部署在京東云平臺(tái)上,客戶端可以通過Web瀏覽器訪問系統(tǒng)(http://114.67.250.30)。
研究中還存在一些不足,提出的算法僅能輔助管理者進(jìn)行經(jīng)理小班層級(jí)的決策。但在實(shí)際撫育作業(yè)時(shí),由于林場(chǎng)撫育資金和撫育面積的限制,技術(shù)人員需要在經(jīng)理小班內(nèi)或跨經(jīng)理小班選取更小一級(jí)的撫育單位(作業(yè)小班)進(jìn)行撫育,所以在作業(yè)小班層級(jí)上的決策更符合實(shí)際業(yè)務(wù)需求。本研究提出的算法只能幫助決策者確定作業(yè)小班所屬的經(jīng)理小班,不能對(duì)確定的作業(yè)小班進(jìn)行決策。未來將考慮引入遙感衛(wèi)星圖像輔助,以期能夠幫助決策者確定作業(yè)小班的具體位置(帶經(jīng)緯度的多邊形區(qū)域),使撫育決策更接近實(shí)際管理需求。