周 黎
(達(dá)州職業(yè)技術(shù)學(xué)院,四川 達(dá)州 635001)
播種作為農(nóng)業(yè)種植生產(chǎn)的關(guān)鍵環(huán)節(jié),不同農(nóng)作物的播種要求也不一樣,不同的播種數(shù)量、不同的播種深度等都直接影響農(nóng)作物的產(chǎn)量。精密播種可以保證玉米種子的株距、播種深度、播種量的一致性,提高農(nóng)作物的質(zhì)量,控制玉米的生長(zhǎng)密度,是現(xiàn)代農(nóng)業(yè)生產(chǎn)中應(yīng)用最多的播種方法。采取精密播種方法對(duì)于種植戶(hù)來(lái)說(shuō)可以更大程度降低投入,還能增加農(nóng)作物的產(chǎn)量。國(guó)外在20世紀(jì)40年代就開(kāi)始研究精密播種機(jī),多數(shù)的農(nóng)作物都實(shí)現(xiàn)了精密播種;我國(guó)對(duì)于精密播種機(jī)的研究較晚,在70年代開(kāi)始研究,目前玉米、小麥等作物實(shí)現(xiàn)了精密播種。
精密播種是將需要數(shù)量的農(nóng)作物種子播種到土壤中,種子的播種位置和深度都可以根據(jù)要求進(jìn)行設(shè)定,且保證每株種子的的深度都能達(dá)到要求。精密播種機(jī)的加工精度直接影響播種效果,采用傳統(tǒng)播種機(jī)加工方法,效率低,研制周期長(zhǎng),且研制的成本高,不利于推廣。隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,以計(jì)算機(jī)為基礎(chǔ)的設(shè)計(jì)方法應(yīng)運(yùn)而生,農(nóng)機(jī)制造也開(kāi)始逐步采用數(shù)控加工技術(shù)。數(shù)字化控制加工技術(shù)以計(jì)算機(jī)技術(shù)為基礎(chǔ)創(chuàng)建數(shù)字化產(chǎn)品模型,且在產(chǎn)品的設(shè)計(jì)、試驗(yàn)和加工過(guò)程中都可以提供幫助,不需要制造產(chǎn)品實(shí)物模型。在精密播種機(jī)的研制中應(yīng)用CAD技術(shù),其設(shè)計(jì)和加工基本實(shí)現(xiàn)了智能化控制及數(shù)字化生產(chǎn),保證了播種機(jī)零件的精度,實(shí)現(xiàn)了播種機(jī)的標(biāo)準(zhǔn)化生產(chǎn)。本文基于實(shí)例推理的方法對(duì)精密玉米播種機(jī)的數(shù)控加工核心算法進(jìn)行研究,選擇適合的實(shí)例表示形式,建立精密播種機(jī)的實(shí)例知識(shí)庫(kù),研究精密播種機(jī)實(shí)例知識(shí)庫(kù)的檢索算法,在實(shí)例檢索后對(duì)實(shí)例進(jìn)行相似度計(jì)算比較,并以此來(lái)選擇合適的實(shí)例,再通過(guò)實(shí)例修改使之符合當(dāng)前實(shí)例后,解決當(dāng)前問(wèn)題。
CBR是一種類(lèi)比的推理方法,其利用已有的知識(shí)經(jīng)驗(yàn),通過(guò)對(duì)解決方案的調(diào)整和修改,用來(lái)作為新問(wèn)題的解決方案。CBR(基于實(shí)例的推理)通過(guò)對(duì)已有實(shí)例的應(yīng)用和修改來(lái)解決問(wèn)題的定義是由Riesbeck和Roger Schank提出的。對(duì)于CBR的定義還有很多,但各種的定義的核心思想都是一樣的,就是利用以前的經(jīng)驗(yàn)知識(shí)來(lái)解決當(dāng)前問(wèn)題。
CBR的關(guān)鍵就是利用人們已經(jīng)知道的經(jīng)驗(yàn)來(lái)解決新問(wèn)題,并將新問(wèn)題的解決方案作為經(jīng)驗(yàn)存儲(chǔ)到實(shí)例庫(kù),不斷地?cái)U(kuò)展知識(shí)庫(kù)中實(shí)例。在CBR中處理一個(gè)問(wèn)題時(shí),從實(shí)例庫(kù)中查詢(xún)到一個(gè)與問(wèn)題最像的實(shí)例,查詢(xún)到的實(shí)例可以滿(mǎn)足問(wèn)題的求解時(shí)就將查詢(xún)實(shí)例作為結(jié)果輸出;如果查詢(xún)實(shí)例不能滿(mǎn)足問(wèn)題描述,就對(duì)實(shí)例進(jìn)行修正到可以滿(mǎn)足問(wèn)題,修改之后的實(shí)例也會(huì)成為經(jīng)驗(yàn)實(shí)例存儲(chǔ)到實(shí)例庫(kù)中。CBR推理步驟如圖1所示。
圖1 CBR基本推理步驟
1.3.1 實(shí)例的描述
CBR技術(shù)的實(shí)例庫(kù)是CBR實(shí)現(xiàn)的基礎(chǔ),實(shí)例檢索的時(shí)間和搜索一樣,搜索能力大的在時(shí)間上占據(jù)明顯的優(yōu)勢(shì),實(shí)例檢索的效率直接影響推理的效率,是判斷推理機(jī)制性能的指標(biāo)之一。實(shí)例檢索出來(lái)的實(shí)例在經(jīng)過(guò)修正之后形成的新實(shí)例可作為經(jīng)驗(yàn)存儲(chǔ)起來(lái),不斷存儲(chǔ)起來(lái)的實(shí)例不能影響實(shí)例庫(kù)的性能,又要不斷地完善擴(kuò)大實(shí)例庫(kù)。實(shí)例的描述是在實(shí)例庫(kù)中選擇合適的組織形式來(lái)表示實(shí)例,是實(shí)例推理的重要開(kāi)始,正確完整地描述實(shí)例的內(nèi)容,可以為實(shí)例推理的后續(xù)步驟提供良好的基礎(chǔ)。
1.3.2 實(shí)例的檢索
實(shí)例的檢索是實(shí)例推理的中的最影響其效率的步驟,根據(jù)實(shí)例問(wèn)題的描述,進(jìn)行問(wèn)題屬性的分類(lèi),根據(jù)關(guān)鍵詞和屬性再以特定的檢索策略在精密播種機(jī)實(shí)例庫(kù)中查找到類(lèi)似的實(shí)例方案。實(shí)例檢索算法實(shí)現(xiàn)的依據(jù)是實(shí)例描述和實(shí)例庫(kù)中存儲(chǔ)實(shí)例有一定的相似度,而如何來(lái)確定實(shí)例的相似度就成為實(shí)例檢索前需要解決的難題。對(duì)于相似度的問(wèn)題,人們提出了幾個(gè)對(duì)相似度進(jìn)行定量的概念,如模糊相似度及差異度等。使用不同的相似度定量概念需要的算法也會(huì)不同,應(yīng)根據(jù)算法的偏向選擇來(lái)確定對(duì)應(yīng)的定量概念。根據(jù)數(shù)控加工需要的要求,實(shí)例檢索要達(dá)到的要求有高速性、精確性、有效性、易修改性。
1.3.3 實(shí)例的修改
檢索出來(lái)的實(shí)例和目標(biāo)實(shí)例基本很難符合的,需要對(duì)檢索出來(lái)的實(shí)例進(jìn)行修正。實(shí)例的修改是指對(duì)檢索到與當(dāng)前問(wèn)題最類(lèi)似的實(shí)例進(jìn)行修改使之為完全符合要求的實(shí)例。如果采用統(tǒng)一的修改方法,只能面對(duì)同樣的實(shí)例問(wèn)題,對(duì)于不同的問(wèn)題就無(wú)法使用,故需要根據(jù)不同規(guī)則來(lái)區(qū)別采用修改的方法。實(shí)例的修改是CBR中最有難度的,用以前的經(jīng)驗(yàn)知識(shí)來(lái)解決現(xiàn)在的新問(wèn)題,不管存儲(chǔ)經(jīng)驗(yàn)知識(shí)多么豐富,也不能夠保證可以解決不斷出現(xiàn)的新問(wèn)題。CBR基本采用以下兩種修改方法:①基于規(guī)則的結(jié)論用以適應(yīng)新問(wèn)題結(jié)構(gòu)的修改方法;②通過(guò)利用存儲(chǔ)實(shí)例結(jié)果規(guī)則進(jìn)行誘導(dǎo)的修改方法。
實(shí)例表示的內(nèi)容主要包括問(wèn)題描述、問(wèn)題求解和問(wèn)題結(jié)果。問(wèn)題的描述是指求解實(shí)例的環(huán)境條件和狀態(tài),問(wèn)題的求解是指求解問(wèn)題的過(guò)程和方法,問(wèn)題的結(jié)果是指問(wèn)題求解出來(lái)信息。實(shí)例表示常用的方法包括一階謂詞邏輯表示法、框架表示法、自然語(yǔ)言表示法及過(guò)程表示法等,根據(jù)需要解決問(wèn)題的類(lèi)型選擇合適的表示方法。
實(shí)例的表示是將實(shí)例描述為人們可以認(rèn)知的形式,并將實(shí)例以適宜方式存儲(chǔ)到計(jì)算機(jī)中。實(shí)例的表示基于已有知識(shí)表示,在選擇表示方法時(shí)應(yīng)遵循的原則如下:
1)可擴(kuò)充性。實(shí)例庫(kù)可以通過(guò)表示結(jié)構(gòu)的增加提高表示能力。
2)可表達(dá)性。實(shí)例可用一個(gè)特征集合來(lái)表示。
3)可修改性。表示易于修改,過(guò)程中的表示也可以修改。
一個(gè)產(chǎn)品的實(shí)例庫(kù)由多個(gè)實(shí)例組成,每個(gè)實(shí)例包含各個(gè)實(shí)例的特征信息。實(shí)例庫(kù)影響到實(shí)例的推理,且好壞直接影響到信息檢索是否能成功和檢索的速度。實(shí)例庫(kù)中的知識(shí)經(jīng)驗(yàn)以關(guān)系數(shù)據(jù)庫(kù)的方式收集整理在一起,關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)以不同的方式存取或重新聚集,不需要重新組織數(shù)據(jù)庫(kù)表格,關(guān)系數(shù)據(jù)庫(kù)應(yīng)易于創(chuàng)建、存取及擴(kuò)充。將精密玉米播種機(jī)的實(shí)例存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中,將數(shù)據(jù)表和數(shù)據(jù)表連接起來(lái)形成數(shù)據(jù)結(jié)構(gòu),并在數(shù)據(jù)結(jié)構(gòu)中映射實(shí)例庫(kù)信息。實(shí)例庫(kù)的創(chuàng)建程序?yàn)?
1)選擇數(shù)據(jù)庫(kù)系統(tǒng)軟件;
2)設(shè)計(jì)存儲(chǔ)實(shí)例的數(shù)據(jù)庫(kù)結(jié)構(gòu);
3)導(dǎo)入實(shí)例數(shù)據(jù)。
實(shí)例庫(kù)中實(shí)例的組織形式一般有兩種:一種是分散組織,即把實(shí)例分散為多個(gè)部分,每個(gè)部分分別存儲(chǔ)在不同的數(shù)據(jù)表;另一種是統(tǒng)一組織,即將實(shí)例作為一個(gè)整體置于數(shù)據(jù)表中。如果實(shí)例之間的相關(guān)性強(qiáng)、結(jié)構(gòu)性差時(shí)采用統(tǒng)一組織,統(tǒng)一組織的形式不易于修改,分散組織形式操作靈活,對(duì)于實(shí)例的修改、存儲(chǔ)更容易。
實(shí)例的檢索是CBR推理中最重要部分,采用哪種檢索算法對(duì)推理的準(zhǔn)確和效率都有影響。實(shí)例檢索包括識(shí)別、匹配及選定過(guò)程。
目前實(shí)例檢索的方法主要有3種,即最近鄰算法、歸納索引算法和知識(shí)引導(dǎo)算法。
1)最近鄰算法是指使用者在實(shí)例庫(kù)中找出與當(dāng)前需要距離最近的實(shí)例的方法,即將實(shí)例看成一個(gè)點(diǎn),在該點(diǎn)上建檢索結(jié)構(gòu),使得對(duì)于輸入問(wèn)題描述后可快速地找到最佳匹配的節(jié)點(diǎn)。這種算法將實(shí)例的特征指定一個(gè)權(quán)重值,在進(jìn)行實(shí)例檢索時(shí)可根據(jù)輸入的設(shè)計(jì)要求與從實(shí)例庫(kù)中提取的實(shí)例的特征進(jìn)行匹配,并計(jì)算實(shí)例之間的相似度,得到相似度最高的實(shí)例,即為檢索目標(biāo)實(shí)例。
2)歸納索引算法類(lèi)似決策樹(shù)的方法,在實(shí)例庫(kù)中索引出特征向量,根據(jù)不同的特征將實(shí)例組成一個(gè)類(lèi)似判別網(wǎng)絡(luò)的結(jié)構(gòu),即為實(shí)例檢索時(shí)采用的搜索策略。其中,采用的算法為ID3算法,這種算法是在每步中取信息增益最大的屬性,作為實(shí)例的檢索特征,檢索時(shí)間短,效率高。
3)知識(shí)引導(dǎo)算法以實(shí)例庫(kù)中已有的知識(shí)為引導(dǎo),并決定實(shí)例中那種特征用來(lái)進(jìn)行檢索。這種方法具有方向性,結(jié)構(gòu)模式也比較簡(jiǎn)單。
精密玉米播種機(jī)的實(shí)例檢索的目標(biāo)比較難確定,相似度的比較標(biāo)準(zhǔn)不易獲得,且實(shí)例庫(kù)不大,不適合采用后面兩種方法檢索。采用改進(jìn)的最鄰近算法,在實(shí)例庫(kù)中檢索出來(lái)的相似度偏高的實(shí)例,將這些相似度高的實(shí)例以分層的形式組合。因?yàn)槊總€(gè)使用者都可能存在不同的檢索要求,檢索出來(lái)的實(shí)例偏差會(huì)有大有小,偏差大的實(shí)例和目標(biāo)實(shí)例的相似度低,這種實(shí)例就無(wú)法使用。為了避免這種情況的發(fā)生,在檢索前設(shè)定閥值,從局部和整體兩個(gè)方面同時(shí)進(jìn)行設(shè)定,以控制檢索實(shí)例中出現(xiàn)不符合的實(shí)例。
操作系統(tǒng)選擇Windows XP系統(tǒng),相關(guān)數(shù)據(jù)庫(kù)采用SQLserver數(shù)據(jù)庫(kù),編程語(yǔ)言為C++。
采用C/S結(jié)構(gòu)作為數(shù)控系統(tǒng)的機(jī)構(gòu)框架,將數(shù)控加工系統(tǒng)中的客戶(hù)輸入端和服務(wù)端區(qū)別開(kāi)來(lái)。結(jié)構(gòu)框架大致上分為數(shù)據(jù)庫(kù)、邏輯庫(kù)和用戶(hù)界面3部分。
采用ADO訪問(wèn)數(shù)據(jù)庫(kù)。訪問(wèn)數(shù)據(jù)庫(kù)的編制包括初始化、引入定義文件及連接相關(guān)數(shù)據(jù)庫(kù),在連接的數(shù)據(jù)庫(kù)上執(zhí)行指令進(jìn)行查詢(xún),輸出結(jié)果,關(guān)閉連接。
基于CBR的精密玉米播種機(jī)數(shù)控加工,包括實(shí)例檢索、修改和存儲(chǔ)等模塊。在對(duì)實(shí)例庫(kù)進(jìn)行檢索時(shí),需要先對(duì)求解實(shí)例進(jìn)行評(píng)價(jià),和已有實(shí)例進(jìn)行比較,判斷新實(shí)例和已有實(shí)例的相似度。相似度的判斷首先是從局部進(jìn)行,再進(jìn)行整體相似度的評(píng)估。對(duì)評(píng)估得到最佳實(shí)例進(jìn)行修改,改正的實(shí)例符合當(dāng)前求解問(wèn)題,即可用于播種機(jī)的設(shè)計(jì)。在計(jì)算機(jī)上進(jìn)行這些步驟后,就可以利用數(shù)控軟件進(jìn)行模擬建模,并模擬試驗(yàn),得到的設(shè)計(jì)參數(shù)后即可用于生產(chǎn)。
相較于傳統(tǒng)的播種方法,精密播種有提高效率、節(jié)省成本、利于機(jī)械化管理等優(yōu)勢(shì),且實(shí)踐證明采用精密播種可以大幅度地提高農(nóng)作物的產(chǎn)量。在智能化加工技術(shù)出現(xiàn)之前,精密玉米播種機(jī)的設(shè)計(jì)制造周期長(zhǎng)、成本高。為此,采用數(shù)控加工技術(shù)進(jìn)行設(shè)計(jì)制造加工,將CBR技術(shù)引入到精密玉米播種機(jī)的數(shù)字化設(shè)計(jì)加工中,可以充分地利用以前的精密播種機(jī)設(shè)計(jì)制造實(shí)例經(jīng)驗(yàn),快速地完成新型玉米播種機(jī)的設(shè)計(jì)加工,降低了設(shè)計(jì)成本,滿(mǎn)足了使用者的需求。