欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種提高規(guī)則引擎運行效率的方法

文檔序號:9810267閱讀:505來源:國知局
一種提高規(guī)則引擎運行效率的方法
【技術領域】
[0001] 本發(fā)明涉及人工智能領域中的規(guī)則引擎技術,特別涉及一種提高規(guī)則引擎運行效 率的方法。
【背景技術】
[0002] 規(guī)則引擎由推理引擎發(fā)展而來,是一種嵌入在應用程序中的組件,實現(xiàn)了將業(yè)務 決策從應用程序代碼中分離出來,并使用預定義的語義模塊編寫業(yè)務決策。由于規(guī)則引擎 是軟件組件,所以只有開發(fā)人員才能通過程序接口的方式來使用和控制它,通常情況下,開 發(fā)人員在程序中使用規(guī)則引擎的五個步驟為:
[0003] 1)創(chuàng)建規(guī)則引擎對象;
[0004] 2)向引擎中加載規(guī)則集或更換規(guī)則集;
[0005] 3)向引擎提交需被規(guī)則集處理的事實集;
[0006] 4)命令引擎執(zhí)行;
[0007] 5)導出引擎執(zhí)行結果,從引擎中撤出處理過的數(shù)據(jù)。
[0008] 規(guī)則引擎常應用于業(yè)務規(guī)則經(jīng)常發(fā)生變化的系統(tǒng)。規(guī)則引擎可以將用戶的業(yè)務規(guī) 則和應用系統(tǒng)的開發(fā)相分離,使業(yè)務規(guī)則的變更不會影響到應用系統(tǒng)的開發(fā),而且用戶可 以基于規(guī)則引擎靈活定制自己的業(yè)務規(guī)則。
[0009] 規(guī)則引擎的推理步驟如下:
[0010] 1)將事實集輸入至工作內存;
[0011] 2)將規(guī)則集中的規(guī)則和事實集中的事實比較;
[0012] 3)如果執(zhí)行規(guī)則存在沖突,即同時激活了多個規(guī)則,將沖突的規(guī)則放入沖突集 合;
[0013] 4)解決沖突,將激活的規(guī)則按順序放入;
[0014] 5)執(zhí)行規(guī)則,重復,直至執(zhí)行完所有的規(guī)則。
[0015] 任何一個規(guī)則引擎都需要很好地解決規(guī)則的推理機制和規(guī)則條件匹配的效率問 題,當引擎執(zhí)行時,會根據(jù)執(zhí)行隊列中的優(yōu)先順序逐條執(zhí)行規(guī)則執(zhí)行實例,由于規(guī)則的執(zhí)行 部分可能會改變工作區(qū)的數(shù)據(jù)對象,從而會使隊列中的某些規(guī)則執(zhí)行實例因為條件改變而 失效,必須從隊列中撤銷,也可能會激活原來不滿足條件的規(guī)則,生成新的規(guī)則執(zhí)行實例進 入隊列;于是就產(chǎn)生了一種"動態(tài)"的規(guī)則執(zhí)行鏈,形成規(guī)則的推理機制。
[0016] 引擎需要迅速測試工作區(qū)中的數(shù)據(jù)對象,從加載的規(guī)則集中發(fā)現(xiàn)符合條件的規(guī) 貝1J,生成規(guī)則執(zhí)行條例。規(guī)則條件匹配的效率決定了規(guī)則引擎的運行效率,決定了規(guī)則引擎 的性能。
[0017] 目前已有很多方法用于提高規(guī)則引擎的運行效率。1999年,美國范德堡大學 John Heusinkveld等人提出了用html來定義規(guī)則的方法;2008年,韓國信息與通信大學 Changbai Choi等人提出了在移動設備上通過限制Rete算法匹配過程中的規(guī)則集和事實 集的大小的方法來提高規(guī)則引擎的執(zhí)行效率;2009年,武漢大學Zhang Ruijun等人提出 了將用xml文件表示的規(guī)則集轉化為and/or tree,再轉換為O-lmatrix的方法,進一步提 高規(guī)則引擎的執(zhí)行效率;2010年,北京郵電大學的重點智能通信軟件實驗室Ding Xiao等 人提出了通過優(yōu)化rete算法來提高規(guī)則引擎的的執(zhí)行效率的方法;2010年,天津大學計 算機系Gang Zhang等人提出了預先編譯規(guī)則文件、詳述規(guī)則文件內容、子功能包劃分三種 提高規(guī)則引擎執(zhí)行效率的方法;2012年,美國托雷多大學Soma Shekara Sreenadh Reddy Depuru等人提出了數(shù)據(jù)分類的思想:不同類型的用戶所進行匹配的規(guī)則不一樣,由此減少 了規(guī)則集的數(shù)量,提高運行效率。
[0018] 上述這些研究方法在不同程度上提高了規(guī)則引擎的運行效率,但是這些研究方法 大多適用于運行在PC機或服務器上的規(guī)則引擎,而對于輕量化設備上規(guī)則引擎不適用,主 要原因是輕量化設備的計算能力和存儲能力有限,直接應用上述這些研究方法會有一定的 局限性。在這些研究方法中,Changbai Choi等人提出的限制匹配過程中規(guī)則集和事實集 大小的方法,雖然這個方法能夠在輕量化的移動設備上實現(xiàn),但是這個方法在執(zhí)行過程中 存在下述問題:每次進行規(guī)則匹配時,由于無法準確預測哪些規(guī)則能夠被觸發(fā),哪些規(guī)則不 能夠被觸發(fā),也就不能準確找出每次匹配時挑選哪些規(guī)則進行匹配。因此,如果規(guī)則挑選不 精準的話,會造成本次匹配的執(zhí)行結果不精準,從而影響規(guī)則引擎的運行效率。

【發(fā)明內容】

[0019] 本發(fā)明的目的在于克服目前應用在輕量化設備上的規(guī)則引擎存在的運行效率低 的缺點,在現(xiàn)有匹配算法的基礎上,提出了一種為每條規(guī)則添加"關聯(lián)事實"屬性的方法,此 方法可以提高規(guī)則引擎的運行效率。
[0020] 為達到上述目的,本發(fā)明提供了一種提高規(guī)則引擎運行效率的方法,所述方法包 括:
[0021] 步驟101)建立事實集;所述事實集是若干個事實的集合;
[0022] 步驟102)建立規(guī)則集;所述規(guī)則集是若干條規(guī)則的集合;每條規(guī)則包含條件部分 和動作部分;
[0023] 步驟103)對規(guī)則集中的每條規(guī)則增加其對應的"關聯(lián)事實"屬性;
[0024] 步驟104)基于匹配算法將事實集與規(guī)則集進行匹配,建立匹配規(guī)則集;
[0025] 步驟105)將匹配規(guī)則集中的規(guī)則按照規(guī)則優(yōu)先級確定規(guī)則的執(zhí)行順序;
[0026] 步驟106)按照規(guī)則的執(zhí)行順序執(zhí)行規(guī)則的動作部分,并用執(zhí)行后的結果更新事 實集。
[0027] 上述技術方案中,步驟103)進一步包括:
[0028] 所述規(guī)則集中的每條規(guī)則的條件部分由若干個條件元素組成;所述條件元素為一 個事實變量的數(shù)量關系,由"事實變量+關系描述符+具體數(shù)值或狀態(tài)值"的形式表示;所 述條件元素的"關聯(lián)事實"為該條件元素對應的"事實變量",對應于規(guī)則集中的每條規(guī)則的 "關聯(lián)事實"屬性的值是若干個條件元素關聯(lián)的"事實變量"的集合。
[0029] 上述技術方案中,所述步驟104)中匹配算法為古典Leaps算法或Rete算法。
[0030] 上述技術方案中,基于古典Leaps算法建立匹配規(guī)則集的具體步驟為:
[0031] 步驟104-1)新建棧,存儲所述事實集的若干個事實;
[0032] 步驟104-2)新建隊列,存儲所述規(guī)則集的若干個規(guī)則;
[0033] 步驟104-3)彈出棧頂元素,獲取一個事實F ;
[0034] 步驟104-4)從隊列中取出一條規(guī)則R ;
[0035] 步驟104-5)判斷所述事實F與所述規(guī)則R是否關聯(lián),如果判斷結果是肯定的,轉 入步驟104-6);否則,轉入步驟104-8);
[0036] 步驟104-6)判斷所述事實F是否使所述規(guī)則R的條件部分的結果為真,如果判斷 結果是肯定的,轉入步驟104-7);否則,轉入步驟104-8);
[0037] 步驟104-7)將所述規(guī)則R放入匹配規(guī)則集;
[0038] 步驟104-8)判斷隊列是否為空,如果判斷結果是肯定的,轉入步驟104-9);否則, 轉入步驟104-4);
[0039] 步驟104-9)判斷棧是否為空,如果判斷結果是肯定的,轉入步驟105);否則,轉入 步驟 104-3)。
[0040] 上述技術方案中,在所述步驟104-5)中,判斷所述事實F與所述規(guī)則R是否關聯(lián) 進一步包括:
[0041] 所述規(guī)則的"關聯(lián)事實"屬性的值是若干個條件元素關聯(lián)的"事實變量"的集合, 將所述事實F的每個事實變量與所述規(guī)則R的"事實變量"的集合進行比較,若事實F存在 一個事實變量屬于規(guī)則R的"事實變量"的集合,則認為該事實F與該規(guī)則R關聯(lián);否則,認 為該事實F與該規(guī)則R不關聯(lián)。
[0042] 本發(fā)明的優(yōu)點在于:
[0043] 1、本發(fā)明的提高規(guī)則引擎運行效率的方法,能夠提高規(guī)則引擎推理中事實集和規(guī) 則集的匹配命中率,減小時間損耗,有效提高規(guī)則引擎的運行效率。
[0044] 2、本發(fā)明的提高規(guī)則引擎運行效率的方法適用于輕量化設備上的規(guī)則引擎,特別 適用于輕量級的物聯(lián)網(wǎng)網(wǎng)關上的規(guī)則引擎,規(guī)則引擎能夠運行于物聯(lián)網(wǎng)網(wǎng)關上,能夠方便 用戶根據(jù)自己實際場景的需求來靈活定制業(yè)務規(guī)則,解決了當前的物聯(lián)網(wǎng)網(wǎng)關只能適用于 特定應用場景的問題。
【附圖說明】
[0045] 圖1是本發(fā)明的提高規(guī)則引擎運行效率的方法的流程圖;
[0046] 圖2是本發(fā)明的基于古典Leaps算法建立匹配規(guī)則集的流程圖;
[0047] 圖3是本發(fā)明的方法與現(xiàn)有方法的規(guī)則引擎的運行時間仿真對比圖。
【具體實施方式】
[0048] 與現(xiàn)有的規(guī)則引擎技術相比,本發(fā)明的方法為規(guī)則集中的每條規(guī)則添加了 "關聯(lián) 事實"屬性,在將事實集與規(guī)則集進行匹配的時候,首先將事實集中的每個事實與規(guī)則集中 的每條規(guī)則進行初步匹配,即將每個事實與每條規(guī)則的"關聯(lián)事實"
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
遂昌县| 衡南县| 北海市| 方城县| 桐乡市| 南川市| 武汉市| 普安县| 天祝| 稻城县| 郁南县| 灵川县| 新津县| 交城县| 平邑县| 浪卡子县| 松江区| 临海市| 甘孜县| 沙田区| 鄂托克旗| 宜兰市| 同德县| 巩义市| 兴安县| 新闻| 满洲里市| 手游| 绥阳县| 英山县| 苍溪县| 勃利县| 平果县| 凤凰县| 额济纳旗| 临泉县| 彰化市| 鄂托克前旗| 墨玉县| 凌云县| 那曲县|