魚先鋒, 張林
(商洛學院 數學與計算機應用學院, 商洛 726000)
自從1965年Zadeh引入模糊集合[1]的概念以來, 模糊集合的觀點引起了眾多研究者的興趣, 并被引入到許多理論與應用學科中, 已在模糊數學與模糊系統的理論與應用方面取得了許多重要的成果[2-7]。 筆者也在模糊系統分析, 模糊綜合評價, 模糊系統建模等方面做了一些研究[8-11]。 模糊系統與我們通常研究的系統的一個重要的區別在于通常的系統往往是用微分與代數方程來描述的, 有確定的數學模型, 而模糊系統往往是用基于人的經驗的語言規則來描述, 經過模糊推理實現系統的。 合理的水分是農作物、果蔬、樹木生長的必要條件。 除水田外大部分耕地都需要對土地定期灌溉。 現實中灌溉多是人為控制灌溉強度和灌溉時間。 但人工操作起來麻煩, 通常還不好控制灌溉強度和時長。 主要原因是灌溉強度和時長都是人為感知的是一宗定性信息。 所以筆者擬結合土地溫度和濕度定性與定量的信息, 基于模糊控制原理來設計一個模糊智能灌溉系統。 以期實現土地灌溉的自動化、智能化。
定義1[12]模糊集: 集合X上的模糊集合(fuzzy set)是一個映射A:X→[0,1],A也稱為模糊集合A的隸屬函數, 常記為μA。 對x∈X,A(x)稱為x屬于模糊集A的隸屬度。
模糊集合有以下幾種記法:
(1)A={(x,A(x))|x∈X};

(3) 若X為有限集或可數集, 并設X={xi}, 則A可以表示為A=∑A(xi)/xi。
定義2[12]用F(X)表示X上模糊集合的全體, 即F(X)={A|A:X→[0,1]}。
定義3[12]設A,B∈F(X), 若?x∈X有A(x)≤B(x), 則稱A含于B, 或B包含A, 記作A?B。 若?x∈X, 有A(x)=B(x), 稱A等于B記作A=B, 則(F(X),?)為偏序集。
定義4[12]設A,B∈F(X),A與B的并A∪B, 交A∩B, 補Ac的隸屬函數定義為
(A∪B)(x)=A(x)∨B(x)=max{A(x),B(x)},
(A∩B)(x)=A(x)∧B(x)=min{A(x),B(x)},
Ac(x)=1-A(x).
顯然, 若A,B∈F(X)則,
A∪B,A∩B,Ac∈F(X).
另外, 若At∈F(X)(t∈T), 則可定義模糊集合的任意并與任意交的運算如下:
(∪t∈TAt)(x)=∨t∈TAt(x)=supt∈TAt(x),
(∩t∈TAt)(x)=∧t∈TAt(x)=inft∈TAt(x).
顯然,∪t∈TAt,∩t∈TAt∈F(X).
模糊邏輯推理是建立在模糊邏輯基礎上的不確定性推理方法, 是在二值邏輯三段論基礎上發展起來的。這種推理方法以模糊命題為前提, 動用模糊產生式規則, 推導出一個近似的模糊結論。
定義5[5]模糊命題: 含有模糊概念、模糊數據的語句稱為模糊命題。它的一般表示形式為:
xisA
或者
xisA(CF)
其中,A是模糊概念, 用模糊集及隸屬函數刻畫;x是論域上的變量, 用以代表所論述對象的屬性; CF是模糊命題的可信度。
定義6[5]模糊產生式規則的一般形式是:E→H(CF,λ)其中,E是用模糊命題表示的模糊條件;H是用模糊命題表示的模糊結論; CF∈[0,1]是前提的隸屬度, 表示前提的可信度;λ∈[0,1]是推理的隸屬度, 表示該推理的可信程度。
模糊智能灌溉系統的基本架構,如圖1所示。

圖1 模糊智能灌溉系統
2.1 “輸入”數據為實時獲取的溫度、濕度數據, 溫度、濕度的劃分等級, 溫度、濕度的隸屬度, 加試時長的劃分等級和各等級特征函數值。“規則庫”定義了不同溫度、濕度等級下灌溉時長與該推理的可信程度。 “模糊合成”對于不同的應用背景可以定義不同的模糊合成運算, 用以集成輸入信息和推理規則得到一組灌溉信息。 下面給出一種簡單的模糊合成運算的定義。
定義7 模糊合成運算:
(1) 組合前提的不確定性計算:可采用最大最小法和排斥原理:
當組合前提E是多個單一前提的合取時, 若已知CF(E1),…,CF(En)), 則:
CF(E)=min{CF(E1),…,CF(En)};
當組合前提E是多個單一前提的析取時, 若已知CF(E1),…,CF(En)), 則:
CF(E)=max{CF(E1),…,CF(En)};
當前提是模糊命題的否定時:
(2) 結論不確定性的更新: 基于乘法原理, 由產生式E→H(CF,λ)確定的結論的隸屬度CF(H)=CF(E)·λ。
(3) 結論不確定性的合成: 由多條不同前提推出了相同的結論, 但可信度不同, 則用合成算法求出綜合可信度。設有推理:E1→H(CF1,λ1),E2→H(CF2,λ2)則,
依據容斥原理:
CF(H)=CF1(H)+CF2(H)-CF1(H)·CF2(H)
(I)
依據最大隸屬原則:
CF(H)=max{CF1(H),CF2(H)}.
(II)
(I)和(II)可根據實際情況選擇一種即可。
注意:三條以上同結論推理合成, 先合成兩條生成一條, 在將新生成的一條與第三條進行合成, 直至將所有推理合成一個。
“去模糊化”是將模糊合成得到的一組模糊信息, 通過合成計算比如加權平均得到一個分明的特征數作為灌溉時長。
下面給出模糊智能灌溉系統的核心算法:
2.2 輸入
(1) 二元組T=([t0,t],Tg)表示溫度及其等級劃分, [t0,t]?R為溫度取值范圍,Tg={t1,t2,…tm}是對溫度劃分的等級之集,m為劃分等級數; 比如溫度劃分為“低溫”, “中溫”, “高溫”, 3個等級。
(2) 二元組H=([h0,h],Hg)表示濕度及其等級劃分, [h0,h]?(0,1)為溫度取值范圍,Hg={h1,h2,hn}是對濕度劃分的等級之集,n為劃分等級數; 比如濕度劃分為“干燥”, “適宜”, “潮濕”, 3個等級。
(3) IN=(tin,hin)∈[t0,t]×[h0,h] 表示當前土地溫度和濕度;
(4) 集合G={g1,g2,…gw}為灌溉時長等級,w為劃分等級數; 比如加時等級劃分為“短”, “中”, “長”, 3個等級;
(5) 灌溉等級的特征函數ch為映射G→Rm, 將各灌溉時長等級映射到一個具體的時長;
2.3 模糊化
(1) 溫度隸屬度函數ft為映射[t0,t]→(0,1)Tg, 定義了不同溫度對各溫度等級的隸屬度。 一般由領域專家給出, 或基于大量實踐數據統計獲得;
(2) 濕度隸屬度函數fh為映射[h0,h]→(0,1)Hg, 定義了濕度對不同等級的隸屬度, 也由領域專家給出, 或基于大量實踐數據統計獲得;
2.4 建立推理規則庫
模糊合成推理規則庫F為二級映射(Tg×Hg→G)→(0,1), 定義了不同溫度和濕度等級組合下需要灌溉時長等級, 及其隸屬度; 一般, 若不考慮第二級映射則F為Tg×Hg→G認為推理結果是分明的。
2.5 模糊合成
是根據定義6、定義7與推理規則庫F進行模糊合成計算所得到的模糊結論以各灌溉等級的隸屬度形式體現;
2.6 去模糊化
2.7 輸出控制信息
若f≥CH(g1)即計算所得灌溉時長不小于最小灌溉時長等級特征數系統進入加時階段, 灌溉時間為f; 否則系統等待f長度的時間; 總之f長度的時間后再獲取彼時土地溫度、濕度進行下一周期模糊智能灌溉控制。
下面討論系統運行的時間和空間復雜度。
定理1 若模糊智能灌溉系統中溫度、濕度、灌溉時長等級劃分數分別為m,n,w; 溫度、濕度的論域為有限可數集合T,H; 則系統運行一個周期的時間復雜度和空間復雜度都為o(m|T|+n|H|+mn+w).
證明:先計算空間復雜度, 需要存儲m個溫度等級的溫度隸屬度曲線數據規模為o(m|T|), 同理濕度對各濕度等級隸屬度數據復雜度為o(n|H|). 模糊推理規則庫是m×n的一個二維表, 空間復雜度為o(mn); 還有存放各灌溉等級的特征數即灌溉時長, 規模為o(w)。 所以空間復雜度為,
o(m|T|+n|H|+mn+w).
再計算時間復雜度, 考慮一個灌溉周期計算出灌溉時長的時間復雜度。 需要查找當前溫度對m個溫度等級的隸屬度, 時間復雜度為o(m|T|), 查找當前濕度對各濕度等級隸屬度時間復雜度為o(n|H|)。 在模糊推理規則庫中搜索被激活規則復雜度是規則庫二維表規模o(m×n)。 模糊合成計算的時間復雜度為被激活規則數也為o(mn)。 最后加權平均求灌溉時長, 時間復雜度為灌溉等級數o(w)。 所以時間復雜度為,
o(m|T|+n|H|+mn+w). □
定理2 若模糊智能灌溉系統中溫度、濕度、灌溉時長等級劃分數分別為m,n,w; 溫度、濕度的論域為不可數集合T,H; 則系統運行一個周期的時間復雜度和空間復雜度都為o(m|ft|+n|fh|+mn+w)。
證明:當溫度、濕度的論域為不可數集合T,H時; 溫度、濕度的隸屬函數ft,fh也必須定義成確定的連續函數;這樣隸屬度存儲和計算與ft,fh的規模|fh|,|ft|成正比,其他它證明過程與定理1證明相同。 □
3.1 數據模糊化
如圖1給出了土地0-100°C溫度對“低溫”, “中溫”, “高溫”3個等級的隸屬度的一種定義; 由圖知若當前土地溫度為65°C則隸屬度為,

圖1 溫度對各等級的隸屬度曲線

圖2 濕度對各等級的隸屬度曲線
如圖2給出了土地濕度0%-60%對“干燥”, “適宜”, “潮濕”的隸屬度的一種定義; 由圖知若當前土地濕度為21%則其隸屬度為,
3.2 建立推理規則庫
表1定義了一種不同溫度和濕度等級組合下需要灌溉時長的分明推理規則。

表1 模糊合成推理規則庫
由于溫度(65°C)對“低溫”, 濕度(21%)對“潮濕”的隸屬度為0; 所以表1規則庫中的“低溫”列和“潮濕”行不被激活。 激活規則如表2所列。
3.3 模糊合成計算
表2知有如下4條規則被激活:
a.中溫∧干燥→長;
b.高溫∧干燥→長;
c.中溫∧適宜→中;
d.高溫∧適宜→中;
由于規則條件中連接兩個條件的是“且”, 故在此選用取最小值法確定四條規則的強度:
規則a:溫度對“中溫”隸屬度為0.50, 濕度對“干燥”隸屬度為0.16, min(0.50, 0.16)=0.16;
規則b:溫度對“高溫”隸屬度為0. 13, 濕度對“干燥”隸屬度為0.16, min(0.13, 0.16)=0.13;
規則c:溫度對“中溫”隸屬度為0.50, 濕度對“適宜”隸屬度為0.40, min(0.50,0.40)=0.40;
規則d:溫度對“高溫”隸屬度為0. 13, 濕度對“適宜”隸屬度為0.40, min(0.13,0.40)=0.13。
規則a和b的結論都為“長”, 根據定義7的(I)式按乘法原理合稱為:
0.16+0.13-0.16*0.13=0.27
所以結論為“長”的隸屬度最終為0.27。 同理可得結論為“長”的隸屬度最終為0.48。
3.4 去模糊化
表3將各灌溉時長等級映射到一個具體的時長。

表3 灌溉等級的特征函數
因為683≥200, 所以當土地溫度65°C, 濕度21%, 灌溉系統將灌溉約680秒; 680秒后模糊智能灌溉系統將再次獲取彼時土地濕度和溫度進入下一周期模糊控制灌溉。
通過傳感器實時獲取土地溫度和濕度。 基于模糊控制基本原理建立了模糊智能灌溉系統。 基于人對溫度、濕度感知的定性信息, 建立了土地溫度和濕度的隸屬度函數曲線, 給出了基于不同溫度、濕度等級確定灌溉時長的模糊推理規則庫。 通過模糊合成計算, 系統會確定灌溉時長。 接著討論了系統運行的時間復雜度和計算復雜度, 并進行了嚴格的形式化證明。 最后給出了模糊智能灌溉系統的一個運行實例, 實例顯示系統智能高效。