文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.05.017
中文引用格式: 史斌斌,王宜懷. 一種基于真假值的智能家居控制算法研究[J].電子技術(shù)應(yīng)用,2016,42(5):60-63,67.
英文引用格式: Shi Binbin,Wang Yihuai. Research of a smart home control algorithm based on ture or false[J].Application of Electronic Technique,2016,42(5):60-63,67.
0 引言
在人工智能領(lǐng)域,機(jī)器學(xué)習(xí)和自適應(yīng)等算法是主要研究方向,而面對(duì)智能家居領(lǐng)域的控制,機(jī)器學(xué)習(xí)等方法并不合適。原因如下:首先,樣本空間不足,沒(méi)有足夠的訓(xùn)練數(shù)據(jù)[1]。例如,一般城市家庭的生活作息是以星期為單位,即使只收集一個(gè)家庭50組數(shù)據(jù)就需要花費(fèi)一年的時(shí)間,這在實(shí)際運(yùn)用中行不通;其次,學(xué)習(xí)難度大。準(zhǔn)確性地學(xué)習(xí)一個(gè)人或一個(gè)家庭的生活作息難度非常大,因?yàn)槿瞬淮嬖诮^對(duì)的內(nèi)在作息規(guī)律,隨機(jī)性非常大[2];最后,計(jì)算能力不足。人工智能一般需要很大的計(jì)算量,而智能家居的控制算法基本運(yùn)行在單片機(jī)或微控制器上,這些處理器相對(duì)PC或服務(wù)器級(jí)別的處理器而言,主頻低,單核,位長(zhǎng)短和浮點(diǎn)計(jì)算能力欠缺或不足[3-4]。
基于以上事實(shí),智能家居控制算法不能采用既有模型和思路來(lái)實(shí)現(xiàn)。算法必須具備不需要學(xué)習(xí)樣本、應(yīng)對(duì)變化反應(yīng)速度快、計(jì)算量小和容易被編碼等特點(diǎn)[5-6]。智能家居的控制算法是一個(gè)具體場(chǎng)景的應(yīng)用,故在學(xué)術(shù)上對(duì)此的研究并不多。本文通過(guò)不斷的嘗試和實(shí)驗(yàn),提出了以真假值為主要計(jì)算手段的TF算法。
1 算法概述
為簡(jiǎn)化算法的表達(dá)并增強(qiáng)實(shí)用性,引用電熱水器作為家庭設(shè)備終端進(jìn)行說(shuō)明,該設(shè)備是中國(guó)普通家庭普及率最高的家用電器。一般家庭使用熱水的習(xí)慣集中在早晨和晚上,而電熱水器卻是全天24小時(shí)保存熱水,造成了電能浪費(fèi)[7]。以中國(guó)南方為例,夏季即使白天和夜里不使用熱水,熱水器一般會(huì)空燒一次,而在冬天則空燒的頻率更大,嚴(yán)重造成了電能浪費(fèi)。由于家庭組成千變?nèi)f化,不可能通過(guò)提前在熱水器中預(yù)置一個(gè)全能的控制算法來(lái)做實(shí)際控制,但可以在熱水器中預(yù)置一個(gè)具備最低級(jí)控制能力并同時(shí)具有收集分析歷史數(shù)據(jù)和根據(jù)數(shù)據(jù)的變化動(dòng)態(tài)做出決策的TF算法。在實(shí)際使用中,通過(guò)它在不同的家庭環(huán)境中控制熱水器的同時(shí)提取用戶(hù)數(shù)據(jù),制定出與特定使用者相匹配的控制策略。
2 建立表達(dá)模型
熱水器的使用是現(xiàn)實(shí)世界中的具體問(wèn)題,如果要想通過(guò)算法或程序來(lái)進(jìn)行智能控制和管理,則首先需要建立相關(guān)的數(shù)據(jù)表達(dá)模型,這個(gè)表達(dá)模型應(yīng)該容易被計(jì)算機(jī)表示和處理,只有在這個(gè)表達(dá)模型基礎(chǔ)上,才能進(jìn)行進(jìn)一步計(jì)算等處理。
2.1 原始數(shù)據(jù)采集
算法控制的直接對(duì)象是熱水器,因此要了解對(duì)應(yīng)家庭使用熱水的時(shí)間段數(shù)據(jù),而數(shù)據(jù)只有通過(guò)熱水器獲知。熱水在實(shí)際使用中總是時(shí)斷時(shí)續(xù),通過(guò)統(tǒng)計(jì)發(fā)現(xiàn),一個(gè)人的簡(jiǎn)單洗漱過(guò)程一般會(huì)持續(xù)10~15分鐘,平均開(kāi)關(guān)水龍頭3次[8],而如果把這些瑣碎的時(shí)間片全部收集起來(lái)進(jìn)行處理則沒(méi)有任何意義。數(shù)據(jù)收集采取的辦法是兩次使用熱水的時(shí)間差在半個(gè)小時(shí)以?xún)?nèi),則算為一次。通過(guò)使用該收集數(shù)據(jù)的方法抽查并記錄某一家庭某一周使用熱水的數(shù)據(jù)如下所示:
周一: 06:28-07:03\11:40-13:59\18:32-00:05
周二: 06:53-07:28\19:20-22:22
周三: 06:10-07:40\19:43-00:20\22:21-00:12
周四: 06:31-06:58\17:46-20:19
周五: 06:11-07:42\17:17-00:28
周六: 09:01-11:11\12:40-14:22\08:03-01:16
周日: 08:40-10:15\11:49-15:48\18:53-23:20
2.2 數(shù)據(jù)處理和離散化
為了更加清晰地發(fā)現(xiàn)規(guī)律,需要對(duì)原始采集的數(shù)據(jù)做進(jìn)一步處理,實(shí)質(zhì)是將其工作區(qū)間擴(kuò)大和計(jì)數(shù)單位離散化。具體的處理方法是將起始時(shí)間在xx:01-xx:30和xx:31-xx:60(xx:00)之間的數(shù)據(jù)劃歸到xx:00和xx:30。結(jié)束時(shí)間在xx:01-xx:30和xx:31-xx:60(xx:00)之間的數(shù)據(jù)劃歸到xx:30和xx+1:00。處理過(guò)的數(shù)據(jù)如下所示:
周一: 06:00-07:30\11:30-14:00\18:30-00:30
周二: 06:30-07:30\19:00-22:30
周三: 06:00-08:00\19:30-21:30\22:00-00:30
周四: 06:30-07:00\17:30-20:30
周五: 06:00-08:00\17:00-00:30
周六: 09:00-11:30\12:30-14:30\08:00-01:30
周日: 08:30-10:30\11:30-16:00\18:30-23:30
通過(guò)將處理過(guò)的數(shù)據(jù)與原始數(shù)據(jù)對(duì)比可以發(fā)現(xiàn),原始數(shù)據(jù)是被處理過(guò)數(shù)據(jù)的一個(gè)真子集。雖然原始數(shù)據(jù)經(jīng)處理后發(fā)生變化,但可以在不影響使用者數(shù)據(jù)提取的前提下簡(jiǎn)化計(jì)算工作,所以進(jìn)行這樣的數(shù)據(jù)處理是必要的。
為了更清晰地看清規(guī)律將數(shù)據(jù)可視化,根據(jù)處理后的數(shù)據(jù)得出表1的位圖表??v向?yàn)闀r(shí)間單位,每半個(gè)小時(shí)為一個(gè)計(jì)算單位;橫向?yàn)?個(gè)時(shí)間單位,每天是一個(gè)計(jì)算單位。
根據(jù)實(shí)際使用情況每半個(gè)小時(shí)對(duì)應(yīng)著布爾值“真”或是“假”,用T表示“真”,F(xiàn)表示“假”。通過(guò)表1發(fā)現(xiàn),只要控制算法最終能確定每個(gè)格子的值取真還是假即可。至此,將實(shí)際問(wèn)題中的模擬量轉(zhuǎn)化成了由位圖表示的計(jì)算機(jī)可處理的表達(dá)模型,整個(gè)算法也是基于位圖展開(kāi)的。
2.3 應(yīng)用場(chǎng)景分析及研究重點(diǎn)
算法的最終使用場(chǎng)景是在沒(méi)有任何歷史數(shù)據(jù)存在的情況下,收集數(shù)據(jù)與分析數(shù)據(jù)同步進(jìn)行。由于使用家庭不同和節(jié)氣等原因,生活作息會(huì)不斷變化,即使是通過(guò)累積歷史數(shù)據(jù)分析并得到了決策方法,也不能以后就一直使用這個(gè)方法,還必須持續(xù)地分析過(guò)去的數(shù)據(jù),形成與使用者家庭當(dāng)前最匹配的控制方法。
在現(xiàn)實(shí)中,城市居民的生活往往以周或天為一個(gè)規(guī)律性的周期,所以需要加入一個(gè)控制周期參數(shù)LP(learning period)來(lái)定義控制周期。根據(jù)實(shí)際情況給LP取兩個(gè)值,如果是天,用LP=d(day)表示;或者是星期,用LP=w(week)表示。
在LP=d的情況下,前一天的數(shù)據(jù)會(huì)一定程度地影響第二天對(duì)熱水器的控制,這種情況適用于不是以星期為生活周期的家庭。
在LP=w的情況下,前一個(gè)星期的輸入數(shù)據(jù)會(huì)在一定程度上影響下個(gè)星期對(duì)控制器的控制。其實(shí)LP=w是由LP=d的組合而行成的情況,以每周的星期三為例,當(dāng)前星期的周三只能借鑒前一個(gè)星期周三的歷史數(shù)據(jù),本質(zhì)還是LP=d的情況,所以本論文重點(diǎn)研究LP=d的情況。
3 算法原理
當(dāng)前控制位圖(A)+最近一天的數(shù)據(jù)位圖(B)=最終控制位圖(C)(計(jì)算方法),如圖1所示。
其中當(dāng)前控制位圖(A)表示當(dāng)前的控制決策;最近一天的數(shù)據(jù)位圖(B)表示最新的歷史數(shù)據(jù),它是算法的輸入;最終控制位圖(C)表示通過(guò)計(jì)算得出的最新控制決策結(jié)果,它是算法的輸出。而在整個(gè)算法工作流程中,計(jì)算方法是核心,直接決定著最終控制結(jié)果的好壞。
3.1 TF初步方法
最簡(jiǎn)單的初步計(jì)算方法是采取類(lèi)似真值計(jì)算法來(lái)得出目標(biāo)控制位圖。以圖1的07:00-07:30這一格為例來(lái)說(shuō)明。圖2給出了計(jì)算法則。
這種策略完全參考最新一天的數(shù)據(jù),把最近一天的數(shù)據(jù)當(dāng)作下一天的控制方法。這種方法雖然簡(jiǎn)單,但是不具備靈活性和健壯性。尤其是對(duì)突然不規(guī)律的一天數(shù)據(jù)這種情況,完全沒(méi)有抵御能力。另外也沒(méi)有考慮到06:30-07:00和07:30-08:00等目標(biāo)格附近對(duì)最終結(jié)果的影響,因?yàn)檎5纳钭飨⒍际窃谝欢ǖ膮^(qū)間內(nèi)搖擺,必須要注重時(shí)間前后性的聯(lián)系。
3.2 TF改進(jìn)方法
初步方法除了參照最近一天的數(shù)據(jù)B外,并沒(méi)有參考以前的數(shù)據(jù),需要在初步方法基礎(chǔ)上做進(jìn)一步改進(jìn)。要想?yún)⒖家郧暗臍v史數(shù)據(jù),需要把歷史數(shù)據(jù)一定程度反映到當(dāng)前控制位圖A中。每一個(gè)格子在可以取真假值之外,需要再攜帶一個(gè)權(quán)值,這里用W表示。以W作為參考,面對(duì)最新一天的數(shù)據(jù)位圖時(shí),可以綜合W的值來(lái)做出決策,而不是完全按照最新一天的位圖信息來(lái)決定下一天的控制位圖。初步方法有一點(diǎn)需要保留——T值即刻生效法,無(wú)論當(dāng)前控制位圖A的某一格子是T還是F,或者W取值是什么,只要最近一天數(shù)據(jù)位圖B的對(duì)應(yīng)格子是T,則下一天的控制位圖對(duì)應(yīng)格子做出的決策是T。采取“T值即刻生效法”是為了盡量不要遺漏工作時(shí)間,快速對(duì)變化做出反應(yīng),從而減少給正常生活帶來(lái)麻煩。這也是整個(gè)算法的原則之一,實(shí)現(xiàn)手段是盡量使算法的T值域大于等于真正的T值域,這樣可以更好地為智能生活帶來(lái)方便。圖3給出了“T值即刻生效法”的運(yùn)算法則。
W的一種取法是統(tǒng)計(jì)式的方式,即以T或F的總數(shù)為分子,T和F的和總數(shù)為分母。W的另外一種取法是記錄式的方式,記錄預(yù)定義的一段時(shí)間內(nèi)連續(xù)的T或是F的總數(shù)。由于人的活動(dòng)具有時(shí)間局部性,相同活動(dòng)規(guī)律具有聚集性,第二種方法可以反映相應(yīng)的聚集性和連續(xù)性,所以W采取第二種方式取值,具體的取法如下。
用3個(gè)域來(lái)保存最近三天的T/F值記錄。W的3個(gè)域初始值均為T(mén),在未接觸到使用者數(shù)據(jù)時(shí),默認(rèn)全天工作。W的動(dòng)態(tài)變化如圖4所示。
W從整體上看是一個(gè)按著時(shí)間的先后順序向左移動(dòng)的記錄。W保存的是使用者家庭最近過(guò)去三天的T/F值情況。
在T值即刻生效法和W的約束下,需要新的計(jì)算法則,以W在n(n>=3)天后的情況為例來(lái)說(shuō)明,如圖5所示。
以第n天的數(shù)據(jù)劃分為兩種情況。
第一種情況:第n天的數(shù)據(jù)值為T(mén)。根據(jù)T值即刻生效法會(huì)直接得出控制結(jié)果為T(mén)。這種情況下不需要參考W的值。
第二種情況:第n天的數(shù)據(jù)值為F。這種情況,T值即刻生效法不起作用,做決策的依據(jù)是查看第n-2天的數(shù)據(jù)值和第n-1天的數(shù)據(jù)值的真假。如果全部是F,則得出控制值為F;如果只有T存在,則會(huì)得出控制結(jié)果為T(mén)。該情況采取這種策略的目的是為由T向F變化提供一個(gè)容量為3的緩沖,只有連續(xù)三天為F才能確定為F,這些做法很好地體現(xiàn)了T值域最大可能性的覆蓋真實(shí)情況。具體的計(jì)算法則如圖6所示。
3.3 TF最終方法
改進(jìn)方法可以反映人們生活習(xí)慣的時(shí)間局部性,但其缺點(diǎn)是邊界過(guò)于硬朗和容易造成控制漏洞。下面以圖1的15:00一格為研究對(duì)象來(lái)說(shuō)明。
使用改進(jìn)方法則只參考時(shí)間段15:00~15:30的當(dāng)前控制位圖A和15:00~15:30的最新歷史數(shù)據(jù)B,然后得到15:00~15:30的控制結(jié)果C。而實(shí)際上,人們的生活行為是線性的,具有時(shí)間前后連續(xù)性。為此,除了需要參考15:00~15:30的當(dāng)前位圖和最近一天15:00~15:30的數(shù)據(jù)位圖外,需要把它前一格的數(shù)據(jù)和后一格的數(shù)據(jù)作為參考,進(jìn)行評(píng)估。截取圖1的數(shù)據(jù)如圖7所示。
使用改進(jìn)方法可以分別得到C的14:30格子、15:00格子和15:30格子的控制結(jié)果。為了反映時(shí)間的連續(xù)性,在C的基礎(chǔ)上建立3個(gè)格子的關(guān)聯(lián)。具體分為兩種情況:
第一種情況:當(dāng)使用改進(jìn)方法計(jì)算出15:00格子的控制結(jié)果為T(mén),則依然遵守T值即刻生效法,不做任何操作,直接確定其最終控制結(jié)果為T(mén)。
第二種情況:當(dāng)使用改進(jìn)方法計(jì)算出15:00格子的控制結(jié)果為F,并通過(guò)改進(jìn)方法計(jì)算出14:30格子和15:30格子的控制結(jié)果。如果想要確定15:00格子的最終控制結(jié)果,需要參考其相鄰格子的值。具體的辦法是采取簡(jiǎn)單投票法,如果其他兩個(gè)格子都是T,則15:00格子的最終控制結(jié)果為T(mén);否則,15:00格子的最終控制結(jié)果為F。這種做法進(jìn)一步加大了T域覆蓋真實(shí)T的可能性。
最終方法在初步方法和改進(jìn)方法的基礎(chǔ)上進(jìn)行了改進(jìn)和完善,去掉了初步方法和改進(jìn)方法的缺點(diǎn)和不足,繼承了它們的優(yōu)點(diǎn)。最終方法具有對(duì)T變化反應(yīng)迅速、對(duì)F變化反應(yīng)遲緩,并具有柔和邊界和防止控制漏洞等特性。
4 測(cè)試結(jié)果和評(píng)價(jià)
對(duì)算法進(jìn)行測(cè)試有模擬和實(shí)踐兩種方法。對(duì)于TF算法而言,由于沒(méi)有方法對(duì)人的這種隨機(jī)性行為進(jìn)行模擬,所以采用模擬方法并不可行。故采用實(shí)踐測(cè)試方法對(duì)TF算法進(jìn)行測(cè)試。
由于時(shí)間等因素的限制,對(duì)TF算法進(jìn)行了小范圍測(cè)試,統(tǒng)計(jì)以天為生活周期某一家庭使用熱水器的數(shù)據(jù),持續(xù)時(shí)間為10天。另外,為了說(shuō)明算法的使用效果,把算法的控制結(jié)果和這一個(gè)家庭的數(shù)據(jù)進(jìn)行對(duì)比,結(jié)果如圖8所示。
通過(guò)測(cè)試結(jié)果表發(fā)現(xiàn),前三天是導(dǎo)入期,故TF算法具有最大工作時(shí)間,其控制的熱水器是全天24小時(shí)工作,沒(méi)有收斂,從第四天開(kāi)始收斂。其中有兩個(gè)參數(shù)需要統(tǒng)計(jì),一個(gè)是命中率為93.9%,這個(gè)參數(shù)直接影響到使用者的體驗(yàn),命中率越高,則用戶(hù)越滿(mǎn)意。非命中的格子在測(cè)試結(jié)果圖8中已經(jīng)被標(biāo)記出來(lái),非命中率為6.1%。
從節(jié)能省電的角度來(lái)評(píng)價(jià)算法,則需要統(tǒng)計(jì)無(wú)效控制,去掉前三天的情況,無(wú)效控制率為36.7%。單純從節(jié)能省電的角度來(lái)評(píng)價(jià)算法,這個(gè)參數(shù)越低,則電能利用率越高。但是,只有在命中率滿(mǎn)足一定要求下,提升這個(gè)指標(biāo)才有意義。
由于學(xué)術(shù)界對(duì)智能家居智能算法的研究很少,故沒(méi)有辦法通過(guò)對(duì)比數(shù)據(jù)來(lái)證明算法性能,但可通過(guò)統(tǒng)計(jì)并對(duì)比使用TF控制算法前后的用電量來(lái)測(cè)試。表2分別統(tǒng)計(jì)了TF控制算法運(yùn)行不同時(shí)間與平時(shí)的用電量比率。
5 結(jié)論
本文從智能家居的智能控制的實(shí)際問(wèn)題出發(fā),分析了智能家居對(duì)智能算法的要求,建立了智能表達(dá)模型。通過(guò)實(shí)際測(cè)試TF算法,驗(yàn)證了該控制算法具有很好的智能性和健壯性,并具備很強(qiáng)的節(jié)能省電功能,可以滿(mǎn)足智能控制的要求并被實(shí)踐推廣。
參考文獻(xiàn)
[1] HU Q,LI F.Hardware design of smart home energy management system with dynamic price response[J].Smart Grid IEEE Transactions on,2013,4(4):1878-1887.
[2] PANNA R,THESRUMLUK R,CHANTRAPORNCHAI C.Development of energy saving smart home prototype[J].International Journal of Smart Home,2013,7(1):1-6.
[3] 馬憲民,楊君銳.人工智能的原理與方法[M].西安:西北工業(yè)大學(xué)出版社,2002:9-28.
[4] MITCHELL T M.機(jī)器學(xué)習(xí)[M].北京:機(jī)械學(xué)習(xí)出版社,2008:1-20.
[5] ROBLES R J,KIM T H.Applications systems and methods in smart home technology:a review[J].International Journal of Advance Science and Technology,2010,15(3):37-47.
[6] HAN D M,LIM J H.Design and implementation of smart home energy management systems based on zigbee[J].IEEE Transactions on Consumer Electronics,2010,56(3):1417-1425.
[7] ZHOU X,ZHANG C S,ZHANG X W,et al.nRF905-based smart home system design[J].Shanxi Electronic Technology,2012,3(4):38-42.
[8] LIAO G H,ZHU J B.Smart home system network architecture and implementation[M].Springer Berlin Heidelberg,Information and Management Engineering,2011:498-503.