亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于智能家居的規(guī)則沖突避免機制

        2021-03-15 06:59:23常瑩朱慶華
        電腦知識與技術(shù) 2021年1期
        關(guān)鍵詞:沖突檢測智能家居

        ?,摗≈鞈c華

        摘要:將規(guī)則系統(tǒng)引入智能家居平臺很好地解決了將控制邏輯與程序代碼分離的問題,用戶可以根據(jù)需求方便的添加修改規(guī)則。但是隨著智能家居系統(tǒng)的不斷擴大,系統(tǒng)設(shè)備的增多以及帶來的用戶需求的日益復(fù)雜,規(guī)則系統(tǒng)也變得更加繁雜,不同規(guī)則之間可能發(fā)生沖突。本文介紹了智能家居系統(tǒng)中的核心部分——規(guī)則系統(tǒng),研究了規(guī)則引擎的工作方式,揭示了規(guī)則沖突問題的重要性。對智能家居中的規(guī)則沖突問題進行了研究分析,并提出了避免規(guī)則沖突問題的方法。

        關(guān)鍵詞:智能家居;規(guī)則沖突;沖突檢測

        中圖分類號:G642? ? ? ? 文獻標識碼:A

        文章編號:1009-3044(2021)01-0199-03

        1規(guī)則系統(tǒng)

        在智能家居系統(tǒng)中,規(guī)則系統(tǒng)是一個核心模塊,用戶是通過制定規(guī)則來享受系統(tǒng)帶來的便利,對于系統(tǒng)中規(guī)則的存儲,規(guī)則的分解、匹配,規(guī)則間沖突的避免和檢測以及規(guī)則的執(zhí)行都是通過規(guī)則系統(tǒng)來完成的。規(guī)則系統(tǒng)在本文提及的智能家居結(jié)構(gòu)中位于業(yè)務(wù)層,承上啟下,發(fā)揮著非常重要的作用。規(guī)則系統(tǒng)包括規(guī)則存儲模塊,規(guī)則引擎模塊和沖突檢測模塊三個部分。規(guī)則存儲模塊即規(guī)則庫,可以用來匹配以及規(guī)則展示。規(guī)則引擎對規(guī)則庫和事件庫進行匹配,在匹配前需要規(guī)則沖突檢測模塊對規(guī)則庫進行檢測,如果有沖突,則需要修改規(guī)則以避免規(guī)則沖突帶來的問題,可見規(guī)則沖突檢測對系統(tǒng)的重要性。如果匹配成功,則觸發(fā)規(guī)則執(zhí)行模塊去執(zhí)行動作部分。

        1.1 規(guī)則引擎技術(shù)

        規(guī)則引擎起源于基于規(guī)則的專家系統(tǒng),它是在推理引擎的基礎(chǔ)上發(fā)展而來的,是一種嵌入在程序內(nèi)的組件[1]。專家系統(tǒng)實際上是一個計算機程序,只是它包含著特定領(lǐng)域大量的知識和經(jīng)驗,通過推理可以得到類似專家級別的效果。

        規(guī)則引擎一般包括工作內(nèi)存、匹配器、規(guī)則集容器和執(zhí)行器幾個部分,其結(jié)構(gòu)如圖所示。(1)規(guī)則集容器連接著存儲規(guī)則的數(shù)據(jù)庫,用于將規(guī)則數(shù)據(jù)庫中的規(guī)則取出來以待匹配,是匹配前的規(guī)則緩存模塊。(2)工作內(nèi)存則相當于一個事件庫,其中存放著當前的環(huán)境參數(shù),設(shè)備狀態(tài)等事件信息。(3)匹配器將規(guī)則集容器和工作內(nèi)存連接起來,分別對兩者中的規(guī)則和事件進行匹配,若匹配成功,則可以執(zhí)行該規(guī)則。(4)執(zhí)行器則存儲著匹配成功的規(guī)則,并且系統(tǒng)會去按一定順序執(zhí)行這個規(guī)則的動作部分。

        規(guī)則引擎的工作流程如下所示:

        1)調(diào)用規(guī)則沖突檢測模塊對規(guī)則數(shù)據(jù)庫中的規(guī)則進行沖突檢測,如果沖突,則將沖突規(guī)則返回修改;

        2)從規(guī)則庫中取出需要匹配的規(guī)則放到規(guī)則集容器,并轉(zhuǎn)化成一定的形式以便匹配;

        3)更新工作內(nèi)存中的數(shù)據(jù),即更新事件庫;

        4)匹配器對容器中規(guī)則和工作內(nèi)存中的事件進行匹配,并將匹配成功的規(guī)則加入執(zhí)行器;

        5)執(zhí)行器按照某種預(yù)定順序去執(zhí)行匹配成功規(guī)則的動作。

        規(guī)則引擎適合比較復(fù)雜的而且沒有明確清晰的解決方案的場景,對于需要動態(tài)更新,基于一定數(shù)據(jù)量能夠很快做出決策的場景也非常適用。目前常見的商業(yè)引擎有ILOG的JRules和Jess,商業(yè)引擎做得比較成熟好用,穩(wěn)定性高,但缺點是其價格非常昂貴。作為一個商業(yè)引擎,Jess并不是開源的,但是好在對于學(xué)術(shù)研究用途是免費提供的,只有商業(yè)用途時才需要付費,因此基于Jess的研究項目非常多。而Drools則是目前最活躍的開源引擎。

        1.2 Rete算法

        在規(guī)則引擎中,規(guī)則匹配模塊尤為重要,其匹配質(zhì)量和效率直接影響著規(guī)則引擎的好壞。常用模匹配算法有Rete,Leaps,Treat等。目前許多規(guī)則引擎的匹配算法都是基于1982年Forgy提出的RETE算法改進而成的[2]。

        Rete算法是一種高效的前向鏈型匹配算法,它是基于時間冗余性和結(jié)構(gòu)相似性這兩個基本的假設(shè)。(1)時間冗余性,即在每個執(zhí)行周期,往往只有一小部分的事實發(fā)生了變化,如果每次對所有的事實重新匹配,效率非常低下,因此可以記錄下已經(jīng)匹配過得事實,然后下次匹配只對變化的事實進行匹配。(2)結(jié)構(gòu)相似性,是指許多規(guī)則之間往往具有比較相似的模式和模式組。

        在產(chǎn)生式系統(tǒng)(productionsystem)中,被處理的數(shù)據(jù)稱為工作內(nèi)存(workingmemory),一條產(chǎn)生式規(guī)則分為兩個部分前提(LHS)和結(jié)論(RHS),進行匹配的主要流程可以分為:

        (1)匹配找出符合條件部分的workingmemory集合;

        (2)然后選擇一個條件被滿足的規(guī)則;

        (3)執(zhí)行該規(guī)則的動作部分;

        (4)返回(1);

        Rete算法主要是通過構(gòu)建一個匹配網(wǎng)絡(luò)來提升匹配步驟的效率,該匹配網(wǎng)絡(luò)分為aloha網(wǎng)絡(luò)和beta網(wǎng)絡(luò)兩個部分進行匹配。Rete算法的核心思路是將在過去匹配過程中的全部信息保存下來,用于再次匹配時的篩選,以便提高匹配效率。在不斷循環(huán)匹配中,通過記住已經(jīng)匹配過的事實,然后只去計算新刪除或新添加的事實所引發(fā)的變化,僅通過變化的事實去匹配其對應(yīng)的規(guī)則,因為每次事實的變化相對于規(guī)則來說是少量,因此這種從事實去匹配規(guī)則的演繹推理能有效降低計算量,提升匹配效率。但隨之而來的問題就是需要占用大量的內(nèi)存資源,運行成本增加。

        2規(guī)則沖突類型分析

        所謂規(guī)則,就相當于一條完整的控制指令?;谖锫?lián)網(wǎng)的智能家居傳感網(wǎng)絡(luò)可以從當前環(huán)境狀態(tài)下獲取相關(guān)環(huán)境狀態(tài)參數(shù)以及設(shè)備狀態(tài)參數(shù),如果滿足用戶設(shè)定的觸發(fā)條件,控制系統(tǒng)便控制設(shè)備對當前環(huán)境或者設(shè)備狀態(tài)進行改變。規(guī)則可以分為條件(Condition)部分和動作(Action)部分。即IF條件部分滿足,THEN執(zhí)行動作部分的相應(yīng)動作。

        本文可以將規(guī)則抽象成是由用戶(User),觸發(fā)器(Triggers)和執(zhí)行器(Actuators),環(huán)境實體(Environments)四個部分組成[3]。其中用戶中包括用戶ID以及用戶權(quán)限,觸發(fā)器中包括條件中涉及的環(huán)境實體的ID,觸發(fā)條件,以及該觸發(fā)條件優(yōu)先級。環(huán)境實體中包括環(huán)境實體ID,以及它前狀態(tài)和后狀態(tài)。執(zhí)行器中包括執(zhí)行動作中涉及環(huán)境實體的ID以及動作(Action)。通過對上述規(guī)則模型分析,可以發(fā)現(xiàn)規(guī)則之間可能會有相似觸發(fā)條件,相似執(zhí)行動作,相反執(zhí)行動作等關(guān)系,進一步總結(jié)這些關(guān)系得出了下述幾種規(guī)則沖突類型:

        1)執(zhí)行動作相反沖突。執(zhí)行動作相反沖突即當前狀態(tài)下,兩條規(guī)則的條件部分都得到滿足,并且兩規(guī)則優(yōu)先級相同,即兩條規(guī)則同時被觸發(fā)時,如果兩條規(guī)則的執(zhí)行器是對相同環(huán)境實體采取相反的動作,即發(fā)生了執(zhí)行動作相反沖突。例如下面兩條規(guī)則:

        RA:當溫度大于28℃時,則打開空調(diào);

        RB:當溫度大于28℃時,則關(guān)閉空調(diào)。

        2)影子沖突。影子沖突即兩條規(guī)則的觸發(fā)條件部分有相互包含的關(guān)系,而且兩規(guī)則的執(zhí)行器對同一環(huán)境實體采取了相同的操作。比如:

        RA:如果室內(nèi)PM2.5濃度>35mg/m?,則打開空氣凈化器;

        RB:如果室內(nèi)PM2.5濃度>45mg/m?,則打開空氣凈化器。

        如果當前室內(nèi)的PM2.5是50mg/m?,兩條規(guī)則皆符合。但考慮當前室內(nèi)PM2.5濃度是40mg/m?時,顯然未滿足RB的觸發(fā)條件,但滿足RA要打開空氣凈化器的條件,顯然這兩條規(guī)則之間是沖突的。

        3)依賴沖突。依賴沖突是指RA的觸發(fā)條件恰好是RB執(zhí)行后的狀態(tài),而RB的觸發(fā)條件也恰好是RA執(zhí)行后的狀態(tài),兩條規(guī)則的觸發(fā)條件和對方的執(zhí)行后狀態(tài)互為依賴型。例如下面兩條規(guī)則:

        RA:如果打開照明燈光,則關(guān)閉窗簾;

        RB:如果關(guān)閉了窗簾,則打開照明燈光。

        上述兩條規(guī)則如果單獨存在,則可以正常運行,但是如果兩條規(guī)則同時存在,一旦一條規(guī)則被觸發(fā),比如打開了燈光,那么將會關(guān)閉窗簾,相應(yīng)地B規(guī)則也會被觸發(fā),這樣兩條規(guī)則會不斷進行循環(huán)執(zhí)行,占用系統(tǒng)資源,影響系統(tǒng)穩(wěn)定性。在依賴沖突里,上述兩條規(guī)則間的依賴是一種直接依賴,還有可能就是有三條或三條以上的規(guī)則之間存在著間接依賴關(guān)系。

        3規(guī)則模型

        本文是基于本體和SWRL規(guī)則語言對智能家居規(guī)則沖突問題進行研究的,因此將使用SWRL建立規(guī)則。

        SWRL是一種語義網(wǎng)規(guī)則表示語言,由W3C在2004年提出。SWRL結(jié)合了本體語言O(shè)WLDL,OWLLite與規(guī)則標記語言SWRLML[4]。SWRL允許用戶編寫基于OWL概念表示的規(guī)則,而且它能夠提供比OWL語言更加強大的推理能力。在語義上,SWRL是建立在與OWL相同的描述邏輯基礎(chǔ)上,并在執(zhí)行推理時提供類似的強形式保證。

        在形式上,一條SWRL規(guī)則分為兩個部分,一個前提(antecedent)與一個結(jié)論(consequent)。Antecedent部分在owl文件中使用Body標簽,consequent在owl文件中使用Head標簽。即SWRL規(guī)則可以抽象為如下所示的形式:

        Antecedent—>Consequent。

        其中Body和Head部分都可以包含一個或者多個原子(atoms)。所以也可以將規(guī)則表示成:

        atom^atom^atom^…—>atom^atom^…

        它所表示的意思是只要前提部分的所有atoms都為真,就可以得到結(jié)論部分所有的atoms也為真。一個atom是形如:

        P(arg1,arg2,arg3…argn)

        其中P是一個謂詞符號,其中arg1, arg2,…,argn是表達式的項或參數(shù)。在SWRL中,支持五種類型的謂詞:OWL類、OWL屬性、數(shù)據(jù)類型、數(shù)據(jù)范圍和內(nèi)置函數(shù)。參數(shù)可以是OWL個體或數(shù)據(jù)值或引用它們的變量。SWRL中的所有變量都被視為普遍的量化,其范圍僅限于給定的規(guī)則。

        在SWRL中約定了一種規(guī)范,用戶是按照這些規(guī)范去方便的制定規(guī)則的。它主要分為四個部分:Imp、Atom、Variable和Building。Imp包括head和body,head表示的是這條規(guī)則的結(jié)果部分,body則是這個結(jié)果需要滿足的所有條件的交,在head和body中包含著的一個個實例則是由原子和變量(variable)組成的。在Atom中包含了幾種限制表達式,其主要可分為以下幾類:C(x),P(x,y), sameAs(x,y) 以及differentFrom(x,y)。C表示的是OWL中的類,P是OWL屬性,括號中的x,y可以是變量,可以是owl個體(owlindividual),也可以是owl數(shù)據(jù)值。SameAs表示x和y相等,diffrentfrom表示x和y不相等。Building是SWRL內(nèi)置的模塊化元件,在編寫規(guī)則時可以直接使用。

        SWRL中提供了七種atoms:ClassAtoms、IndividualPropertyatoms、DataValuedPropertyatoms、DifferentIndividualsatoms、SameIndividualatoms、Built-inatoms、DataRangeatoms。下面列出一條簡單的SWRL規(guī)則實例:

        hasParent(?x , ?y)^hasBrother(?y , ?z)->hasUncle(?x,?z)

        這條規(guī)則是說如果y是x的父親并且z是y的兄弟,那么我們便可以得到z是x的叔叔。根據(jù)上述其中不同的atoms以及它們之間自由的組合,我們便可以使用SWRL構(gòu)建強大的規(guī)則庫,結(jié)合本體知識庫和SWRL,便可以使用推理機進行推理,挖掘中知識庫中隱藏的大量信息。

        如果一條規(guī)則條件部分包含了“∧”和“∨”這樣的邏輯運算符,那么規(guī)則往往可以通過這種邏輯組合表示的特別復(fù)雜。復(fù)雜的規(guī)則形式會使沖突檢測變得困難,為解決這一問題,我們可以使用析取范式來將復(fù)雜的規(guī)則轉(zhuǎn)化為基本的簡單規(guī)則。比如形如:f:A1∧A2∧(A3∨(A4∧A5))->B1∧B2的一條規(guī)則,通過拆分化簡可以將其分解為下述兩條簡單規(guī)則::A1∧A2∧A3->B1∧B2與A1∧A2∧A4∧A5->B1∧B2,這樣處理后會方便進行沖突檢測。

        4一種基于智能家居的規(guī)則沖突避免機制

        基于智能家居系統(tǒng)中規(guī)則沖突的常見性以及帶來的不良后果,必須有一套規(guī)則沖突避免和檢測機制。在規(guī)則系統(tǒng)中,如果對所有的規(guī)則都進行規(guī)則沖突檢測的話,一是如果規(guī)則庫非常龐大,那么所帶來的時間開銷和資源開銷也會大為增加。二是其實沒有必要進行全部檢測,在日常場景中,我們對各種家居設(shè)備操作的頻率以及它們的重要性都有非常大的差異,因此可以在檢測之前采用一定方法進行規(guī)則沖突的避免??梢曰趦?yōu)先級或者是“先進后出”的方法去執(zhí)行規(guī)則?!跋冗M后出”即一種類似棧機制的一種方法,即后添加的規(guī)則先被激活,先添加的后被激活,由于這種方式并不適合多任務(wù)并發(fā)的智能家居場景,因此暫不做討論。下面將提出基于場景優(yōu)先級和基于用戶優(yōu)先級的規(guī)則沖突避免方法。

        4.1 基于場景優(yōu)先級

        在智能家居系統(tǒng)中,用戶可以將所需要執(zhí)行的任務(wù)劃分為多個場景類型,每一個任務(wù)就對應(yīng)著一條規(guī)則,而為每一條規(guī)則設(shè)定一個場景類型。比如現(xiàn)在有如下兩條規(guī)則,RA:當檢測到室內(nèi)煙霧濃度高時,就打開窗戶并打開煙霧報警;RB:當打開音響時,關(guān)閉窗戶。那么如果在煙霧濃度過高時,恰好打開了音響,這時兩條規(guī)則便發(fā)生了沖突。但明顯RA涉及安全,更為重要,需要優(yōu)先執(zhí)行,因此我們可以將這兩條規(guī)則加入不同的場景類型中,并按照類型的重要性為場景類型設(shè)置不同的優(yōu)先級,正好避免了這種沖突的發(fā)生[5]。

        我們可以將場景劃分為以下四種場景類型:

        1)安全場景。R1:如果在夜間,窗戶或者門被打開,則打開燈光,打開報警器;

        2)娛樂場景。R2:如果打開家庭影院,則關(guān)閉窗簾,關(guān)閉燈光。

        3)能量場景。R3:當家用電器總功率超過2000W時且溫度低于28℃時,則關(guān)閉空調(diào)。

        4)環(huán)境場景。如果有人在家且室內(nèi)PM2.5濃度>35mg/m?,則打開空氣凈化器。

        根據(jù)不同的需求,用戶可以靈活的設(shè)定各場景的優(yōu)先級。例如:當家里有成人且孩子在家時,我們可以把娛樂場景設(shè)置到最高優(yōu)先級,安全場景次之。當家中有老人時我們又可將環(huán)境場景設(shè)置到最高優(yōu)先級,為老人的健康提供一定的服務(wù)。

        對于不同場景類型的規(guī)則之間的沖突使用優(yōu)先級便可以避免。對于同一場景類型中規(guī)則之間的沖突,我們可以使用沖突檢測算法進行檢測,此時由于進行的場景劃分,沖突檢測時需要遍歷的規(guī)則數(shù)也將減少,效率也會提高。

        4.2 基于用戶優(yōu)先級

        此外,還可以進行基于用戶優(yōu)先級的沖突避免。在家庭中往往有多個人同時生活,相應(yīng)的也將會有多個用戶可以制定規(guī)則。由于不同用戶需求不同,因此不同用戶之間制定的規(guī)則具有隨機性,很可能會發(fā)生沖突。如果現(xiàn)在系統(tǒng)中存在兩個用戶,A用戶制定了一條R1:在早晨七點到八點之間打開窗戶進行通風(fēng)。B用戶制定了一條R2:在晚上10點后到早晨10點前,關(guān)閉窗戶,以便睡眠不被噪聲干擾。那么在這兩段時間重合的區(qū)域,系統(tǒng)將會發(fā)生規(guī)則沖突。為解決上述問題,可以采用類似設(shè)置用戶權(quán)限的方法,為A,B用戶設(shè)定不同的優(yōu)先級,當不同用戶的規(guī)則發(fā)生沖突時,系統(tǒng)將選擇執(zhí)行優(yōu)先級高的用戶的規(guī)則,從而可以避免這種類型的沖突發(fā)生。

        可見,上述基于優(yōu)先級的規(guī)則沖突避免機制很好地將各用戶,各需求場景之間的沖突進行了避免,可以使得不同用戶不同場景規(guī)則的添加變得更為豐富靈活同時又不影響規(guī)則的執(zhí)行,也降低了沖突檢測模塊的復(fù)雜度。其主要分為兩個階段,首先是場景任務(wù)的添加階段,此時涉及了同一類型場景的沖突檢測,如果有沖突,則提醒用戶進行規(guī)則修改,如果沒有沖突,則進行場景任務(wù)執(zhí)行階段,此階段便可以基于預(yù)設(shè)的場景優(yōu)先級以及用戶優(yōu)先級,決定執(zhí)行哪些規(guī)則。

        參考文獻:

        [1] 劉偉. Java規(guī)則引擎——Drools的介紹及應(yīng)用[J]. 網(wǎng)絡(luò)新媒體技術(shù), 2005,26(6):717-721.

        [2] Forgy CL. Rete: a fast algorithm for the many pattern/many object pattern match problem[M]. Expert systems. IEEE Computer Society Press, 1991:547-559.

        [3] SunY, WangX, LuoH, etal. Conflict Detection Scheme Based on Formal Rule Model for Smart Building Systems[J]. IEEE Transactionson Human-Machine Systems, 2015, 45(2):215-227.

        [4] 金保華, 林青, 付中舉, 等. 基于SWRL的應(yīng)急案例庫的知識表示及推理方法研究[J]. 科學(xué)技術(shù)與工程, 2012, 12(33):9049-9055.

        [5] 潘平安. 基于Zigbee和Android的智能家居系統(tǒng)的研究與實現(xiàn)[D].華東交通大學(xué).2017

        【通聯(lián)編輯:王力】

        猜你喜歡
        沖突檢測智能家居
        BIM技術(shù)在建筑裝飾工程項目管理中的應(yīng)用研究
        北方建筑(2024年2期)2024-05-25 00:00:00
        基于PLC的智能家居控制系統(tǒng)研究
        電子制作(2019年20期)2019-12-04 03:51:14
        土地覆被與“兩規(guī)合一”沖突檢測的實證研究
        地鐵運營施工調(diào)度管理系統(tǒng)的應(yīng)用與研發(fā)
        獨立學(xué)院補考安排沖突檢測系統(tǒng)的設(shè)計與實現(xiàn)
        智能家居發(fā)展或?qū)崿F(xiàn)彎道超車
        計算機應(yīng)用安全策略本體研究
        計劃協(xié)同工作中的沖突檢測與消除算法研究
        關(guān)于智能家居真正需求的探討
        智能家居的發(fā)展趨勢分析
        移動通信(2015年17期)2015-08-24 08:13:20
        国产99re在线观看只有精品| 小妖精又紧又湿高潮h视频69| 国产午夜福利在线观看红一片| 亚洲欧美日韩综合久久久| 久久精品成人免费观看97| 国产一区精品二区三区四区| 亚洲精品无码不卡| 日韩制服国产精品一区| 97精品国产91久久久久久久| 国产精品天堂在线观看| 亚洲av片无码久久五月| 无码国产精品一区二区免费模式| 亚洲片一区二区三区| av免费在线观看网站大全| 人妻少妇偷人精品免费看| 夜夜躁狠狠躁2021| 青青国产成人久久91| 亚洲精品中文字幕熟女| 国产成人无码a区在线观看导航| 久久人人玩人妻潮喷内射人人| 亚洲欧美日韩一区二区在线观看| 色综合久久人妻精品日韩| 人妻一区二区三区免费看| 免费的小黄片在线观看视频| 欧美人与动人物牲交免费观看久久| 亚洲人免费| 高清亚洲成av人片乱码色午夜| 女同精品一区二区久久| 777午夜精品免费观看| 亚洲成a人片在线播放观看国产| 麻豆国产精品伦理视频| 中文字幕人乱码中文字幕| 3d动漫精品啪啪一区二区下载| 免费大学生国产在线观看p| 亚洲一区二区三区激情在线观看| 亚洲一区二区三区av无码| 91免费永久国产在线观看| 色se在线中文字幕视频| av无码精品一区二区三区| 亚洲国产综合精品 在线 一区 | 久久久熟女一区二区三区|