本發(fā)明涉及智能魚缸技術(shù)領(lǐng)域以及強(qiáng)化學(xué)習(xí)技術(shù)領(lǐng)域。
背景技術(shù):
現(xiàn)有技術(shù)中雖然已經(jīng)有智能魚缸,能夠?qū)崟r(shí)檢測(cè)出魚缸的水質(zhì)參數(shù):ph值、鹽度值、含氧量等,并且能將水質(zhì)參數(shù)上傳到服務(wù)器或是用戶的智能手機(jī),但是對(duì)于智能魚缸的水質(zhì)調(diào)節(jié),還是需要用戶根據(jù)水質(zhì)參數(shù)自行根據(jù)經(jīng)驗(yàn)進(jìn)行調(diào)節(jié),如加鹽、加水、加緩沖物質(zhì)等,但是根據(jù)個(gè)人經(jīng)驗(yàn)來實(shí)現(xiàn)的水質(zhì)調(diào)節(jié)方案,往往不會(huì)考慮到所采用的水質(zhì)調(diào)節(jié)方案是否為最佳的方案,即代價(jià)最小的方案,如耗費(fèi)的時(shí)間、原料等為最少。而且,水質(zhì)調(diào)節(jié)本身是一個(gè)比較復(fù)雜的過程,依靠人工調(diào)節(jié)費(fèi)時(shí)費(fèi)力。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種智能魚缸的智能水質(zhì)調(diào)節(jié)方法,以解決現(xiàn)有技術(shù)中人工調(diào)節(jié)水質(zhì)困難、費(fèi)時(shí)費(fèi)力,能夠?qū)χ悄荇~缸的水質(zhì)進(jìn)行智能調(diào)節(jié),能夠不斷更新調(diào)節(jié)策略,獲得最佳的水質(zhì)調(diào)節(jié)方案。
為了解決上述技術(shù)問題,本發(fā)明采用了如下的技術(shù)方案:一種基于強(qiáng)化學(xué)習(xí)的智能魚缸水質(zhì)調(diào)節(jié)方法,設(shè)智能魚缸具有n種水質(zhì)狀態(tài):狀態(tài)1、狀態(tài)2、……狀態(tài)n;預(yù)先構(gòu)建水質(zhì)調(diào)節(jié)方案數(shù)據(jù)庫(kù),一個(gè)水質(zhì)調(diào)節(jié)方案是指從當(dāng)前狀態(tài)轉(zhuǎn)移到水質(zhì)平衡狀態(tài)所采取的方案;包括以下步驟:
步驟1:為數(shù)據(jù)庫(kù)中每一個(gè)水質(zhì)調(diào)節(jié)方案構(gòu)建一個(gè)對(duì)應(yīng)的回報(bào)值矩陣r,回報(bào)值矩陣r具有n行n列:其中,回報(bào)值矩陣r中的行表示當(dāng)前狀態(tài)s,第1行至第n列依次代表狀態(tài)1至狀態(tài)n;回報(bào)值矩陣r中的列表示轉(zhuǎn)移到下一狀態(tài)s′所采取的當(dāng)前行為a;
步驟2:令每一個(gè)水質(zhì)調(diào)節(jié)方案所對(duì)應(yīng)的經(jīng)驗(yàn)矩陣為q;q為n×n矩陣,初始化經(jīng)驗(yàn)矩陣q為零矩陣;
步驟3:根據(jù)對(duì)應(yīng)的回報(bào)值矩陣r以及狀態(tài)轉(zhuǎn)移規(guī)則為每一個(gè)水質(zhì)調(diào)節(jié)方案計(jì)算經(jīng)驗(yàn)矩陣q;其中,狀態(tài)轉(zhuǎn)移規(guī)則的計(jì)算公式如下:
q(s,a)=r(s,a)+γmax{r(s′,a′)};
其中,q(s,a)表示從當(dāng)前狀態(tài)轉(zhuǎn)移到下一狀態(tài)的經(jīng)驗(yàn)值;s表示當(dāng)前狀態(tài),a表示當(dāng)前行為,r(s,a)表示回報(bào)值矩陣中對(duì)應(yīng)的回報(bào)值;s′表示下一狀態(tài),a′表示下一狀態(tài)可能發(fā)生的狀態(tài)轉(zhuǎn)移而采取的下一行為;γ表示學(xué)習(xí)參數(shù),0≤γ≤1;
步驟4:獲取水質(zhì)當(dāng)前狀態(tài),根據(jù)水質(zhì)當(dāng)前狀態(tài)選出若干能達(dá)到水質(zhì)平衡狀態(tài)的水質(zhì)調(diào)節(jié)方案;
步驟5:采用對(duì)應(yīng)值比較方法比較各水質(zhì)調(diào)節(jié)方案的經(jīng)驗(yàn)矩陣q,將各水質(zhì)調(diào)節(jié)方案的經(jīng)驗(yàn)矩陣q中對(duì)應(yīng)元素的值進(jìn)行比較,選出對(duì)應(yīng)元素的值均為最大的經(jīng)驗(yàn)矩陣作為最大經(jīng)驗(yàn)矩陣qmax,以qmax所對(duì)應(yīng)的水質(zhì)調(diào)節(jié)方案作為調(diào)節(jié)當(dāng)前水質(zhì)狀態(tài)的最佳水質(zhì)調(diào)節(jié)方案。
優(yōu)選的,設(shè)水質(zhì)狀態(tài)具有以下4種:狀態(tài)1:鹽度與ph同時(shí)失衡;狀態(tài)2:鹽度失衡,ph正常;狀態(tài)3:ph失衡,鹽度正常;狀態(tài)4:鹽度與ph均正常,此為水質(zhì)平衡狀態(tài);
每一水質(zhì)調(diào)節(jié)方案均按如下方式構(gòu)建回報(bào)值矩陣r:
其中,v>t>d,v表示獎(jiǎng)勵(lì)值,d表示懲罰值,t表示既不獎(jiǎng)勵(lì)也不懲罰的中性值。
優(yōu)選的,在水質(zhì)調(diào)節(jié)方案數(shù)據(jù)庫(kù)中構(gòu)建多agent的相關(guān)智能魚缸系統(tǒng),其中,相關(guān)智能魚缸是指養(yǎng)魚種類相同、魚缸大小相似、養(yǎng)魚數(shù)量相似;在計(jì)算第i個(gè)智能魚缸狀態(tài)轉(zhuǎn)移的經(jīng)驗(yàn)值時(shí),按如下公式:
其中,pi表示第i個(gè)智能魚缸在相關(guān)智能魚缸系統(tǒng)中的權(quán)重系數(shù),0<p≤1;n表示相關(guān)智能魚缸系統(tǒng)中智能魚缸的總數(shù)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
1、能夠從水質(zhì)調(diào)節(jié)方案數(shù)據(jù)庫(kù)中獲取不同的水質(zhì)調(diào)節(jié)方案,不同水質(zhì)調(diào)節(jié)方案的代價(jià)不同,通過為不同水質(zhì)調(diào)節(jié)方案根據(jù)構(gòu)建不同的回報(bào)值矩陣,如代價(jià)越大的水質(zhì)調(diào)節(jié)方案其回報(bào)值越小,代價(jià)越小的水質(zhì)調(diào)節(jié)方案其回報(bào)值越高,這樣就能通過回報(bào)值均值將代價(jià)轉(zhuǎn)換為經(jīng)驗(yàn)矩陣,從而獲得代價(jià)最小的水質(zhì)調(diào)節(jié)方案。
2、計(jì)算經(jīng)驗(yàn)值時(shí),考慮到了下一狀態(tài)和下一行為對(duì)當(dāng)前狀態(tài)和當(dāng)前行為的影響,從而使得經(jīng)驗(yàn)值對(duì)當(dāng)前行為具有預(yù)測(cè)評(píng)價(jià)的作用,避免了狀態(tài)轉(zhuǎn)移的盲目性,對(duì)狀態(tài)轉(zhuǎn)移的動(dòng)作過程起到規(guī)劃作用。
3、本發(fā)明在選擇水質(zhì)調(diào)節(jié)方案時(shí),比較了水質(zhì)調(diào)節(jié)方案數(shù)據(jù)庫(kù)中的所有可以采用的水質(zhì)調(diào)節(jié)方案,是保證挑選出的水質(zhì)調(diào)節(jié)方案為最佳水質(zhì)調(diào)節(jié)方案的前提;并且采用經(jīng)驗(yàn)矩陣對(duì)水質(zhì)調(diào)節(jié)方案進(jìn)行量化,從而能快速選擇出最佳水質(zhì)調(diào)節(jié)方案。
具體實(shí)施方式
下面結(jié)合優(yōu)選實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。
具體實(shí)施方式1
一種基于強(qiáng)化學(xué)習(xí)的智能魚缸水質(zhì)調(diào)節(jié)方法,設(shè)智能魚缸具有n種水質(zhì)狀態(tài):狀態(tài)1、狀態(tài)2、……狀態(tài)n;包括服務(wù)器,服務(wù)器內(nèi)設(shè)有水質(zhì)調(diào)節(jié)方案數(shù)據(jù)庫(kù),一個(gè)水質(zhì)調(diào)節(jié)方案是指從當(dāng)前狀態(tài)轉(zhuǎn)移到水質(zhì)平衡狀態(tài)所采取的方案;包括以下步驟:
步驟1:為數(shù)據(jù)庫(kù)中每一個(gè)水質(zhì)調(diào)節(jié)方案構(gòu)建一個(gè)對(duì)應(yīng)的回報(bào)值矩陣r,回報(bào)值矩陣r具有n行n列:其中,回報(bào)值矩陣r中的行表示當(dāng)前狀態(tài)s,第1行至第n列依次代表狀態(tài)1至狀態(tài)n;回報(bào)值矩陣r中的列表示轉(zhuǎn)移到下一狀態(tài)s′所采取的當(dāng)前行為a;
步驟2:令每一個(gè)水質(zhì)調(diào)節(jié)方案所對(duì)應(yīng)的經(jīng)驗(yàn)矩陣為q;q為n×n矩陣,初始化經(jīng)驗(yàn)矩陣q為零矩陣;
步驟3:根據(jù)對(duì)應(yīng)的回報(bào)值矩陣r以及按照狀態(tài)轉(zhuǎn)移規(guī)則計(jì)算的經(jīng)驗(yàn)值為每一個(gè)水質(zhì)調(diào)節(jié)方案計(jì)算經(jīng)驗(yàn)矩陣q;其中,經(jīng)驗(yàn)值的計(jì)算公式如下:
q(s,a)=r(s,a)+γmax{r(s′,a′)};
其中,q(s,a)表示從當(dāng)前狀態(tài)轉(zhuǎn)移到下一狀態(tài)的經(jīng)驗(yàn)值;s表示當(dāng)前狀態(tài),a表示當(dāng)前行為,r(s,a)表示回報(bào)值矩陣中對(duì)應(yīng)的回報(bào)值;s′表示下一狀態(tài),a′表示下一狀態(tài)可能發(fā)生的狀態(tài)轉(zhuǎn)移而采取的下一行為;γ表示學(xué)習(xí)參數(shù),0≤γ≤1;
步驟4:獲取水質(zhì)當(dāng)前狀態(tài),根據(jù)水質(zhì)當(dāng)前狀態(tài)選出若干能達(dá)到水質(zhì)平衡狀態(tài)的水質(zhì)調(diào)節(jié)方案;
步驟5:采用對(duì)應(yīng)值比較方法比較各水質(zhì)調(diào)節(jié)方案的經(jīng)驗(yàn)矩陣q,將各水質(zhì)調(diào)節(jié)方案的經(jīng)驗(yàn)矩陣q中對(duì)應(yīng)元素的值進(jìn)行比較,選出對(duì)應(yīng)元素的值均為最大的經(jīng)驗(yàn)矩陣作為最大經(jīng)驗(yàn)矩陣qmax,以qmax所對(duì)應(yīng)的水質(zhì)調(diào)節(jié)方案作為調(diào)節(jié)當(dāng)前水質(zhì)狀態(tài)的最佳水質(zhì)調(diào)節(jié)方案。
本具體實(shí)施方式中,設(shè)水質(zhì)狀態(tài)具有以下4種:狀態(tài)1:鹽度與ph同時(shí)失衡;狀態(tài)2:鹽度失衡,ph正常;狀態(tài)3:ph失衡,鹽度正常;狀態(tài)4:鹽度與ph均正常,此為水質(zhì)平衡狀態(tài);
每一水質(zhì)調(diào)節(jié)方案均按如下方式構(gòu)建回報(bào)值矩陣r:
其中,v>t>d,v表示獎(jiǎng)勵(lì)值,d表示懲罰值,t表示既不獎(jiǎng)勵(lì)也不懲罰的中性值。
v、d、t均為人為設(shè)定的回報(bào)值,例如設(shè)置某種水質(zhì)調(diào)節(jié)方案a:調(diào)節(jié)劑(如海鹽、緩沖物質(zhì)、淡水等)加入量能夠根據(jù)智能魚缸水質(zhì)的鹽度和ph值計(jì)算出來,該水質(zhì)調(diào)節(jié)方案分三次添加調(diào)節(jié)劑,每次間隔10分鐘。設(shè)定該水質(zhì)調(diào)節(jié)方案的獎(jiǎng)勵(lì)值v=100,懲罰值d=-1,中性值t=0;那么,該水質(zhì)調(diào)節(jié)方案的回報(bào)值矩陣r:
本具體實(shí)施方式中水質(zhì)狀態(tài)為4種,實(shí)際運(yùn)用中,可以增加水質(zhì)狀態(tài)的種類,如含氧量、溫度等,每增加一種水質(zhì)狀態(tài),回報(bào)值矩陣就增加相應(yīng)的行和列,若水質(zhì)狀態(tài)有m種,那么回報(bào)值矩陣r為m×m矩陣。
本具體實(shí)施方式中,當(dāng)前水質(zhì)狀態(tài)為狀態(tài)1時(shí),要從狀態(tài)1到達(dá)狀態(tài)4,狀態(tài)轉(zhuǎn)移規(guī)則如下:依次進(jìn)行狀態(tài)1到狀態(tài)2、狀態(tài)2到狀態(tài)3、狀態(tài)3到狀態(tài)4的3次狀態(tài)轉(zhuǎn)移;那么當(dāng)前狀態(tài)為狀態(tài)1時(shí),水質(zhì)調(diào)節(jié)方案所對(duì)應(yīng)的經(jīng)驗(yàn)矩陣表示為:
其中,q(1,2)表示從狀態(tài)1轉(zhuǎn)移到狀態(tài)2的經(jīng)驗(yàn)值;q(2,3)表示從狀態(tài)2轉(zhuǎn)移到狀態(tài)3的經(jīng)驗(yàn)值;q(3,4)表示從狀態(tài)3轉(zhuǎn)移到狀態(tài)4的經(jīng)驗(yàn)值。
根據(jù)經(jīng)驗(yàn)值計(jì)算公式:q(s,a)=r(s,a)+γmax{q(s′,a′)},γ=1,以及水質(zhì)調(diào)節(jié)方案a的回報(bào)值矩陣r,分別計(jì)算水質(zhì)調(diào)節(jié)方案a的如下經(jīng)驗(yàn)值:
那么采用水質(zhì)調(diào)節(jié)方案a來調(diào)節(jié)當(dāng)前水質(zhì)狀態(tài)為狀態(tài)1時(shí)的經(jīng)驗(yàn)矩陣為:
本具體實(shí)施方式中,當(dāng)前水質(zhì)狀態(tài)為狀態(tài)2時(shí),要從狀態(tài)2到達(dá)狀態(tài)4,狀態(tài)轉(zhuǎn)移規(guī)則如下:依次進(jìn)行狀態(tài)2到狀態(tài)3、狀態(tài)3到狀態(tài)4的2次狀態(tài)轉(zhuǎn)移;那么當(dāng)前狀態(tài)為狀態(tài)2時(shí),水質(zhì)調(diào)節(jié)方案所對(duì)應(yīng)的經(jīng)驗(yàn)矩陣表示為:
其中,q(2,3)表示從狀態(tài)2轉(zhuǎn)移到狀態(tài)3的經(jīng)驗(yàn)值;q(3,4)表示從狀態(tài)3轉(zhuǎn)移到狀態(tài)4的經(jīng)驗(yàn)值,那么采用水質(zhì)調(diào)節(jié)方案a來調(diào)節(jié)當(dāng)前水質(zhì)狀態(tài)為狀態(tài)2時(shí)的經(jīng)驗(yàn)矩陣為:
本具體實(shí)施方案中,當(dāng)前水質(zhì)狀態(tài)為狀態(tài)3時(shí),要從狀態(tài)3到達(dá)狀態(tài)4,只需要進(jìn)行狀態(tài)3到狀態(tài)4的1次狀態(tài)轉(zhuǎn)移;那么當(dāng)前狀態(tài)為狀態(tài)3時(shí),水質(zhì)調(diào)節(jié)方案所對(duì)應(yīng)的經(jīng)驗(yàn)矩陣表示為:
其中,q(3,4)表示從狀態(tài)3轉(zhuǎn)移到狀態(tài)4的經(jīng)驗(yàn)值,那么采用水質(zhì)調(diào)節(jié)方案a來調(diào)節(jié)當(dāng)前水質(zhì)狀態(tài)為狀態(tài)3時(shí)的經(jīng)驗(yàn)矩陣為:
設(shè)另一種水質(zhì)調(diào)節(jié)方案b的回報(bào)值矩陣為:
那么采用水質(zhì)調(diào)節(jié)方案b來調(diào)節(jié)當(dāng)前水質(zhì)狀態(tài)為狀態(tài)1時(shí)的經(jīng)驗(yàn)矩陣為:
與采用水質(zhì)調(diào)節(jié)方案a來調(diào)節(jié)當(dāng)前水質(zhì)狀態(tài)為狀態(tài)1時(shí)的經(jīng)驗(yàn)矩陣相比,由于
具體實(shí)施方式2
與具體實(shí)施方式1所不同的是:在水質(zhì)調(diào)節(jié)方案數(shù)據(jù)庫(kù)中構(gòu)建多agent的相關(guān)智能魚缸系統(tǒng),其中,相關(guān)智能魚缸是指養(yǎng)魚種類相同、魚缸大小、養(yǎng)魚數(shù)量均相似;在計(jì)算第i個(gè)智能魚缸狀態(tài)轉(zhuǎn)移的經(jīng)驗(yàn)值時(shí),按如下公式:
其中,pi表示第i個(gè)智能魚缸在相關(guān)智能魚缸系統(tǒng)中的權(quán)重系數(shù),0<p≤1;n表示相關(guān)智能魚缸系統(tǒng)中智能魚缸的總數(shù)。
在構(gòu)建多agent的相關(guān)智能魚缸系統(tǒng)時(shí),養(yǎng)魚種類相同是指生物學(xué)分類上屬于同種魚類;將魚缸容積相差不超過1l的視為魚缸大小相似;將同種魚類的養(yǎng)魚數(shù)量差值不超過5條的視為養(yǎng)魚數(shù)量相似;三者均相似則視為相關(guān)智能魚缸,從而構(gòu)建出相關(guān)智能魚缸系統(tǒng);相關(guān)智能魚缸系統(tǒng)中的任一智能魚缸在學(xué)習(xí)水質(zhì)調(diào)節(jié)方案中,除考慮自身的經(jīng)驗(yàn)外,還同時(shí)考慮了相關(guān)智能魚缸系統(tǒng)中其他智能魚缸的經(jīng)驗(yàn),實(shí)現(xiàn)了經(jīng)驗(yàn)共享,提高了水質(zhì)調(diào)節(jié)的智能化程度,為選擇出更加優(yōu)質(zhì)的水質(zhì)調(diào)節(jié)方案打下了基礎(chǔ)。